Buat aplikasi Android Studio melalui baris perintah

136

Saya ingin membangun aplikasi Android Studio (sistem build Gradle), tetapi saya ingin melakukan ini melalui baris perintah.

B. Nadolson
sumber
6
Misalnya ./gradlew assembleRelease, ./gradlew assembleDebug
Gabriele Mariotti
Jika Anda memiliki beberapa varian versi, maka Anda harus pergi ./gradlew assembleYourVariantRelease
Michał Dobi Dobrzański

Jawaban:

190

Android Studio secara otomatis membuat pembungkus Gradle di root proyek Anda, begitulah cara memanggil Gradle. Wrapper pada dasarnya adalah sebuah skrip yang memanggil binary Gradle yang sebenarnya dan memungkinkan Anda untuk tetap mengikuti Gradle, yang membuat penggunaan kontrol versi menjadi lebih mudah. Untuk menjalankan perintah Gradle, Anda cukup menggunakan gradlewskrip yang ditemukan di root proyek Anda (atau gradlew.batdi Windows) diikuti dengan nama tugas yang ingin Anda jalankan. Misalnya, untuk membangun versi debug aplikasi Android Anda, Anda dapat menjalankan ./gradlew assembleDebugdari akar repositori Anda. Dalam pengaturan proyek default, apk yang dihasilkan kemudian dapat ditemukan di app/build/outputs/apk/app-debug.apk. Pada mesin * nix, Anda juga bisa menjalankannya find . -name '*.apk'untuk menemukannya, jika tidak ada.

FuegoFro
sumber
36
Butuh waktu lebih dari 2 jam untuk memahami apa cara yang tepat untuk menjalankan Gradle dari baris perintah
Oded Regev
4
Saya menjalankan ini dari baris perintah c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebug, dan itu menunjukkan saya Mengunduh services.gradle.org/distributions/gradle-2.10-all.zip . Dan macet di sana. Apa yang saya lewatkan?
Saeed Neamati
Anda juga dapat menginstal aplikasi dengan ./gradlew installArm7Debug. Tugas-tugas lain mudah ditemukan dari./gradlew tasks
Andreas Løve Selvik
1
Saya mengkompilasi proyek dan mengunggahnya ke perangkat Android menggunakan ./gradlew assembleDebugdan ./gradlew installDebugperintah. Di AndroidStudio ada konsol yang memonitor semua aktivitas perangkat Android secara real-time (mis. Jika perangkat Android mogok, konsol mencetak jejak pengecualian). Bagaimana cara mendapatkan fasilitas pemantauan ini di terminal?
mercury0114
Cara mencegah gradle mengunduh -> Mengunduh services.gradle.org/distributions/gradle-2.xyz-all.zip. Saya perhatikan gradle membangun proyek android dengan baik tetapi pada baris perintah ada masalah pengaturan proxy. Itu dapat diatasi dengan meletakkan settingan proxy (tetapi saat ini saya tidak memiliki hak istimewa itu) tetapi saya hanya ingin memotong hal pengunduhan .. Bagaimana saya bisa melakukan itu?
Raulp
24

Coba ini (hanya OS X):

brew install homebrew/versions/gradle110
gradle build

Anda dapat menggunakan gradle tasksuntuk melihat semua tugas yang tersedia untuk proyek saat ini. Tidak Android Studiodiperlukan di sini.

superarts.org
sumber
4
Pastikan Anda sudah menginstal homebrew!
amitavk
1
"Tidak diperlukan Android Studio" - kecuali Anda membutuhkan Android SDK, saya kira. Bagaimanapun, proyek yang saya coba bangun memang memintanya.
hmijail meratapi orang-orang yang mengundurkan diri
21

ada dua tipe build untuk membangun aplikasi Anda menggunakan pengaturan build Gradle: satu untuk debugging aplikasi Anda - debug - dan satu untuk membangun paket akhir Anda untuk mode rilis - rilis.

Membangun dalam Mode Debug

  • Pertama Arahkan ke folder Root proyek proyek Android studio menggunakan CMD masukkan deskripsi gambar di sini

  • jalankan perintah ini gradlew.bat assembleDebug

  • Jendela keluaran terlihat seperti ini masukkan deskripsi gambar di sini

Bangun apk yang ditandatangani dalam Mode Rilis

  • Edit file build.gradle untuk membangun proyek Anda dalam mode rilis:

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

masukkan deskripsi gambar di sini

  • jalankan perintah ini gradlew.bat assembleRelease

Selesai. Semoga Sukses!

Dhaval Jivani
sumber
2
Apakah ada cara untuk meluncurkan aplikasi secara otomatis setelah membangun berhasil?
Ambar Jain
Saya tidak dapat menemukan cara untuk meluncurkan aplikasi secara otomatis setelah pembangunan
Dhaval Jivani
3
@DhavalJivani meluncurkannya dalam emulator yang Anda maksud? Jika demikian itu hanya perintah adb sederhana. Anda bahkan dapat menargetkan aktivitas tertentu untuk diluncurkan. developer.android.com/studio/command-line/adb.html
blizz
@DhavalJivani apa cara terbaik untuk menguji aplikasi android dalam pengujian otomatisasi ?. Sedangkan untuk web kita memiliki selenium dalam python dan node.
Harsh Manvar
9

