Встановити файл apk з командного рядка?


445

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

Хтось знає, як це можна зробити без використання Eclipse & only, використовуючи командний рядок.


Щоб додати відповіді, переконайтеся, що ви додали каталог, де мураха перебуває на вашому шляху.
Раві Вяс

stackoverflow.com/questions/3480201/… Правильний спосіб встановити Apk в емуляторі
Naveen Tamrakar

Відповіді:


689

Ви можете використовувати код нижче для встановлення програми з командного рядка

adb install example.apk

цей apk встановлений у внутрішній пам'яті поточного відкритого емулятора.

adb install -s example.apk

цей apk встановлений на sd-картці поточного відкритого емулятора.

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

adb -s emulator-5554 install myapp.apk

Зверніться також до ADB допомоги інших варіантів.


12
Просто щоб додати це для тих, хто має проблеми в майбутньому, додайте, -dщоб примусити встановити через USB-з'єднання. У мене виникли проблеми, і додав, що це виправлено. adb -d install myApp-release.apk
Корова

7
adb install -dНЕ змушує USB. З довідки adb:(-d: allow version code downgrade)
Скотт Стаффорд

6
Від developer.android.com/tools/help/adb.html#commandsummary : "-d | Направити команду adb на єдиний приєднаний USB-пристрій."
Нойо

39
Відповідь на -dплутанину - і @ZachCase, і @ScottStafford правильні. Параметри ADB та опції команди ADB - це різні речі: adb -d install file.apkвстановлюється на єдиний Android-пристрій, підключений через USB [див. ] Під час adb install -d file.apkвстановлення APK з можливим пониженням кількості даних [див. ].
tanius

12
Використовуйте adb install -r example.apkдля встановлення / оновлення програми. Додаток -rоновить додаток, якщо він уже встановлений.
ben_joseph


40

Ви можете встановити apk на певний пристрій / емулятор, ввівши ідентифікатор пристрою / емулятора перед ключовим словом "встановити", а потім шлях до apk. Зауважте, що перемикач -s, якщо такий є, після ключового слова "встановити" означає встановлення на sd-карту. Приклад:

adb -s emulator-5554 install myapp.apk

39

Використовуйте 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.

2
-s (конкретний пристрій) = спрямовує команду на пристрій чи емулятор із вказаним серійним номером.
Дарпан

29

Простий спосіб зробити це командою

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"

19
  1. Натисніть Win+R > cmd
  2. Перейдіть до платформних інструментів \ у папці windows android-sdk
  3. Введіть adb
  4. тепер виконайте кроки, написані Mohit Kanada (переконайтеся, що ви згадуєте весь шлях файлу .apk, наприклад, d: \ android-apps \ test.apk)

1
вам потрібно додати його до відповіді @Mohit Канади - а не писати ці кроки як відповідь.
STF

13

Команди для встановлення файлів 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"

Якщо ви встановите додаток, який дозволяє підключатися через ssh як root, ця команда буде добре працювати. :-)
TSJNachos117

11

Це так просто!

наприклад, мій файл файлу apk: d: \ myapp.apk

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

  2. перейдіть до папки "platform-tools" (у папці sdk)

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

  4. введіть цей код у cmd:

    adb -s емулятор-5556 встановити d: \ myapp.apk

Зачекайте деякий час, і це зроблено !!


Ви також можете додати до свого каталогу каталог платформ, тому вам не доведеться щоразу переходити до нього.
Прашант Чандра

4

Ви, ймовірно, тут, тому що хочете і його побудувати!

Побудувати

gradlew

(У Windows gradlew.bat )

Потім встановіть

adb install -r exampleApp.apk

( -rПримушує його замінити існуючу копію, додати-s якщо встановлюється на емуляторі)

Бонус

Я створив псевдонім у своєму ~/.bash_profile

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

(Короткий варіант для створення та встановлення)


4

Щоб встановити набудову (тест) apk, використовуйте -t :

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

Шукайте останній створений apk у папці додатків.

Приклад:

adb  install -t C:\code\BackupRestore\app\build\outputs\apk\debug\app-debug.apk

2

Для цього можна скористатися інструментами командного рядка 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

0

Я використовую цей скрипт на своїй машині 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 -executionpolicy bypass -File .\install-apks.ps1
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.