Zbuduj aplikację Android Studio za pomocą wiersza poleceń

136

Chcę zbudować aplikację Android Studio (system kompilacji Gradle), ale chcę to zrobić za pomocą wiersza poleceń.

B. Nadolson
źródło
6
Na przykład ./gradlew assembleRelease, ./gradlew assembleDebug
Gabriele Mariotti
Jeśli masz wiele wariantów kompilacji, powinieneś przejść ./gradlew assembleYourVariantRelease
Michał Dobi Dobrzański

Odpowiedzi:

190

Android Studio automatycznie tworzy otokę Gradle w katalogu głównym projektu, w ten sposób wywołuje Gradle. Opakowanie to w zasadzie skrypt, który wywołuje rzeczywisty plik binarny Gradle i umożliwia aktualizowanie Gradle, co ułatwia korzystanie z kontroli wersji. Aby uruchomić polecenie Gradle, możesz po prostu użyć gradlewskryptu znajdującego się w katalogu głównym projektu (lub gradlew.batw systemie Windows), po którym następuje nazwa zadania, które chcesz uruchomić. Na przykład, aby zbudować wersję debugowania aplikacji na Androida, możesz uruchomić ją ./gradlew assembleDebugz katalogu głównego repozytorium. W domyślnej konfiguracji projektu wynikowy plik APK można następnie znaleźć w app/build/outputs/apk/app-debug.apk. Na komputerze * nix możesz również uruchomić, find . -name '*.apk'aby go znaleźć, jeśli go tam nie ma.

FuegoFro
źródło
36
Zajęło mi więcej niż 2 godziny, zanim zrozumiałem, jaki jest właściwy sposób uruchamiania Gradle z wiersza poleceń
Oded Regev
4
Uruchomiłem to z wiersza poleceń c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebugi pokazało mi to Pobieranie usług.gradle.org/ distributions/ gradle-2.10-all.zip . I tam utknęło. Za czym tęsknię
Saeed Neamati
Możesz także zainstalować aplikację z ./gradlew installArm7Debug. Inne zadania są łatwe do znalezienia od./gradlew tasks
Andreas Løve Selvik
1
Skompilowałem projekt i wgrałem go na urządzenie z Androidem za pomocą poleceń ./gradlew assembleDebugi ./gradlew installDebug. W AndroidStudio znajduje się konsola, która monitoruje wszystkie działania urządzeń z Androidem w czasie rzeczywistym (np. Jeśli urządzenie z Androidem ulegnie awarii, konsola drukuje ślad wyjątku). Jak umieścić ten obiekt monitorujący na terminalu?
mercury0114
Jak zapobiec pobieraniu przez Gradle -> Pobieranie usług.gradle.org/distributions/gradle-2.xyz-all.zip. Zauważyłem, że Gradle dobrze buduje projekt Androida, ale w wierszu poleceń występuje problem z ustawieniem proxy. Można to rozwiązać, umieszczając ustawienia proxy (ale w tej chwili nie mam tego przywileju), ale chcę po prostu ominąć pobieranie. Jak mogę to zrobić?
Raulp
24

Spróbuj tego (tylko OS X):

brew install homebrew/versions/gradle110
gradle build

Możesz użyć, gradle tasksaby zobaczyć wszystkie zadania dostępne dla bieżącego projektu. Nie Android Studiojest tu potrzebne.

superarts.org
źródło
4
Upewnij się, że masz zainstalowany homebrew na początek!
amitavk
1
„Nie potrzeba Android Studio” - chyba że potrzebujesz Android SDK. W każdym razie projekt, który próbuję zbudować, wymaga tego.
hmijail opłakuje resignees
21

istnieją dwa typy kompilacji aplikacji przy użyciu ustawień kompilacji Gradle: jeden do debugowania aplikacji - debugowanie - i jeden do budowania ostatecznego pakietu w trybie wydanie - wydanie.

Budowanie w trybie debugowania

  • Najpierw przejdź do folderu głównego projektu Android Studio za pomocą CMD wprowadź opis obrazu tutaj

  • uruchom to polecenie gradlew.bat assembleDebug

  • Okno wyjściowe wygląda następująco wprowadź opis obrazu tutaj

Zbuduj podpisany apk w trybie wydania

  • Edytuj plik build.gradle, aby skompilować projekt w trybie wydania:

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

wprowadź opis obrazu tutaj

  • uruchom to polecenie gradlew.bat assembleRelease

Gotowe. Powodzenia!

Dhaval Jivani
źródło
2
Czy istnieje sposób na automatyczne uruchamianie aplikacji po udanej kompilacji?
Ambar Jain
Nie mogę znaleźć sposobu na automatyczne uruchamianie aplikacji po kompilacji
Dhaval Jivani
3
@DhavalJivani uruchomić go w emulatorze? Jeśli tak, to tylko proste polecenia adb. Możesz nawet skierować określone działanie do uruchomienia. developer.android.com/studio/command-line/adb.html
blizz
@DhavalJivani Jaki jest najlepszy sposób na przetestowanie aplikacji na Androida w testowaniu automatyzacji ?. W przypadku sieci mamy selen w Pythonie i Node.
Harsh Manvar
9

To jest próba pełnego poradnika

1. Zainstaluj Gradle i Android SDK

