Android: как узнать, установлено ли какое-либо приложение в устройстве Android с помощью adb?

Я должен установить приложение для Android с именем пакета, например «com.xyz.game», используя adb. Я хочу автоматизировать процесс с помощью сценария оболочки. Процесс будет похож, если приложение уже установлено, удалите его (с командой adb uninstall com.xyz.game) и установите с помощью «adb install game.apk», иначе просто «adb install game.apk».

Как я могу это достичь?

Solutions Collecting From Web of "Android: как узнать, установлено ли какое-либо приложение в устройстве Android с помощью adb?"

[ Обновить ]

Согласно (также) правильному ответу ниже, попробуйте grep результат из пакетов списка PM.

adb shell pm list packages | grep com.your.app.package


[ Оригинал ]

Если приложение уже установлено, и если вы попытаетесь снова установить такое же приложение, adb вернется с ошибкой – Failure [INSTALL_FAILED_ALREADY_EXISTS] . Однако, если вы хотите переустановить уже установленное приложение, используйте параметр -r .

Пример:

 adb install -r game.apk 

Попробуйте grep получить результат из пакетов списка PM.

 adb shell pm list packages | grep com.xyz.game 

Вы можете увидеть результат, если он уже установлен.

 package:com.xyz.game 

Не нужно использовать grep. Используя следующие команды, вы можете просто проверить, существует ли приложение или нет.

Запустить команду ADB

Adb shell pm list packages [your.package.name]

Если приложение уже установлено, то команда вернется,

пакет: [your.package.name]

Иначе он ничего не вернет, т.е. пустую строку.