我目前正在使用本机工具(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>
有什么想法吗?
答案 0 :(得分:0)
The android:sharedUserId
and the android:sharedUserLabel
attributes have to be declared into the <manifest>
markup and not into the <application>
one...