Zarówno

  • Zainstaluj je w dowolny sposób
  • Uruchom ./gradlewlub gradlew.batjeśli w systemie Windows
    • chmod +x ./gradlew może być konieczne

Od tego momentu gradleodnosi się do uruchamiania Gradle w wybrany przez Ciebie sposób. Zastąp odpowiednio.

2. Skonfiguruj Android SDK

  • Jeśli ręcznie zainstalowałeś SDK

    • export ANDROID_HOME=<install location>
    • Możesz to umieścić w swoim, ~/.profilejeśli nie jest to zrobione automatycznie
  • Zaakceptuj licencje: yes | sdkmanager

    • sdkmanager może być znaleziony w $ANDROID_HOME/tools/bin
    • sdkmanager może wymagać uruchomienia jako root
  • Spróbuj biegać gradle

    • Jeśli pojawią się skargi dotyczące nie znalezienia licencji lub zestawów SDK, napraw uprawnienia do katalogu
      • chown -R user:group $ANDROID_HOME
      • Jeśli jesteś lekkomyślny i / lub jedynym użytkownikiem: chmod 777 -R $ANDROID_HOME

3. Budynek

  • gradle tasks wyświetla listę wszystkich zadań, które można uruchomić
  • :app:[appname] jest przedrostkiem wszystkich zadań, które zobaczysz w dziennikach Gradle podczas budowania
    • Można to wykluczyć podczas uruchamiania zadania

Kilka podstawowych zadań

  • gradle assemble: utwórz wszystkie warianty swojej aplikacji
    • Wynikowe pliki .apks są w formacie app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebuglub assembleRelease: zbuduj tylko wersje debugowania lub wydania
  • gradle installDebuglub installReleaseskompiluj i zainstaluj na podłączonym urządzeniu
    • Czy adb zainstalowany
    • Podłącz urządzenie z włączonym debugowaniem USB i transferem plików przez USB
    • Uruchom adb devices, sprawdź, czy Twoje urządzenie znajduje się na liście, a urządzenie jest obok niego

Automatycznie twórz i instaluj po zmianach

Pozwala to uniknąć ciągłego wykonywania tych samych poleceń

gradle -t --continue installDebug
  • -t: aka --continuous, automatycznie ponownie uruchamia zadanie po zmianie pliku
  • --continue: Kontynuuj po błędach. Zapobiega zatrzymywaniu w przypadku wystąpienia błędów

Biegnij gradle -hpo dalszą pomoc

williamvds
źródło
8

Prawdopodobnie jesteś tutaj, ponieważ też chcesz go zainstalować!

Budować

gradlew

(W systemie Windows gradlew.bat)

Następnie zainstaluj

adb install -r exampleApp.apk

( -rSprawia, że ​​zastępuje istniejącą kopię, dodaje, -sjeśli instalujesz na emulatorze)

Premia

~/.bash_profileUstawiłem alias w moim , aby uczynić z niego polecenie 2char.

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

(Skrót od Build and Install)

Gibolt
źródło
7

Ściągawka do uruchamiania Gradle z wiersza poleceń dla projektów Android Studio w systemie Linux:

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

Powinien zacząć ...

bph
źródło
3

W przypadku komputerów Mac użyj tego polecenia

  ./gradlew task-name
Vji
źródło
1

Tylko dla użytkowników MAC

Rozszerzam odpowiedź Vji .

Procedura krok po kroku:

  1. Otwórz Terminal
  2. Zmień katalog na swój projekt (cd PathOfYourProject)
  3. Skopiuj i wklej to polecenie i naciśnij enter:

    chmod +x gradlew
    
  4. Jak zasugerował Vji :

    ./gradlew task-name
    

    NIE ZAPOMNIJ DODAĆ. (KROPKA) PRZED / gradlew

Naveen Kumawat
źródło
1

Oficjalna dokumentacja jest tutaj:

Aby utworzyć debugowany pakiet APK, otwórz wiersz polecenia i przejdź do katalogu głównego katalogu projektu. Aby zainicjować kompilację debugowania, wywołaj assembleDebugzadanie:

gradlew assembleDebug

Spowoduje to utworzenie pliku APK o nazwie module_name-debug.apkw project_name/module_name/build/outputs/apk/.

Muhammad Usman
źródło
0

enter code hereUtwórz plik skryptu za pomocą poniższego polecenia gradle i adb, Wykonaj plik skryptu

./gradlew clean

./gradlew assembleDebug ./gradlew installDebug

adb shell am start -n identyfikator_aplikacji / pełna ścieżka aktywności programu uruchamiającego

user2851150
źródło
0

Uwaga, możesz to również zrobić w Android Studio, klikając okno gradle, a następnie przycisk „słoń”. Otworzy się nowe okno o nazwie „uruchom cokolwiek” (można je również znaleźć, wyszukując tę ​​nazwę w „szukaj wszędzie”), w którym można ręcznie wpisać dowolne polecenie gradle, w którym chcesz. Niezupełnie ”wiersz poleceń, ale często zapewnia więcej tego, czego potrzebuję, niż wiersz poleceń systemu Windows.

Pozwala to na nadanie opcjonalnych parametrów do stopniowania zadań itp.

mawalker
źródło
-2

Dodanie wartości do wszystkich tych odpowiedzi,

wiele osób prosiło o uruchomienie aplikacji w AVD po pomyślnej kompilacji.

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
AbhinayMe
źródło