Установить apk-файл из командной строки?

Я хочу установить файл с помощью командной строки Windows. Сначала я хочу построить после компиляции всех файлов .jar файл .apk для приложения Android без использования Eclipse.

Кто-нибудь знает, как это можно сделать без использования Eclipse и только с помощью командной строки.


person Max    schedule 16.08.2011    source источник
comment
stackoverflow.com/questions/3480201/ Правильный способ установки Apk в эмуляторе   -  person Naveen Tamrakar    schedule 12.08.2013
comment
android.stackexchange.com/questions/ 12961 /   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 04.12.2015


Ответы (14)


arrow_upward
821
arrow_downward

Вы можете использовать приведенный ниже код для установки приложения из командной строки.

adb install example.apk

этот apk устанавливается во внутреннюю память текущего открытого эмулятора.

adb install -s example.apk

этот apk установлен на SD-карту текущего открытого эмулятора.

Вы также можете установить apk на конкретное устройство в списке подключенных устройств к adb.

adb -s emulator-5554 install myapp.apk

Обратитесь также к справке adb, чтобы узнать о других возможностях.

person Mohit Kanada    schedule 16.08.2011
comment
Просто чтобы добавить к этому для тех, у кого возникнут проблемы в будущем, добавьте -d для принудительной установки через USB-соединения. У меня были проблемы, и добавление этого исправило их. adb -d install myApp-release.apk - person Cow; 14.06.2014
comment
adb install -d НЕ вызывает принудительное использование USB. Из справки adb: (-d: allow version code downgrade) - person Scott Stafford; 02.02.2015
comment
Из developer.android.com/tools/help/adb.html#commandsummary: -d | Направьте команду adb на единственное подключенное USB-устройство. - person Noyo; 27.08.2015
comment
Ответ на -d путаницу: и @ZachCase, и @ScottStafford верны. Параметры ADB и параметры команд ADB - это разные вещи: adb -d install file.apk устанавливается на одно устройство Android, подключенное через USB [см.], а adb install -d file.apk устанавливает APK с возможностью понижения версии [см.]. - person tanius; 04.03.2016
comment
Используйте adb install -r example.apk для установки / обновления приложения. -r обновит приложение, если оно уже установлено. - person ben_joseph; 29.05.2017
comment
Я получал INSTALL_FAILED_TEST_ONLY. Добавление флага -t решило эту проблему. - person rpattabi; 17.09.2018
comment
Я не могу найти /etc/local/tmp - person Alston; 02.10.2019
comment
Что делать, если в apk есть файлы obb? Как тогда установить? - person ; 13.11.2019
comment
Сначала установите APK. После установки приложения не запускайте его. Просто разархивируйте свой obb-файл и поместите его в созданную папку приложения. После размещения файла obb вы можете запускать приложение. - person Mohit Kanada; 14.11.2019
comment
Мне сначала пришлось вытащить его на свой ноутбук: adb pull "/storage/self/primary/Download/app.apk" ~/Downloads/app.apk - person oliversisson; 19.02.2021

arrow_upward
55
arrow_downward

Вы можете строить из командной строки с помощью ant. См. это руководство.

Затем вы можете установить его, используя adb в командной строке.

adb install -r MyApp.apk

Флаг -r предназначен для замены существующего приложения.

person Graham Borland    schedule 16.08.2011

arrow_upward
41
arrow_downward

Вы можете установить apk на конкретное устройство / эмулятор, введя идентификатор устройства / эмулятора перед ключевым словом «установить», а затем путь к apk. Обратите внимание, что ключ -s, если он есть, после ключевого слова install означает установку на SD-карту. Пример:

adb -s emulator-5554 install myapp.apk
person farid_z    schedule 02.04.2013

arrow_upward
41
arrow_downward

Используйте инструмент командной строки Android Debug Bridge adb, например: adb install filename.apk.

Хорошая ссылка для adb находится здесь

install [options] <PATH>    Installs a package (specified by <PATH>) to the system.
Options:

