Crea l'app Android Studio tramite la riga di comando


Risposte:


190

Android Studio crea automaticamente un wrapper Gradle nella radice del tuo progetto, ed è così che invoca Gradle. Il wrapper è fondamentalmente uno script che richiama l'attuale binario Gradle e consente di mantenere Gradle aggiornato, il che rende più semplice l'utilizzo del controllo versione. Per eseguire un comando Gradle, puoi semplicemente usare lo gradlewscript trovato nella radice del tuo progetto (o gradlew.batsu Windows) seguito dal nome dell'attività che vuoi eseguire. Ad esempio, per creare una versione di debug della tua applicazione Android, puoi eseguire ./gradlew assembleDebugdalla radice del tuo repository. In una configurazione di progetto predefinita, l'apk risultante può quindi essere trovato in app/build/outputs/apk/app-debug.apk. Su una macchina * nix, puoi anche semplicemente eseguire find . -name '*.apk'per trovarlo, se non è lì.


36
Mi ci sono volute più di 2 ore per capire qual è il modo corretto di eseguire Gradle dalla riga di comando
Oded Regev

4
L'ho eseguito dalla riga di comando c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebuge mi ha mostrato Downloading services.gradle.org/distributions/gradle-2.10-all.zip . Ed è bloccato lì. Cosa mi manca
Saeed Neamati,

Puoi anche installare l'app con ./gradlew installArm7Debug. Altre attività sono facili da trovare./gradlew tasks
Andreas Løve Selvik,

1
Ho compilato il progetto e l'ho caricato sul dispositivo Android usando ./gradlew assembleDebuge ./gradlew installDebugcomandi. In AndroidStudio è presente una console che monitora tutte le attività del dispositivo Android in tempo reale (ad es. Se il dispositivo Android si arresta in modo anomalo, la console stampa la traccia delle eccezioni). Come ottenere questa funzione di monitoraggio su un terminale?
mercury0114

Come evitare che il voto scarichi il file -> Downloading services.gradle.org/distributions/gradle-2.xyz-all.zip. Ho notato che Gradle costruisce bene il progetto Android ma sulla riga di comando c'è un problema di impostazione del proxy. Può essere risolto inserendo i parametri del proxy (ma in questo momento non ho quel privilegio) ma voglio solo bypassare la cosa del download ... Come posso farlo?
Raulp,

24

Prova questo (solo OS X):

brew install homebrew/versions/gradle110
gradle build

È possibile utilizzare gradle tasksper vedere tutte le attività disponibili per il progetto corrente. Non Android Studioè necessario qui.


4
Assicurati di aver installato homebrew per cominciare!
amitavk,

1
"non è necessario Android Studio", a meno che non sia necessario l'SDK di Android, suppongo. Ad ogni modo, il progetto che sto cercando di costruire lo richiede.
Hmijail piange le dimissioni il

21

ci sono due tipi di build per compilare la tua applicazione usando le impostazioni di build Gradle: una per il debug della tua applicazione - debug - e una per la creazione del pacchetto finale per la modalità release - release.

Costruire in modalità debug

  • Passare innanzitutto alla cartella principale del progetto Android Studio utilizzando CMD inserisci qui la descrizione dell'immagine

  • eseguire questo comando gradlew.bat assembleDebug

  • La finestra di output è simile a questa inserisci qui la descrizione dell'immagine

Crea un apk firmato in modalità di rilascio

  • Modifica il file build.gradle per creare il tuo progetto in modalità di rilascio:

    android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }}
    

inserisci qui la descrizione dell'immagine

  • eseguire questo comando gradlew.bat assembleRelease

Fatto. Buona fortuna!


2
Esiste un modo per avviare automaticamente l'app dopo aver completato correttamente?
Ambar Jain,

Non riesco a trovare alcun modo per avviare automaticamente l'app dopo la compilazione
Dhaval Jivani il

3
@DhavalJivani lanciarlo in un emulatore intendi? Se è così, sono solo semplici comandi adb. Puoi anche scegliere come target un'attività specifica da avviare. developer.android.com/studio/command-line/adb.html
blizz

@DhavalJivani qual è il modo migliore per testare l'app Android nei test di automazione ?. Per quanto riguarda il web abbiamo selenio in pitone e nodo.
Harsh Manvar,

9

Questo è un tentativo di guida completa

1. Installa Gradle e Android SDK

