Installare un file apk dal prompt dei comandi?


445

Voglio installare un file usando la riga di comando di Windows. Innanzitutto voglio compilare dopo aver compilato tutti i file .jar per creare un file .apk per un'applicazione Android senza utilizzare Eclipse.

Qualcuno sa come questo può essere fatto senza l'uso di Eclipse e solo facendo uso della riga di comando.


Per aggiungere alle risposte assicurati di aggiungere la directory in cui la formica risiede sul tuo percorso.
Ravi Vyas,

stackoverflow.com/questions/3480201/… Modo giusto per installare Apk in emulater
Naveen Tamrakar

Risposte:


689

È possibile utilizzare il codice seguente per installare l'applicazione dalla riga di comando

adb install example.apk

questo apk è installato nella memoria interna dell'emulatore attualmente aperto.

adb install -s example.apk

questo apk è installato nella scheda SD dell'emulatore attualmente aperto.

Puoi anche installare un apk su un dispositivo specifico nell'elenco dei dispositivi collegati nell'adb.

adb -s emulator-5554 install myapp.apk

Consultare anche la guida adb per altre opzioni.


12
Solo per aggiungere a questo per chiunque abbia problemi in futuro, aggiungere -dper forzare l'installazione su connessioni USB. Ho avuto problemi e aggiungendo che risolto. adb -d install myApp-release.apk
Mucca

7
adb install -dNON forza USB. Dall'aiuto di adb:(-d: allow version code downgrade)
Scott Stafford,

6
Da developer.android.com/tools/help/adb.html#commandsummary : "-d | Indirizza un comando adb all'unico dispositivo USB collegato."
Noyo,

39
La risposta alla -dconfusione è che sia @ZachCase che @ScottStafford sono corretti. Le opzioni ADB e le opzioni di comando ADB sono diverse: adb -d install file.apkinstalla sul singolo dispositivo Android collegato tramite USB [vedi ] mentre adb install -d file.apkinstalla l'APK con un possibile downgrade [vedi ].
tanius

12
Utilizzare adb install -r example.apkper installare / aggiornare un'app. L' -rapp aggiornerà se è già installata.
ben_joseph,

44

Puoi costruire sulla riga di comando con ant. Vedi questa guida .

Quindi, è possibile installarlo utilizzando adbdalla riga di comando.

adb install -r MyApp.apk

Il -rflag serve a sostituire l'applicazione esistente.


40

È possibile installare un apk su un dispositivo / emulatore specifico immettendo l'identificatore del dispositivo / emulatore prima della parola chiave "installa" e quindi il percorso dell'apk. Si noti che l'opzione -s, se presente, dopo la parola chiave 'install' indica l'installazione sulla scheda SD. Esempio:

adb -s emulator-5554 install myapp.apk

39

Utilizzare l'Android Debug Bridge riga di comando strumento adbper esempio: adb install filename.apk.

Un buon riferimento per adbè qui

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 (dispositivo specifico) = indirizza il comando al dispositivo o all'emulatore con il numero seriale specificato.
Darpan,

29

Il modo semplice per farlo è tramite comando

adb install example.apk

e se vuoi scegliere come target il dispositivo di connessione puoi aggiungere il parametro "-d"

adb install -d example.apk

se hai più di un dispositivo / emulatore collegato otterrai questo errore

adb: errore: connessione non riuscita: più di un dispositivo / emulatore - in attesa del dispositivo - errore: più di un dispositivo / emulatore

per evitare che sia possibile elencare tutti i dispositivi con il comando seguente

adb devices

otterrai risultati come di seguito

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

ha scelto uno di questi dispositivi e aggiungi il parametro al comando adb come "-s a3b09hh3e" come di seguito

adb -s a3b09a6e install  example.apk

anche come suggerimento se il percorso dell'apk è lungo e ha spazi, basta aggiungerlo tra virgolette doppie come

adb -s a3b09a6e install  "c:\my apk location\here 123\example.apk"

19
  1. Premi Win+ R> cmd
  2. Passa a platform-tools \ nella cartella windows di android-sdk
  3. Digita adb
  4. ora segui i passaggi scritti da Mohit Kanada (assicurati di menzionare l'intero percorso del file .apk per es. d: \ android-apps \ test.apk)

1
devi aggiungerlo alla risposta di @Mohit Kanada - e non scrivere questi passaggi come risposta.
STF

13

I comandi per installare i file APK come avviene in Android Studio che puoi vedere di seguito.

1) Per spingere la tua app:

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

dov'è il com.my.awesometuo pacco.

2) Per installare:

adb shell pm install -t -r "/data/local/tmp/com.my.awesome"

Se installi un'app che ti consente di connetterti via ssh come root, questo comando funzionerà bene. :-)
TSJNachos117,

11

È così facile!

ad esempio il percorso del mio file apk è: d: \ myapp.apk

  1. eseguire cmd

  2. vai alla cartella "platform-tools" (nella cartella sdk)

  3. avvia il tuo dispositivo di emulazione (diciamo che il suo nome è 5556: MyDevice)

  4. digita questo codice nel cmd:

    adb -s emulator-5556 installa d: \ myapp.apk

Aspetta un po 'ed è FATTO !!


Puoi anche aggiungere la directory platform-tools al tuo percorso, in modo da non doverla navigare ogni volta.
Prashanth Chandra,

4

Probabilmente sei qui perché vuoi costruirlo anche tu!

Costruire

gradlew

(Su Windows gradlew.bat)

Quindi installare

adb install -r exampleApp.apk

(Lo -rfa sostituire la copia esistente, aggiungere un -sse l'installazione su un emulatore)

indennità

Ho creato un alias nel mio ~/.bash_profile

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

(Abbreviazione di Build and Install)


4

Per installare un apk di debug (test), utilizzare -t:

Esegui progetto Build-Make

Cerca l'ultimo apk generato nella cartella dell'app.

Esempio:

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

2

Puoi farlo usando gli strumenti della riga di comando adb OPPURE i comandi gradle: consulta questa Guida .

Imposta la riga di comando adb

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

Comandi Gradle per compilare e installare.

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

    ./gradlew build

    ./gradlew assembleDebug

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

    ./gradlew installDebug

Puoi anche disinstallare qualsiasi versione precedente usando

  `./gradlew uninstallDebug`

Puoi avviare la tua attività principale sul dispositivo / emulatore come di seguito

#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

Uso questo script sul mio computer Windows (installa tutti gli apk nella cartella corrente su tutti i dispositivi disponibili)

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"

Salvalo come install-apks.ps1

Quindi dalla PowerShell:

powershell -executionpolicy bypass -File .\install-apks.ps1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.