Ошибки APK

Activity class does not exist

Текст ошибки

Error type 3
Error: Activity class {com.example.app/com.example.app.MainActivity} does not exist.
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] }

Причина

Класс запускаемого экрана не найден в APK. Имя в манифесте неверно, нет фильтра LAUNCHER или R8 удалил класс.

Решение по шагам

  1. Прочитай главную activity APK: aapt2 dump badging app.apk | grep launchable.
  2. Проверь, что в манифесте есть <activity> с фильтрами MAIN и LAUNCHER.
  3. Совпадают ли полное имя и пакет? applicationId и namespace могут различаться.
  4. Если R8 переименовал activity в release, в особых случаях добавь правило -keep.
  5. Запусти вручную: adb shell am start -n пакет/.Activity.

Примеры команд

adb shell pm resolve-activity --brief com.example.app
adb shell am start -n com.example.app/.MainActivity
aapt2 dump badging app.apk | grep launchable

Как не повторить

При переименовании стартовой activity сразу обновляй манифест.

Автор и лицензия: Nibras Code