Apa Flavor Produk yang Android Studio bangun secara default di build.gradle?

160

Kami memiliki proyek Android yang menggunakan sistem pembangunan Gradle baru, dan kami menggunakan Android Studio sebagai alat pengembangan. Ketika ada beberapa rasa produk yang ditentukan dalambuild.gradle , kami melihat bahwa Android Studio membuat yang pertama ditentukan secara alfabet. Apakah ada cara untuk memberitahu Android Studio untuk membuat dan menguji hanya rasa produk tertentu selama pengembangan?

Joe
sumber

Jawaban:

334

Di kiri bawah jendela Studio ada tampilan merapat yang disebut "Bangun Varian".

Buka dan pilih varian mana yang ingin Anda kerjakan. Ini akan memengaruhi varian mana yang dibuat tetapi juga folder sumber yang diaktifkan, yang akan mendorong penyelesaian dalam editor kode dan sumber daya.

Xavier Ducrohet
sumber
15
Keren. Apakah ada cara untuk menyesuaikan mana yang lebih disukai setelah impor awal?
Joe
3
Saya kira tidak. Saya bisa bertanya kepada insinyur siapa yang melakukannya jika kita dapat menambahkan ini. Tetapi ini mungkin berbeda per proyek jika Anda memiliki rasa.
Xavier Ducrohet
34
Varian adalah kombinasi antara rasa dan tipe bangunan. Anda hanya dapat menggunakan varian. Anda tidak akan pernah bisa membangun apk yang hanya terasa.
Xavier Ducrohet
5
Jika Anda tertarik, Anda dapat menggunakan baris perintah untuk membuat varian yang ditentukan: ./gradlew assemble <Flavor1> <Flavor2> <...> <BuildType>, misalnya assembleGooglePlayRelease. Dan Anda dapat membangun dan menginstal pada perangkat yang terhubung atau emulator menggunakan: ./gradlew instal <Flavor1> <Flavor2> <...> <BuildType>
Deepscorn
5
Tetapi dengan citarasa produk apa, apakah Android studio membangun aplikasi secara default?
Malwinder Singh
20

Saat ini tampaknya tidak ada cara untuk memilih rasa default. Ada permintaan fitur di Android Issue Tracker untuknya:

https://code.google.com/p/android/issues/detail?id=64917

Anda dapat membintangi / memilih permintaan, sehingga mendapat prioritas lebih tinggi pada backlog alat pengembangan Android.

Anton Tananaev
sumber
3
fitur ini akan ada di Android Studio 3.5. NO JOKE - ini butuh 5 tahun untuk diimplementasikan !! (lihat tanggal pembuatan tiket)
Seseorang di suatu tempat
4

Ya ada caranya:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

Dan sebaliknya varian dengan tipe build debug disukai.

Itu ditambahkan di Android Studio 3.5, lihat permintaan fitur :

"Termasuk dalam Plugin Android Gradle 3.5.0-alpha08 dan Android Studio 3.5 Canary 8 [3.5.0.7].

Heuristik untuk proyek yang menggunakan AGP yang lebih lama dan proyek tanpa pengaturan eksplisit juga telah diperbarui untuk mendukung varian dengan debug tipe build, seperti yang dijelaskan dalam pesan komit. "

pengguna3556812
sumber
-1

Anda dapat menentukan perintah yang dijalankan di bagian sebelum meluncurkan Make Gradle-aware Make

Anda dapat mendaftar semua tugas gradle menurut gradlew tasks

masukkan deskripsi gambar di sini

Tshunglee
sumber
Saya mencoba ini dan walaupun tentu saja hanya menghasilkan satu rasa yang sedang dibangun, Android Studio masih akan meluncurkan varian yang dipilih. Lebih buruk lagi, jika saya memilih Kegiatan tertentu yang tidak ada dalam varian yang dipilih, maka saya mendapatkan pesan kesalahan yang membingungkan yang mengatakan "kegiatan tersebut harus diekspor atau mengandung filter maksud". Kesalahan hilang setelah saya mengubah pilihan build bariant.
Dagmar