我正在研究将共享数据库的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!
请帮我解决这个问题。
答案 0 :(得分:26)
我按照以下步骤操作:
答案 1 :(得分:3)
在我的情况下,这两个应用程序签署了不同的签名。使用相同的签名修复我的问题
答案 2 :(得分: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,成为超级用户,找到有问题的包,并将其卸载
答案 3 :(得分:1)
对我来说,解决方案是选择“构建>清理项目”菜单选项。花了很长时间,但应用程序完成后就部署了。
答案 4 :(得分:1)
我正在使用仿真器,而对我来说,解决方案是选择“ AVD管理器”并从仿真器设备中擦除所有数据。安装该应用程序之后。
答案 5 :(得分:0)
在我的情况下,我有两个构建变体(一个特定于设备,一个普通)。
当出现此错误时,我在模拟器上运行特定于设备的构建。
答案 6 :(得分:0)
虽然你已经接受了答案,但我也想谈谈我遇到这个错误的情况。我的项目是一个Launcher,恰好使用了一些系统授权,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
最后,我的同事给我提示使用&#34;平台调试密钥&#34;,我不确定这是否适合你,但对于其他人来说这个问题的可能性。 下图是我的解决方案: screenshot from project structure 您可能还会注意到“签名配置”#39; &#34; Flavors&#34;和#34;构建类型&#34;,您可以选择&#39;名称:&#39; &#34;签署&#34;。
答案 7 :(得分:0)
我做了一个稍微不同的方法。
我的工作涉及使用经过修改的Android操作系统以及修改过的adb工具。我正在开发的应用程序(app1)&#34;共享用户&#34;与另一个团队的另一个应用程序(app2)。为了让Android Studio调试器工作,我必须按顺序执行以下步骤:
答案 8 :(得分:0)
我遇到了同样的问题。我尝试了所有方法,但不幸的是,没有任何方法适合我。由于它是一种测试设备,因此可以毫不犹豫地恢复出厂设置。哎呀。很烂也没有用。 Invalidate Cache / Restart (无效的缓存/重新启动)最终成功了。看来这是Android Studio 3.5的错误。
谢谢。
答案 9 :(得分:0)
只需从移动设备中删除现有应用程序,然后使用run重新安装。