O

  • Installa questi come ritieni opportuno
  • Esegui ./gradlewo gradlew.batse su Windows
    • chmod +x ./gradlew potrebbe essere necessario

Da questo punto in poi, gradlesi intende eseguire Gradle in qualunque modo tu abbia scelto. Sostituire di conseguenza.

2. Installa l'SDK Android

  • Se hai installato manualmente l'SDK

    • export ANDROID_HOME=<install location>
    • Potresti metterlo nel tuo ~/.profilese non è fatto automaticamente
  • Accetta le licenze: yes | sdkmanager

    • sdkmanager può essere trovato in $ANDROID_HOME/tools/bin
    • sdkmanager potrebbe essere necessario eseguirlo come root
  • Prova a correre gradle

    • Se non vengono rilevati reclami relativi a licenze o SDK, correggere le autorizzazioni della directory
      • chown -R user:group $ANDROID_HOME
      • Se sei sconsiderato e / o l'unico utente: chmod 777 -R $ANDROID_HOME

3. Costruzione

  • gradle tasks elenca tutte le attività che possono essere eseguite
  • :app:[appname] è il prefisso di tutte le attività, che vedrai nei registri Gradle durante la creazione
    • Questo può essere escluso quando si esegue un'attività

Alcuni compiti essenziali

  • gradle assemble: crea tutte le varianti della tua app
    • .Apks risultanti sono in app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebugoppure assembleRelease: compilare solo le versioni di debug o di rilascio
  • gradle installDebugo installReleasecompilare e installare su un dispositivo collegato
    • Hanno adb installato
    • Collegare un dispositivo con debug USB e trasferimento file USB abilitati
    • Esegui adb devices, controlla che il tuo dispositivo sia elencato e che il dispositivo sia accanto

Compilare e installare automaticamente in caso di modifiche

Questo evita di dover eseguire continuamente gli stessi comandi

gradle -t --continue installDebug
  • -t: aka --continuous, esegue di nuovo automaticamente l'attività dopo la modifica di un file
  • --continue: Continua dopo gli errori. Impedisce l'arresto quando si verificano errori

Corri gradle -hper ulteriore aiuto


8

Probabilmente sei qui perché vuoi installarlo 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 impostato un alias nel mio ~/.bash_profile, per renderlo un comando 2char.

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

(Abbreviazione di Build and Install)


7

Cheatsheet per eseguire Gradle dalla riga di comando per i progetti Android Studio su Linux:

cd <project-root>
./gradlew
./gradlew tasks
./gradlew --help

Dovresti iniziare ..


3

Per Mac utilizzare questo comando

  ./gradlew task-name

1

Solo per utenti MAC

Estensione della risposta di Vji .

Procedura dettagliata:

  1. Terminale aperto
  2. Cambia la tua directory nel tuo progetto (cd PathOfYourProject)
  3. Copia e incolla questo comando e premi invio:

    chmod +x gradlew
    
  4. Come suggerì Vji :

    ./gradlew task-name
    

    NON DIMENTICARE DI AGGIUNGERE. (DOT) PRIMA / gradlew


1

La documentazione ufficiale è qui:

Per creare un APK di debug, aprire una riga di comando e passare alla radice della directory del progetto. Per avviare una build di debug, invocare l' assembleDebugattività:

gradlew assembleDebug

Questo crea un APK chiamato module_name-debug.apkin project_name/module_name/build/outputs/apk/.


0

enter code hereCrea un file di script con il comando gradle e adb sotto, Esegui file di script

./gradlew clean

./gradlew assembleDebug ./gradlew installDebug

shell adb am start -n applicationID / percorso completo dell'attività di avvio


0

Nota, puoi anche farlo in Android Studio facendo clic sulla finestra Gradle, quindi sul pulsante "Elefante". Questo aprirà una nuova finestra chiamata "esegui qualsiasi cosa" (puoi anche trovarla cercando quel nome in "cerca ovunque") dove puoi digitare manualmente qualsiasi comando gradle in cui vuoi. Non "abbastanza" riga di comando, ma spesso fornisce più di ciò di cui ho bisogno rispetto alla riga di comando di Windows.

Ciò consente di fornire parametri opzionali per classificare le attività, ecc.


-2

Aggiungendo valore a tutte queste risposte,

molti hanno chiesto il comando per eseguire l'app in AVD dopo aver compilato correttamente.

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
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.