Mam i starą aplikację na Androida, którą próbuję migrować do systemu budowania gradle android. Aplikacja jest obecnie zbudowana w wielu konfiguracjach projektu i opublikowana jako cztery różne aplikacje (dwa różne zestawy danych i wersje bezpłatne/płatne dla obu zestawów danych). Udało mi się odejść od konfiguracji wielu projektów za pomocą flavorDimensions (wcześniej o nazwie flavorGroups), ale nie mogę wymyślić, jak ustawić inne ID aplikacji dla każdej kombinacji smakowej.Jak ustawić różne ID aplikacji dla każdej kombinacji środków aromatyzujących za pomocą flavorDimensions?
Ponieważ wersje aplikacji są już opublikowane, muszę zachować ten sam applicationid, jaki aktualnie posiada. Ze względu na sposób, w jaki zostało wykonane moje oryginalne nazewnictwo pakietów, nie mogę po prostu użyć kombinacji typu smak-kompozycja z "packageNameSuffix" (która byłaby świetną opcją, jeśli była to nieopublikowana aplikacja).
https://stackoverflow.com/a/20956353/4177090 odpowiada, w jaki sposób używać różnych folderów źródłowych do kombinacji smakowych, ale nie w jaki sposób (o ile jest to możliwe) ustawić określoną konfigurację dla każdej kombinacji w pliku kompilacji.
Gradle kompilacji fragment:
flavorDimensions "price", "dataset"
productFlavors {
free { flavorDimension "price" }
paid { flavorDimension "price" }
dataset1 { flavorDimension "dataset" }
dataset2 { flavorDimension "dataset" }
}
chciałbym mieć coś jak następuje w moim Gradle plik build (zauważ jak unlogic mój nazewnictwa jest, dlatego nie mogę używać packageNameSuffix):
freeDataset1 { applicationId "com.beansys.freeappdataset1" }
freeDataset2 { applicationId "com.beansys.freedataset2" }
paidDataset1 { applicationId "com.beansys.dataset1paid" }
paidDataset2 { applicationId "com.beansys.mypaiddataset2" }
Dlaczego nie porzucisz wymiarów i nie stworzysz osobnych smaków? – Simas
Dziękuję za sugestię. Mógłbym to zrobić, ale w takim przypadku musiałbym skopiować foldery źródłowe smaku, tj. Dane z zestawu danych byłyby powielane zarówno do folderu freeDataset1, jak i do folderu paidDataset1. Jeśli duplikowanie kodu i danych jest moją jedyną opcją, wolałbym wrócić do korzystania z rozwiązania wielozadaniowego (niezbyt czystego, ale co najmniej lepszego niż duplikowanie zawartości mojego folderu źródłowego). – Fredrik
Dlaczego połączyłeś odpowiedź sugerującą wiele folderów? – Simas