-l: Install the package with forward lock.
-r: Reinstall an exisiting app, keeping its data.
-t: Allow test APKs to be installed.
-i <INSTALLER_PACKAGE_NAME>: Specify the installer package name.
-s: Install package on the shared mass storage (such as sdcard).
-f: Install package on the internal system memory.
-d: Allow version code downgrade.
uninstall [options] <PACKAGE>   Removes a package from the system.
Options:

-k: Keep the data and cache directories around after package removal.
person Abhisek Mukherjee    schedule 13.04.2013
comment
-s (конкретное устройство) = направляет команду устройству или эмулятору с указанным серийным номером. - person Darpan; 04.08.2014

arrow_upward
31
arrow_downward

Самый простой способ сделать это - по команде

adb install example.apk

и если вы хотите настроить целевое устройство подключения, вы можете добавить параметр "-d"

adb install -d example.apk

если у вас подключено более одного устройства / эмулятора, вы получите эту ошибку

adb: ошибка: сбой подключения: более одного устройства / эмулятора - ожидание устройства - ошибка: более одного устройства / эмулятора

чтобы избежать этого, вы можете перечислить все устройства с помощью команды ниже

adb devices

вы получите результаты, как показано ниже

 C:\Windows\System32>adb devices
 List of devices attached
 a3b09hh3e    device
 emulator-5334    device

выберите одно из этих устройств и добавьте параметр в команду adb как «-s a3b09hh3e», как показано ниже.

adb -s a3b09a6e install  example.apk

также в качестве подсказки, если путь к apk длинный и имеет пробелы, просто добавьте его между двойными кавычками, например

adb -s a3b09a6e install  "c:\my apk location\here 123\example.apk"
person Tarek El-Mallah    schedule 08.02.2017

arrow_upward
20
arrow_downward

  1. Нажмите Win + R> cmd
  2. Перейдите к platform-tools \ в папке windows android-sdk.
  3. Тип adb
  4. теперь следуйте инструкциям, написанным Mohit Kanada (убедитесь, что вы указали весь путь к файлу .apk, например, d: \ android-apps \ test.apk)
person Ranjit Virdi    schedule 20.07.2012
comment
вам нужно добавить его в ответ @Mohit Kanada - а не писать эти шаги в качестве ответа. - person STF; 30.10.2017

arrow_upward
19
arrow_downward

Команды для установки файлов APK, как это делается в Android Studio, вы можете увидеть ниже.

1) Чтобы подтолкнуть ваше приложение:

adb push /pathOfApk/com.my.awesome.apk /data/local/tmp/com.my.awesome

где com.my.awesome - ваш пакет.

2) Для установки:

adb shell pm install -t -r "/data/local/tmp/com.my.awesome"
person Dima Kozhevin    schedule 18.07.2018
comment
Если вы установите приложение, которое позволяет подключаться по ssh от имени пользователя root, эта команда будет работать нормально. :-) - person TSJNachos117; 02.11.2018

arrow_upward
11
arrow_downward

Это так просто!

например, расположение моего файла apk: d: \ myapp.apk

  1. запустить cmd

  2. перейдите в папку "platform-tools" (в папке sdk)

  3. запустите свое устройство-эмулятор (скажем, его имя 5556: MyDevice)

  4. введите этот код в cmd:

    adb -s emulator-5556 установить d: \ myapp.apk

Подождите немного, и это СДЕЛАНО !!

person Hamid    schedule 26.07.2014
comment
Вы также можете добавить каталог инструментов платформы к своему пути, чтобы вам не приходилось каждый раз переходить к нему. - person Prashanth Chandra; 17.12.2016

arrow_upward
5
arrow_downward

Чтобы установить отладочный (тестовый) apk, используйте -t:

Запустить проект Build-Make

Найдите последний сгенерированный apk в папке приложения.

Пример:

adb  install -t C:\code\BackupRestore\app\build\outputs\apk\debug\app-debug.apk
person live-love    schedule 19.02.2018

arrow_upward
4
arrow_downward

Скорее всего, вы здесь, потому что тоже хотите его построить!

Строить

gradlew

(В Windows gradlew.bat)

Затем установите

adb install -r exampleApp.apk

(-r заменяет существующую копию, добавляет -s при установке на эмулятор)

Бонус