Ini adalah upaya panduan lengkap

1. Instal Gradle dan Android SDK

Antara

  • Instal ini sesuai keinginan Anda
  • Jalankan ./gradlew, atau gradlew.batjika di Windows
    • chmod +x ./gradlew mungkin diperlukan

Dari titik ini dan seterusnya, gradlemengacu pada menjalankan Gradle dengan cara apa pun yang Anda pilih. Pengganti sesuai.

2. Atur Android SDK

  • Jika Anda telah menginstal SDK secara manual

    • export ANDROID_HOME=<install location>
    • Anda mungkin ingin memasukkannya ke dalam ~/.profilejika tidak dilakukan secara otomatis
  • Terima lisensi: yes | sdkmanager

    • sdkmanager dapat ditemukan di $ANDROID_HOME/tools/bin
    • sdkmanager mungkin harus dijalankan sebagai root
  • Coba jalankan gradle

    • Jika ada keluhan tentang lisensi atau SDK tidak ditemukan, perbaiki izin direktori
      • chown -R user:group $ANDROID_HOME
      • Jika Anda ceroboh dan / atau satu-satunya pengguna: chmod 777 -R $ANDROID_HOME

3. Membangun

  • gradle tasks daftar semua tugas yang bisa dijalankan
  • :app:[appname] adalah awalan dari semua tugas, yang akan Anda lihat di log Gradle saat Anda sedang membangun
    • Ini dapat dikecualikan saat menjalankan tugas

Beberapa tugas penting

  • gradle assemble: buat semua varian aplikasi Anda
    • .Apks yang dihasilkan dalam app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebugatau assembleRelease: buat hanya versi debug atau rilis
  • gradle installDebugatau installReleasemembangun dan menginstal ke perangkat yang terpasang
    • Telah adb diinstal
    • Pasang perangkat dengan USB debugging dan transfer file USB diaktifkan
    • Jalankan adb devices, periksa apakah perangkat Anda terdaftar dan perangkat di sebelahnya

Secara otomatis membangun dan menginstal pada perubahan

Ini menghindari keharusan untuk terus menjalankan perintah yang sama

gradle -t --continue installDebug
  • -t: alias --continuous, secara otomatis menjalankan kembali tugas setelah file diubah
  • --continue: Lanjutkan setelah kesalahan. Mencegah berhenti ketika kesalahan terjadi

Jalankan gradle -huntuk bantuan lebih lanjut

williamvds
sumber
8

Anda mungkin di sini karena Anda ingin menginstalnya juga!

Membangun

gradlew

(Di Windows gradlew.bat)

Kemudian Instal

adb install -r exampleApp.apk

(Itu -rmembuatnya mengganti salinan yang ada, tambahkan -sjika menginstal pada emulator)

Bonus

Saya mengatur alias di saya ~/.bash_profile, untuk membuatnya menjadi perintah 2char.

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

(Pendek untuk Bangun dan Pasang)

Gibolt
sumber
7

Cheatsheet untuk menjalankan Gradle dari baris perintah untuk proyek Android Studio di Linux:

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

Haruskah Anda memulainya ..

bph
sumber
3

Untuk Mac gunakan perintah ini

  ./gradlew task-name
Vji
sumber
1

Hanya untuk Pengguna MAC

Memperluas jawaban Vji .

Prosedur langkah demi langkah:

  1. Buka Terminal
  2. Ubah direktori Anda ke Proyek Anda (cd PathOfYourProject)
  3. Salin dan tempel perintah ini dan tekan enter:

    chmod +x gradlew
    
  4. Seperti yang disarankan Vji :

    ./gradlew task-name
    

    JANGAN LUPA MENAMBAH. (DOT) SEBELUM / gradlew

Naveen Kumawat
sumber
1

Dokumentasi Resmi ada di sini:

Untuk membangun APK debug, buka baris perintah dan navigasikan ke root direktori proyek Anda. Untuk memulai pembuatan debug, aktifkan assembleDebugtugas:

gradlew assembleDebug

Ini membuat APK bernama module_name-debug.apkdalam project_name/module_name/build/outputs/apk/.

Muhammad Usman
sumber
0

enter code hereBuat file skrip dengan perintah gradle dan adb di bawah ini, Jalankan file skrip

./gradlew clean

./gradlew assembleDebug ./gradlew installDebug

adb shell am start -n applicationID / lintasan lengkap aktivitas peluncur

pengguna2851150
sumber
0

perhatikan, Anda juga dapat melakukan ini di Android Studio dengan mengklik jendela gradle, lalu tombol 'elephant'. Ini akan membuka jendela baru yang disebut "jalankan apa saja" (juga dapat ditemukan dengan mencari nama itu di 'cari di mana-mana') di mana Anda dapat secara manual mengetik perintah gradle apa pun yang Anda inginkan. Bukan baris perintah "cukup", tetapi seringkali menyediakan lebih banyak dari apa yang saya butuhkan daripada command line windows.

Ini memungkinkan Anda untuk memberikan params opsional untuk tugas gradle, dll.

mawalker
sumber
-2

Menambahkan nilai pada semua jawaban ini,

banyak yang meminta perintah untuk menjalankan Aplikasi dalam AVD setelah build berhasil.

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
AbhinayMe
sumber