Jaki smak produktu domyślnie tworzy Android Studio w pliku build.gradle?

160

Mamy projekt na Androida, który wykorzystuje nowy system kompilacji Gradle i używamy Android Studio jako narzędzia programistycznego. Gdy w programie określono kilka odmian produktu build.gradle, zauważymy, że Android Studio tworzy pierwszy z nich określony alfabetycznie. Czy istnieje sposób, aby powiedzieć Android Studio, aby podczas opracowywania tworzył i testował tylko określony smak produktu?

Joe
źródło

Odpowiedzi:

334

W lewym dolnym rogu okna Studio znajduje się zadokowany widok o nazwie „Warianty budowania”.

Otwórz go i wybierz wariant, nad którym chcesz pracować. Będzie to miało wpływ na to, który wariant jest budowany, ale także na włączone foldery źródłowe, co wpłynie na uzupełnianie kodu i edytorów zasobów.

Xavier Ducrohet
źródło
15
Chłodny. Czy istnieje sposób na dostosowanie preferowanego przy pierwszym imporcie?
Joe,
3
Nie sądzę. Mogę zapytać inżyniera, który to zrobił, czy możemy to dodać. Ale może się to różnić w zależności od projektu, jeśli masz smaki.
Xavier Ducrohet,
34
Warianty to kombinacja smaków i typów konstrukcji. Możesz wdrażać tylko warianty. Nigdy nie możesz zbudować apk, który jest tylko smakiem.
Xavier Ducrohet
5
Jeśli jesteś zainteresowany, możesz użyć wiersza poleceń do zbudowania określonego wariantu: ./gradlew assemble <Flavor1> <Flavor2> <...> <BuildType>, np. AssembleGooglePlayRelease. I możesz budować i instalować na podłączonym urządzeniu lub emulatorze za pomocą: ./gradlew install <Flavor1> <Flavor2> <...> <BuildType>
Deepscorn
5
Ale z jakim rodzajem produktu, czy Android studio domyślnie tworzy aplikację?
Malwinder Singh
20

Obecnie wydaje się, że nie ma możliwości wyboru domyślnego smaku. W narzędziu Android Issue Tracker jest dla niego żądanie funkcji:

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

Możesz oznaczyć prośbę gwiazdką / głosować, aby uzyskać wyższy priorytet w zaległościach narzędzi programistycznych Androida.

Anton Tananaev
źródło
3
ta funkcja będzie dostępna w Android Studio 3.5. BEZ ŻARTU - wdrożenie tego zajęło 5 lat !! (spójrz na datę utworzenia biletu)
Someone Somewhere
4

Tak, jest sposób:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

Poza tym preferowane są warianty z typem kompilacji do debugowania.

Został dodany w Android Studio 3.5, zobacz prośbę o funkcję :

„Zawarte we wtyczce Android Gradle Plugin 3.5.0-alpha08 i Android Studio 3.5 Canary 8 [3.5.0.7].

Heurystyka dla projektów używających starszego AGP i projektów bez jawnych ustawień została również zaktualizowana, aby faworyzować warianty z debugowaniem typu kompilacji, zgodnie z opisem w komunikacie zatwierdzenia. "

user3556812
źródło
-1

Możesz określić polecenie uruchom w sekcji Przed uruchomieniem programu Make z obsługą Gradle

Możesz wyświetlić listę wszystkich zadań ocen według gradlew tasks

wprowadź opis obrazu tutaj

Tshunglee
źródło
Wypróbowałem to i chociaż z pewnością skutkuje to budowaniem tylko jednego smaku, Android Studio nadal uruchomi tylko wybrany wariant. Gorzej, jeśli wybiorę konkretne działanie, które nie jest w wybranym wariancie, otrzymuję mylący komunikat o błędzie z informacją, że „działanie musi zostać wyeksportowane lub zawierać filtr intencji”. Błąd znika, gdy zmienię wybór bariery kompilacji.
Dagmar