Полностью удалить приложение на Lollipop

У меня возникла проблема с удалением приложений на Android 5.0 (Nexus 5). Я разрабатываю приложение для Android, поэтому отлаживаю/запускаю приложение прямо на своем устройстве. Для производства я экспортировал то же приложение с моим хранилищем ключей, удалил отладочный APK, который я запускал ранее, попытался установить подписанный APK и получил эту ошибку:

Существующий пакет с тем же именем и конфликтующей подписью уже установлен.

Это потому, что байт-коды все еще находятся в среде выполнения ART? Кто-нибудь знает, как это решить?

Ответы (2)

Когда вы удаляете приложение, используя обычный подход, предшествующий Lollipop (например, перетаскивание на значок «Корзина» или из « Информация о приложении » > « Удалить »), оно удаляется только для текущего пользователя . Это может быть подтверждено приложением, показывающим «Не установлено» в диспетчере стандартных приложений. Android обнаружит, что приложение все еще существует, не позволяя пользователю установить приложение с тем же именем пакета.

Это связано с гостевой учетной записью (если она активирована), когда приложение установлено, оно автоматически устанавливается для всех пользователей. Таким образом, вам также нужно удалить приложение оттуда, что может быть проблематично при повседневном использовании.

Есть несколько подходов к полному удалению приложения (в порядке практичности):

  1. (из учетной записи владельца) Перейдите в « Настройки » > « Приложения », найдите и откройте информацию о приложении. Затем откройте дополнительное меню (3 вертикальные точки) и выберите «Удалить для всех пользователей » .
  2. (из гостевой учетной записи) Деактивируйте гостевую учетную запись, если она вам не нужна (для получения дополнительной информации: Удаление учетной записи гостя по умолчанию из Android Lollipop )
  3. (с ПК) Введите adb uninstall <package>в командной строке/оболочке. Это то же самое, что и «удалить для всех пользователей».
  4. (из гостевых/других учетных записей) Найдите приложение и удалите его обычным способом.
    • Если вы не можете удалить его, попробуйте удалить учетную запись и создать новую, а затем снова найти и удалить приложение.
Как насчет приложений, у которых кнопка « Удалить » отключена? Нравятся системные приложения, которые дублируются приложениями из пакетов gapps?
@RobertKoritnik извините, это выходит за рамки этого ответа, поскольку для удаления системных приложений требуется root-доступ, например, этот вопрос .

Мне удалось удалить таким образом:

  • Сначала я попытался удалить обычным способом (используя «Настройки» -> «Приложения» -> «имя приложения» -> «Удалить»), что лишает возможности запускать его, но явно не удаляет.
  • Я запустил Google Play и посмотрел приложение.
  • Я увидел, что кнопка « Удалить » неактивна, но кнопка « Установить » активна, поэтому я нажал « Установить » . Теперь я могу запустить приложение.
  • После этого кнопка Удалить в Google Play становится активной.
  • Нажмите « Удалить» , чтобы удалить приложение.

Вуаля, пропало!

Я предполагаю, что кнопка удаления не будет видна, если приложение не будет обновлено до текущей версии в магазине игр. Если у вас нет обновленной версии приложения, которое вы пытаетесь удалить таким образом, оно покажет вам два варианта: «Открыть» или «Обновить». Вы должны сначала обновить приложение, а затем удалить его, что является дополнительным шагом, который должен предпринять пользователь, но это бесполезно, поскольку пользователь хочет избавиться от приложения.
@Firelord: 1) Да, я имею в виду, что все вышеперечисленное было запущено в приложении Google Play Store на вашем мобильном устройстве. Приложение позволяет удалять приложения, которые вы уже установили (но оно не удалит приложения, которые были предварительно загружены на ваше устройство, вздох).
@Firelord 2) Уточнение: на шаге 3 я использую приложение Google Play Store для переустановки приложения, что позволяет мне запустить его. Я возвращаюсь в Google Play Store (и снова ищу нужное приложение) для шагов 4 и 5. Надеюсь, это прояснит ситуацию.