Ich möchte eine Android Studio-App (das Gradle-Build-System) erstellen, dies jedoch über die Befehlszeile.
Ich möchte eine Android Studio-App (das Gradle-Build-System) erstellen, dies jedoch über die Befehlszeile.
Antworten:
Android Studio erstellt automatisch einen Gradle-Wrapper im Stammverzeichnis Ihres Projekts. Auf diese Weise wird Gradle aufgerufen. Der Wrapper ist im Grunde ein Skript, das die eigentliche Gradle-Binärdatei aufruft und es Ihnen ermöglicht, Gradle auf dem neuesten Stand zu halten, was die Versionskontrolle vereinfacht. Um einen Gradle-Befehl auszuführen, können Sie einfach das gradlew
Skript verwenden, das sich im Stammverzeichnis Ihres Projekts (oder gradlew.bat
unter Windows) befindet, gefolgt vom Namen der Aufgabe, die Sie ausführen möchten. Um beispielsweise eine Debug-Version Ihrer Android-Anwendung zu erstellen, können Sie sie ./gradlew assembleDebug
im Stammverzeichnis Ihres Repositorys ausführen . In einem Standardprojekt-Setup befindet sich die resultierende apk dann in app/build/outputs/apk/app-debug.apk
. Auf einem * nix-Computer können Sie ihn auch einfach ausführen find . -name '*.apk'
, um ihn zu finden, wenn er nicht vorhanden ist.
c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebug
und es hat mir gezeigt, dass ich services.gradle.org/distributions/gradle-2.10-all.zip heruntergeladen habe . Und es steckt dort fest. Was vermisse ich?
./gradlew installArm7Debug
. Andere Aufgaben sind leicht zu finden von./gradlew tasks
./gradlew assembleDebug
und ./gradlew installDebug
Befehlen auf das Android-Gerät hochgeladen . Im AndroidStudio gibt es eine Konsole, die alle Aktivitäten des Android-Geräts in Echtzeit überwacht (z. B. wenn das Android-Gerät abstürzt, druckt die Konsole die Ausnahmespur). Wie bekomme ich diese Überwachungseinrichtung auf ein Terminal?
Versuchen Sie dies (nur OS X):
brew install homebrew/versions/gradle110
gradle build
Mit können gradle tasks
Sie alle für das aktuelle Projekt verfügbaren Aufgaben anzeigen. Hier wird kein Android Studio
benötigt.
Es gibt zwei Build-Typen zum Erstellen Ihrer Anwendung mithilfe der Gradle-Build-Einstellungen: einen zum Debuggen Ihrer Anwendung - Debuggen - und einen zum Erstellen Ihres endgültigen Pakets für den Release-Release-Modus.
Navigieren Sie zuerst mit CMD zum Stammordner des Android Studio-Projekts
Führen Sie diesen Befehl gradlew.bat assembleDebug aus
Bearbeiten Sie die Datei build.gradle, um Ihr Projekt im Release-Modus zu erstellen:
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}}
Fertig. Viel Glück!
Dies ist ein Versuch einer vollständigen Anleitung
Entweder
./gradlew
oder gradlew.bat
unter Windows
chmod +x ./gradlew
kann notwendig seingradle
Bezieht sich ab diesem Punkt darauf, Gradle so auszuführen, wie Sie es gewählt haben. Ersetzen Sie entsprechend.
Wenn Sie das SDK manuell installiert haben
export ANDROID_HOME=<install location>
~/.profile
wenn es nicht automatisch gemacht wirdAkzeptieren Sie die Lizenzen: yes | sdkmanager
sdkmanager
kann gefunden werden in $ANDROID_HOME/tools/bin
sdkmanager
muss möglicherweise als root ausgeführt werdenVersuche zu rennen gradle
chown -R user:group $ANDROID_HOME
chmod 777 -R $ANDROID_HOME
gradle tasks
listet alle Aufgaben auf, die ausgeführt werden können:app:[appname]
ist das Präfix aller Aufgaben, die beim Erstellen in den Gradle-Protokollen angezeigt werden
Einige wesentliche Aufgaben
gradle assemble
: Erstellen Sie alle Varianten Ihrer App
app/[appname]/build/outputs/apk/[debug/release]
gradle assembleDebug
oder assembleRelease
: Erstellen Sie nur die Debug- oder Release-Versionengradle installDebug
oder installRelease
erstellen und auf einem angeschlossenen Gerät installieren
adb devices
prüfen, ob Ihr Gerät aufgeführt ist und Gerät ist danebenBei Änderungen automatisch erstellen und installieren
Dadurch wird vermieden, dass ständig dieselben Befehle ausgeführt werden müssen
gradle -t --continue installDebug
-t
: aka --continuous
, führt die Aufgabe automatisch erneut aus, nachdem eine Datei geändert wurde--continue
: Fahren Sie nach Fehlern fort. Verhindert das Anhalten, wenn Fehler auftretengradle -h
um weitere Hilfe zu erhaltengradlew
(Unter Windows gradlew.bat
)
adb install -r exampleApp.apk
( -r
Dadurch wird die vorhandene Kopie ersetzt. Fügen Sie eine hinzu, -s
wenn Sie sie auf einem Emulator installieren.)
Ich habe in meinem einen Alias eingerichtet ~/.bash_profile
, um daraus einen 2char-Befehl zu machen.
alias bi="gradlew && adb install -r exampleApp.apk"
(Abkürzung für Build and Install)
Nur für MAC-Benutzer
Erweiterung der Antwort von Vji .
Schritt für Schritt Vorgehensweise:
Kopieren Sie diesen Befehl, fügen Sie ihn ein und drücken Sie die Eingabetaste:
chmod +x gradlew
Wie Vji vorschlug:
./gradlew task-name
VERGESSEN SIE NICHT, VOR / gradlew hinzuzufügen
Die offizielle Dokumentation finden Sie hier:
Öffnen Sie zum Erstellen eines Debug-APK eine Befehlszeile und navigieren Sie zum Stammverzeichnis Ihres Projektverzeichnisses. Rufen Sie die assembleDebug
Aufgabe auf , um einen Debug-Build zu starten :
gradlew assembleDebug
Dadurch wird eine APK mit dem Namen module_name-debug.apk
in erstellt project_name/module_name/build/outputs/apk/
.
enter code here
Erstellen Sie eine Skriptdatei mit dem folgenden Befehl gradle und adb. Führen Sie die Skriptdatei aus
./gradlew clean
./gradlew assembleDebug ./gradlew installDebug
adb shell am start -n applicationID / vollständiger Pfad der Launcher-Aktivität
Beachten Sie, dass Sie dies auch in Android Studio tun können, indem Sie auf das Gradle-Fenster und dann auf die Schaltfläche "Elefant" klicken. Dies öffnet ein neues Fenster mit dem Namen "Alles ausführen" (kann auch durch Suchen nach diesem Namen in "Überall suchen" gefunden werden), in dem Sie jeden gewünschten Gradle-Befehl manuell eingeben können. Nicht "ganz" Befehlszeile, bietet aber häufig mehr von dem was ich brauche als Windows Kommandozeile.
Auf diese Weise können Sie optionale Parameter für Gradle-Aufgaben usw. festlegen.