Uwaga: odpowiedź zredagowana po odpowiedzi Xaviera
Próbuję użyć różnych smaków kompilacji dla tego samego projektu aplikacji w Android Studio. Wydaje mi się jednak, że strasznie mi się nie udało konfigurować go do odpowiedniego działania.
Kroki:
- Utwórz nowy projekt Android Studio o nazwie „Test”.
Otwórz plik build.gradle * i dodaj następujące wiersze:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Po ponownym uruchomieniu Android Studio widzę teraz 4 warianty kompilacji w sekcji Warianty kompilacji. Oznacza to, że do tej pory udało nam się stworzyć smaki produktów. **
Utworzono nowy folder źródłowy dla flavour1 ; jednak nie jestem pewien, czy robię to we właściwy sposób. Oto jak to zrobiłem:
- Pamiętaj, że nazwa mojego pakietu dla tego projektu to:
com.foo.test
- Kliknij
src
folder prawym przyciskiem myszy , w przypadku flavour1 faktycznie utworzyłem poszczególne foldery w eksploratorze, w sposób odpowiadający strukturzesrc/flavor1/java/com/foo/test/MainActivity.java
. - Powyższe działało dobrze, ponieważ folder „java” jest zaznaczony na niebiesko , co oznacza, że IDE zna swój aktywny katalog źródłowy. Pakiet został również utworzony automatycznie. Mimo to otrzymuję ostrzeżenie o znalezieniu zduplikowanej klasy. Zobacz zrzut ekranu tutaj.
- W przypadku flavour2 próbowałem stworzyć pakiet ręcznie, ale folder „src” dla flavour2 nie wydaje się być niebieski, dlatego opcje są inne po kliknięciu prawym przyciskiem myszy, a „Nowy pakiet” nie jest dostępny do użycia. Zobacz zdjęcie tutaj.
- Zauważ, że dla flavour1 utworzyłem również katalog „res”, który zmienia kolor na niebieski, ale mimo to nie oferuje możliwości tworzenia ani pliku zasobów systemu Android, ani katalogu zasobów Andorid, na wypadek, gdyby chciał użyć innego Resoruces dla różnych smaków.
- Pamiętaj, że nazwa mojego pakietu dla tego projektu to:
czy robię coś źle? A może coś mi brakuje? Powiadom mnie, jeśli będziesz potrzebować więcej informacji.
* Mój projekt wydaje się mieć dwa pliki build.gradle. Jeden znajduje się w katalogu głównym folderu projektu (\ GradleTest), ten jest pusty. Drugi znajdujący się w katalogu głównym podfolderu \ GradleTest, również oznaczony jako „GradleTest” (GradleTest-GradleTest), to ten, który miał już kod po otwarciu; dlatego to jest ten, który redagowałem.
** Sprawdziłem ustawienia gradle i najwyraźniej opcja Użyj automatycznego importu była już włączona. Mimo to wprowadzenie zmian w pliku build.gradle nie powoduje automatycznej aktualizacji wariantów kompilacji. Uwaga: próbowałem również użyć opcji Build - Rebuild Project i / lub Build - Make Project, no-go. Nadal muszę zamknąć projekt i otworzyć go ponownie, aby zmiany odniosły skutek.
applicationId
jest teraz obsługiwany zamiastpackageName
.