2015-08-07 9 views
23

voglio elencare i pacchetti SDK installati da linee di comando. (Per alcuni motivi non posso usare l'interfaccia grafica)Lista installato il pacchetto SDK tramite linea di comando

Ho fatto qualche ricerca e ha scoperto diversi comandi per elencare i disponibili pacchetti sul server remoto, ma non riesco a trovare alcun comando per elencare i pacchetti sdk installati ancora.

Grazie

+0

ero alla ricerca di questo, e mi sono trovato questa soluzione hacky: – madmuffin

+3

potrebbe condividere la tua soluzione hacky? – hackjutsu

risposta

17

con gli strumenti SDK Android 25.2.3 (e superiori):

$ANDROID_HOME/tools/bin/sdkmanager --list

See: https://developer.android.com/studio/command-line/sdkmanager.html#usage

+2

Questo elenca tutti i pacchetti, installati o meno. 'Nella sua terza forma, tutti i pacchetti installati e disponibili sono stampati. Esiste una variante che restituisce solo i pacchetti installati e li restituisce in un formato utile per reinstallare lo stesso pacchetto da qualche altra parte? –

+1

Per quanto ne so, non esiste una variante del genere. I pacchetti installati hanno una propria tabella e la prima colonna elenca il percorso del pacchetto, che sarà necessario durante l'installazione. Quindi le informazioni sono lì e basta un po 'di magia della shell per estrarlo. – tnissi

+0

Funziona benissimo all'interno di un'immagine docker, grazie! –

3

Come descritto nel $ ANDROID_HOME/tools/lista androide --help

  • elenco: Elenca obiettivi esistenti o dispositivi virtuali.
  • elenco avd: elenca i dispositivi virtuali Android esistenti.
  • target di elenco: elenca gli obiettivi esistenti.
  • elenco dispositivo: elenca i dispositivi esistenti.
  • elenco sdk: elenca il repository SDK remoto.

Credo che si sta cercando in questo modo:

$ANDROID_HOME/tools/android list target 

si può imparare di più sullo strumento android nel Command Line Reference.

Buona fortuna!

+0

Fantastico, puoi condividere i link di riferimento? – hackjutsu

+4

Questa risposta non ha risposto alla domanda dei poster. Ho lo stesso problema. Per creare il mio progetto Android, voglio installare automaticamente l'SDK Android e tutti i moduli necessari. Non so come dire se un modulo è già installato. –

+0

Nella mia indagine limitata, sembra che: a) si possa stabilire se una determinata versione di build-tools è installata guardando nella sottodirectory build-tools in cui è stato installato Android SDK (ad es./ usr/local/android-sdk-macosx/build-tools), b) forse altri moduli sono memorizzati nella sottodirectory dei componenti aggiuntivi, c) le piattaforme di destinazione sembrano essere installate nelle piattaforme. –

0

Non è un bel profilo, ma i file source.properties fornite i dettagli di provenienza. Lo sto utilizzando per confrontare gli SDK su macchine diverse:

for i in $(find -name source.properties); do 
    if [ -e ../other.sdk/$i ] ; then 
    echo ========================= $i 
    diff -wu $i ../other.sdk/$i | grep -v Pkg.License 
    fi 
done 

I strip Pkg.License perché è hyoooj.

0

Sul mio mac solo sdkmanager --list non funzionava, percorso necessario da specificare.

utilizzare Android in studio predefinita posizione SDK il percorso è ~/Library/Android/sdk/tools/bin/sdkmanager --list

Come menzionato da @tnissi questo è per Strumenti SDK Android 25.2.3 (e superiori).

Oppure aggiungi il percorso: export PATH=$PATH:~/Library/Android/sdk/tools/bin

Problemi correlati