Не удается обновить приложение: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE: Пакет *** попытался изменить пользователя *** - PullRequest
0 голосов
/ 04 января 2019

В настоящее время я работаю над приложением Android, разработанным с использованием собственных инструментов (Anroid Studio, Java, Android SDK и т. Д.), Чтобы заменить существующее приложение, уже имеющееся в Play Store и разработанное с помощью 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 голосов
/ 07 января 2019

Атрибуты android:sharedUserId и android:sharedUserLabel должны быть объявлены в разметке <manifest>, а не в <application> one ...

...