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?

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.


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.


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. "


-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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.