37

我正在开发将共享数据库的 Android 应用程序。为此,我android:sharedUserId在两个应用程序的清单文件中都使用了。当我在添加后尝试运行应用程序时,sharedUserId它会在控制台中显示以下错误。

[2013-03-04 19:37:32 - MainActivity] Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
[2013-03-04 19:37:32 - MainActivity] Please check logcat output for more details.
[2013-03-04 19:37:32 - MainActivity] Launch canceled!

请帮我解决这个问题。

4

11 回答 11

42

我按照以下步骤操作:

  1. 删除现有应用程序(如果已安装)
  2. 从 android 清单中删除了共享用户 ID
  3. 构建应用程序。
  4. 现在再次输入共享用户 ID
  5. 再构建应用程序 1 次
于 2013-03-26T13:11:47.190 回答
10

这意味着您的应用程序的某些内容未正确卸载。此步骤有助于从内部命令强制卸载:

  1. 使用 USB 将手机连接到 PC
  2. 从您的外壳启动:
    $ adb shell
    shell@android:/ $ su
    shell@android:/ # pm list packages | grep <part of package>
    package:com.android.providers.applications
    package:com.android.providers.calendar
    package:com.android.providers.contacts
    package:com.android.providers.downloads
    ...
    shell@android:/ # pm uninstall <package>
    shell@android:/ # exit
    shell@android:/ $ exit
    $

基本上,你登录到 android shell,成为超级用户,找到有问题的包,然后卸载它

于 2014-02-16T10:20:10.807 回答
6

就我而言,这两个应用程序使用不同的签名进行了签名。使用相同的签名解决我的问题

于 2018-02-13T16:03:58.203 回答
3

我的解决方案是选择“Build > Clean Project”菜单选项。这花了很长时间,但应用程序在完成后部署。

于 2018-11-09T21:22:49.173 回答
2

尽管您已接受答案,但我也想谈谈我遇到此错误的情况。我的项目是一个启动器,它恰好使用了一些系统授权,例如 Manifest.xml 有两个项目:

<uses-permission android:name="android.permission.STATUS_BAR" />
 or
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

和控制台注销:

Error using StatusBarManagerService - java.lang.SecurityException on android.permission.STATUS_BAR

最后,我的同事使用“平台调试密钥”给了我一个提示,我不确定这是否适合您,但对于此类问题的其他人来说是可能的。下图是我的解决方案: 来自项目结构的屏幕截图 您可能还会注意到“Flavors”和“Build Types”的“Signing Config”,您可以选择“Signing”的“Name:”。

于 2016-12-16T10:16:47.593 回答
0

就我而言,我有两种构建变体(一种特定于设备,一种通用)。

出现此错误时,我正在模拟器上运行特定于设备的构建。

于 2016-05-16T13:43:19.800 回答
0

我做了一个稍微不同的方法。

我的工作涉及使用修改后的 Android 操作系统和修改后的 adb 工具。我正在与另一个团队的另一个应用程序(app2)“共享用户”的应用程序(app1)。为了让 Android Studio 调试器正常工作,我必须按顺序执行以下步骤:

  1. 使用 Build (from Android Studio Menu) -> Generate Signed APK
  2. 使用 (app1 和 app2) 使用的密钥存储信息构建 apk (app1) 的调试版本
  3. 使用adb卸载之前的apk
  4. 使用 adb 安装签名的 debug-apk
  5. 使用 adb 在调试模式下启动应用程序
  6. 将 Android Studio 调试器连接到应用
于 2017-08-02T16:38:52.587 回答
0

我遇到了同样的问题。我尝试了一切,但不幸的是,没有什么对我有用。因为它是一个测试设备,所以毫不犹豫地恢复出厂设置。哎呀。烂也没用。Invalidate Cache/Restart最终成功了。看起来这是一个 Android Studio 3.5 错误。

谢谢。

于 2020-02-22T16:52:03.790 回答
0

我正在使用模拟器,我的解决方案是选择“AVD Manager”并从我的模拟器设备中擦除所有数据。安装该应用程序后。

于 2020-03-05T17:27:43.037 回答
0

只需从移动设备中删除现有应用程序并使用运行重新安装。

于 2020-04-12T14:12:52.633 回答
0

我的问题是通过三星安全文件夹安装了该应用程序的第二个实例!我也在那里卸载了它,我的问题就消失了。

于 2021-11-04T07:02:38.243 回答