Команда оболочки adb, чтобы проверить apk, отладка или выпуск подписан?

Как проверить, отлажен ли apk или подписан ли релиз?
Есть ли прямая команда adb для проверки подписи apk?

Пробовал следующее dumpsys а также aapt команды, но я не могу найти точный флаг

adb shell dumpsys package <package name>
aapt dump badging <apk file>

Как узнать, что данный apk является отладочным или релиз подписан? Как узнать, какие сборки (user, userdebug или eng) мы можем установить этот apk?

4 ответа

Решение

Если вы хотите проверить, является ли apk отлаживаемым, используйте команду aapt ниже.

aapt dump badging /path/to/apk | grep -c application-debuggable

Выходы 1: отладка Выходы 0: не отладка.

Я перепробовал много вещей и нашел следующее решение:

adb shell dumpsys package <package name> | findstr flags

если сборка отлаживаемая, в строке "flags" будет присутствовать параметр "DEBUGGABLE". Если его там нет, сборка не отлажена

Вы, кажется, смущены. Apks обычно имеют debug а также release версии. А также eng, userdebug а также user Типы сборки используются для целых образов прошивки.

Вы можете найти информацию о сборке (если она правильно заполнена сборщиком), используя

adb shell getprop ro.build.fingerprint

run-as может дать подсказку:

      $ adb shell run-as com.example.foo.bar
run-as: package not debuggable: com.example.foo.bar
Другие вопросы по тегам