Как установить приложение из командной строки (терминала)?

10

Как установить приложение из командной строки (терминала)?

Я хотел бы запустить окно терминала и выполнить установку apk из командной строки (сценарий оболочки)

EDIT1: в телефоне. Также возможно ли установить из Google Play по URL, а не просто по локальному пути?

Я не получил ответ, как установить приложение Google Play из командной строки.

Klor
источник

Ответы:

11

При наличии достаточных привилегий (ADB, root, системное приложение) вы можете использовать простые команды терминала для установки приложений:

На ПК:

Запустите простую команду

adb install <path to .apk file>

и приложение будет установлено.
Это требует adbустановки и включения режима отладки.
Файл должен быть расположен на ПК.

В adb shellили терминал на устройстве:

pm install <path to .apk file>

Это в основном то же самое, что и метод ПК, но требует, чтобы файл был помещен в телефон.
Кроме того, необходимы права для установки приложений (оболочка ADB наследует их от системы, для других приложений терминала требуется root )

GiantTree
источник
2
Иногда установка с устройства с pm install <package.apk>ошибкой Failure [INSTALL_FAILED_INVALID_URI]. Если на CM12.1 или иным образом есть права root и adbклиент на телефоне, можно обойти это, заставив телефон подключиться к себе. Для этого вам нужно выполнить setprop service.adb.tcp.port 5555, потом adb start-server, потом adb connect 127.0.0.1:5555, наконец adb shell "pm install <apk_path>". Все команды должны быть выполнены от имени пользователя root.
Гримуар
2
И, наконец, если вы используете мой вышеупомянутый метод, есть моменты , когда ADB сообщит соску emulator-5554под adb devices. Убить его с помощью adb emu killне работает, но повторное выполнение setprop service.adb.tcp.port 5555заставит фиктивный эмулятор исчезнуть. Команда setprop должна выполняться во время работы сервера adb, иначе фиктивный эмулятор не исчезнет.
Гримуар
Привет @DeathMaskSalesman, я нахожусь на CM13, и я получаю ошибку INVALID_URI. Так как я могу установить apk с помощью adb и моего ноутбука, я действительно был бы заинтересован в том, чтобы заставить ваше решение работать, поэтому я могу сделать это без необходимости ПК. Всего один вопрос ... как установить adb в телефон? find / -name 'adb' дал мне только три папки ... Смотря в Интернете, я ничего не мог найти
Джакомо Тиция Пигани
@GiacomoTecyaPigani Вы можете попытать счастья с версией ADB, которую я извлек из моей системы CM12.1. После загрузки его из здесь , перемонтирования / системы в режиме чтения-записи, скопируйте бинарный файл в / системы / бен , вопрос chown root.shell /system/bin/adb, chmod 755 /system/bin/adbи chcon u:object_r:system_file:s0 /system/bin/adbувидеть , если он работает.
Гримуар
1
Спасибо @DeathMaskSalesman, но, к сожалению, это не сработало. Я решил ее понизить до предыдущего выпуска CM13 (поскольку тот, который я использовал, был уже самым последним для моего устройства)
Giacomo Tecya Pigani