Я установил псевдоним в своем ~/.bash_profile

alias bi="gradlew && adb install -r exampleApp.apk"

(Сокращение от "Сборка и установка")

person Gibolt    schedule 08.10.2017

arrow_upward
2
arrow_downward

Вы можете сделать это, используя инструменты командной строки adb ИЛИ команды gradle: См. это руководство.

Настроить командную строку adb

export PATH=/Users/mayurik/Library/Android/sdk/platform-tools/adb:/Users/mayurik/Library/Android/sdk/tool

Команды Gradle для сборки и установки.

 #Start Build Process
    echo "\n\n\nStarting"
    ./gradlew clean

    ./gradlew build

    ./gradlew assembleDebug

    #Install APK on device / emulator
    echo "installDebug...\n"

    ./gradlew installDebug

Вы также можете удалить любые предыдущие версии, используя

  `./gradlew uninstallDebug`

Вы можете запустить свою основную деятельность на устройстве / эмуляторе, как показано ниже.

#Launch Main Activity
adb shell am start -n "com.sample.androidbuildautomationsample/com.sample.androidbuildautomationsample.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
person Mayuri Khinvasara    schedule 09.09.2019

arrow_upward
2
arrow_downward

Я использую этот скрипт на своем компьютере с Windows (установите все файлы apks в текущей папке на все доступные устройства)

Write-Host "Listing APKs..."

$List_Apks = New-Object System.Collections.ArrayList

Get-ChildItem -Path .\ -Filter *.apk -File -Name| ForEach-Object {
    $apk_filename = [System.IO.Path]::GetFileName($_)
    $List_Apks+=$apk_filename
    $apk_filename
}

Write-Host "Found apks "$List_Apks.Length
Write-Host ""

$raw_list = adb devices
$array_lines = $raw_list.Split("\n")

Write-Host "Listing devices "

$List_Device_Ids = New-Object System.Collections.ArrayList

1..($array_lines.Length-2) | foreach {
  $device_id = $array_lines[$_].Split([char]0x9)[0]
  $List_Device_Ids+=$device_id
  $device_id
}

Write-Host "Found devices "$List_Device_Ids.Length

0..($List_Device_Ids.Length-1) | foreach {
    $device_id = $List_Device_Ids[$_]

    0..($List_Apks.Length-1) | foreach {
        $apk_file_name = $List_Apks[$_]

        Write-Host "Installing " $apk_file_name "->" $device_id

        adb -s $device_id install -r $apk_file_name
    }
}


Write-Host "Endo"

Сохраните это как install-apks.ps1

Затем из PowerShell:

powershell -executionpolicy bypass -File .\install-apks.ps1
person freezing_    schedule 16.03.2020

arrow_upward
2
arrow_downward

Открыть терминал в Android Studio

Вы могли бы увидеть

C:\Users\nikhil\AppData\Local\Android\Sdk\platform-tools>

скопируйте и вставьте свой apk, который вы хотите установить, по указанному выше пути внутри платформенных инструментов. В моем случае app-qa-debug.apk я хранил в папке инструментов платформы.

команда установки

adb install app-qa-debug.apk

чтобы в терминале можно было что-то увидеть

C:\Users\nikhil\AppData\Local\Android\Sdk\platform-tools>adb install app-qa-debug.apk

после установки вы можете получить сообщение как

Выполнение трансляций

Успешная установка

person Nikhil Lotke    schedule 16.08.2020

arrow_upward
1
arrow_downward

Для людей, которые хотят загрузить apk из системы Linux с запущенным на нем собственным приложением React. Я также указал путь, по которому находится приложение для Android. Чтобы те, кому нужно найти apk файл, могли зайти его посмотреть.

adb -s 434eeads install android/app/build/outputs/apk/debug/app-debug.apk

Для переустановки приложения Android на телефоне

adb -s 434eeads install -r android/app/build/outputs/apk/debug/app-debug.apk

-s - ›source / serialNumber

r - ›Путь переустановки + имя файла: android / app / build / output / apk / debug / app-debug.apk

Это для реагирующих нативных приложений.

person Sunil Kumar    schedule 17.07.2020