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 gradlewSkript verwenden, das sich im Stammverzeichnis Ihres Projekts (oder gradlew.batunter 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 assembleDebugim 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 assemblyDebugund 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 assembleDebugund ./gradlew installDebugBefehlen 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 tasksSie alle für das aktuelle Projekt verfügbaren Aufgaben anzeigen. Hier wird kein Android Studiobenö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
./gradlewoder gradlew.batunter Windows
chmod +x ./gradlew kann notwendig seingradleBezieht 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>~/.profilewenn es nicht automatisch gemacht wirdAkzeptieren Sie die Lizenzen: yes | sdkmanager
sdkmanager kann gefunden werden in $ANDROID_HOME/tools/binsdkmanager muss möglicherweise als root ausgeführt werdenVersuche zu rennen gradle
chown -R user:group $ANDROID_HOMEchmod 777 -R $ANDROID_HOMEgradle 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 assembleDebugoder assembleRelease: Erstellen Sie nur die Debug- oder Release-Versionengradle installDebugoder installReleaseerstellen und auf einem angeschlossenen Gerät installieren
adb devicesprü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 -hum weitere Hilfe zu erhaltengradlew
(Unter Windows gradlew.bat)
adb install -r exampleApp.apk
( -rDadurch wird die vorhandene Kopie ersetzt. Fügen Sie eine hinzu, -swenn 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 assembleDebugAufgabe auf , um einen Debug-Build zu starten :
gradlew assembleDebug
Dadurch wird eine APK mit dem Namen module_name-debug.apkin erstellt project_name/module_name/build/outputs/apk/.
enter code hereErstellen 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.