无法更新应用程序:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE:软件包***试图更改用户***

时间:2019-01-04 13:01:34

标签: android android-manifest android-authenticator

我目前正在使用本机工具(Anroid Studio,Java,Android SDK等)开发的Android应用程序,以替换Play商店中现有的,由Xamarin开发的现有应用程序。

我正在尝试通过从Play商店安装当前版本来模拟应用程序的更新,然后在命令行adb install -r myApp.apk中安装新版本。

然后我收到此错误消息:

  

失败[INSTALL_FAILED_SHARED_USER_INCOMPATIBLE:包com.myapp.package试图更改用户com.domain.param]

根据我的研究,先前的应用在清单中声明了sharedUserId,因此我无法将其删除。因此,在新应用的清单中,我添加了以下信息:

android:sharedUserId="com.domain.param"
android:sharedUserLabel="@string/sharedUserLabel"

这些值与旧应用程序相同。但是我仍然遇到错误。

我需要在清单中添加更多信息吗?我为两个应用程序使用了相同的密钥库签名。

编辑::我还声明了一个具有相同值的AuthenticatorService

<service android:name="com.myapp.package.AuthenticatorService">
  <meta-data
    android:name="android.accounts.AccountAuthenticator"
    android:resource="@xml/authenticator"
  />

  <intent-filter>
    <action android:name="android.accounts.AccountAuthenticator" />
  </intent-filter>
</service>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

The android:sharedUserId and the android:sharedUserLabel attributes have to be declared into the <manifest> markup and not into the <application> one...