Android 102Средняя

Ошибка 102 (INSTALL_FAILED_UID_CHANGED) на Android: причины и способы исправления

Ошибка 102 возникает из-за конфликта UID при установке APK. Статья содержит проверенные методы решения: очистка установщика, ADB-команды и сброс настроек.

Обновлено 6 марта 2026 г.
10-20 мин
Низкая
FixPedia Team
Применимо к:Android 6.0 и выше

Ошибка 102 (INSTALL_FAILED_UID_CHANGED) на Android

Ошибка 102 (полный текст: Failure [INSTALL_FAILED_UID_CHANGED]) возникает при установке APK-файла на Android. Система выдает ее, когда обнаруживает конфликт идентификатора пользователя (UID) для имени пакета. Каждое приложение в Android получает уникальный UID. Если для одного имени пакета в базе данных системы уже есть запись с другим UID, установка прерывается.

Типичные сценарии появления:

  • Попытка установить APK, подписанный другим ключом, чем уже установленная версия.
  • Ручная установка после обновления Android, изменившего UID.
  • Частичное удаление приложения с сохранением данных.

Почему возникает конфликт UID

Основная причина: система Android хранит в /data/system/packages.xml связку имя_пакета → UID. Если при установке нового APK с тем же именем пакета система находит в этом файле запись с UID, отличным от того, который присвоила бы новому приложению, она блокирует установку.

Конкретные триггеры:

  1. Смена signing key. Разработчик выпустил обновление, подписанное другим keystore. Android считает это другим приложением с тем же именем, но требует уникального UID.
  2. Остаточные записи после удаления. При удалении через adb uninstall без флага -k данные приложения удаляются, но запись в packages.xml может сохраниться при сбое.
  3. Изменение политики UID после обновления ОС. В Android 6.0+ система стала строже: UID теперь привязывается не только к имени пакета, но и к signing certificate. Это ломает совместимость со старыми APK.
  4. Повреждение кэша Package Installer. Кэш установщика содержит устаревшие данные о UID, что приводит к ложному срабатыванию защиты.

Как исправить ошибку 102: 4 рабочих способа

1. Перезагрузка устройства

Иногда конфликт носит временный характер (например, после быстрого переключения пользователей). Перезагрузка очищает состояние Package Manager.

  1. Нажмите и удерживайте кнопку питания.
  2. Выберите «Перезагрузить».
  3. После полной загрузки повторите установку APK.

2. Очистка данных Пакетного установщика

Этот метод удаляет кэшированные записи о конфликтующих UID.

  1. Откройте НастройкиПриложения (или Приложения и уведомления).
  2. Найдите Пакетный установщик (может называться «Установщик пакетов» или Package Installer).
  3. Нажмите Очистить данные и Очистить кэш.
  4. Попробуйте установить APK снова.
Скриншот настроек Android: очистка данных и кэша приложения Пакетный установщик

Скриншот настроек Android: очистка данных и кэша приложения Пакетный установщик

3. Полное удаление приложения через ADB

Если приложение уже присутствует в системе, удалите его вместе с данными.

# Удаление приложения и его данных
adb uninstall com.example.package

# Если вышеуказанное не помогает (требуется root)
adb shell rm -rf /data/app/com.example.package*

После этого установите APK заново. Убедитесь, что новый APK подписан тем же ключом, что и предыдущая версия (если это обновление).

4. Принудительная установка с флагами ADB

Используйте флаги -r (перезапись) и -d (разрешить downgrade), чтобы обойти проверку UID.

adb install -r -d your_app.apk
  • -r — перезаписывает существующее приложение, сохраняя его данные.
  • -d — разрешает установку версии ниже текущей, что может сбросить конфликтующий UID.

Важно: Если приложение уже установлено, сначала выполните adb uninstall com.example.package, затем команду с флагами.

Профилактика ошибки 102

  • Для пользователей: устанавливайте приложения только из Google Play. При ручной установке APK сначала удаляйте магазинную версию.
  • Для разработчиков: используйте один и тот же keystore для всех версий приложения. При отладке на устройстве с уже установленной релизной версией либо используйте тот же signing key, либо меняйте applicationId в build.gradle.
  • После обновления Android: если ошибка появилась у системного приложения, дождитесь обновления от производителя или установите версию из магазина, совместимую с новой версией ОС.

Часто задаваемые вопросы

Что такое UID в Android и почему его изменение вызывает ошибку 102?
Как использовать ADB для принудительной установки при ошибке 102?
Поможет ли сброс настроек приложений и что он удалит?
Почему ошибка 102 часто появляется после обновления Android?

Полезное

Перезагрузите устройство
Очистите данные Пакетного установщика
Полностью удалите приложение через ADB
Выполните принудительную установку через ADB

Эта статья помогла вам решить проблему?