2012-03-14 25 views
6

Mam specjalną aplikację na Androida, a klient chce uzyskać pomoc przy skórze w czasie budowy.Skórowanie aplikacji na Androida z profilami do kompilacji Maven

Na przykład: mvn czystej instalacji -P Developer mvn czystej instalacji -P Customer1, mvn czystej instalacji -P KLIENT2

Innymi słowy, inny klient potrzebuje trochę inny zestaw obrazów, różne ciągi (appName, copyright, itp.), a także, niektóre elementy w układach powinny być ukryte lub pokazane (profil programisty), więc różne układy też.

Moja pierwsza myśl polegała na tym, aby mieć foldery takie jak res-customer1, res-customer2 równolegle ze standardowym katalogiem res i zrobić definicję swap w profilu w pom.xml, a także zmienić jej nazwę na res, ale nie wydaje się to praca. Zawsze mam oryginalny folder res w kompilacji iw tym przypadku duplikuje błąd.

Czy to oznacza, że ​​zamiana powinna nastąpić wewnątrz res? Nie określiłem parametru resourceDirectory w konfiguracji dodatku android maven.

Dużo googlowałem, ale jak dotąd nie znalazłem nikogo z tym samym problemem. Jak to rozwiązać? Czy istnieje jakiś ogólny wzór do tego?

Wiele z góry dzięki

+1

Czy próbowałeś już specyfikacji ify resourceDirectory w konfiguracji androida maven w każdym profilu? na przykład $ {project.basedir}/res-custom1. To powinno działać zgodnie z oczekiwaniami. – yorkw

+0

Pracuję nad tym, wygląda na to, że masz rację, przyjacielu. Wrócę z ostateczną odpowiedzią, ale wiele podziękowań. – MartinC

+0

OK, działa, zrobiłeś mój dzień, yorkw :) Dziękuję bardzo. – MartinC

Odpowiedz

1

Jeśli chcesz użyć różnych aktywów lub zasobów dla różnych profili buid a jeśli nawet chcą łączyć kilka takich katalogów każdej kompilacji w inny sposób możesz śledzić ten świetny wpis na blogu:

https://ebuddytechblog.wordpress.com/2013/04/08/branded-android-builds-using-maven/

+0

Dzięki, będę wyglądać – MartinC

+0

@ Link do BlackLock nie wydaje się już ważny: Ostrzeżenie! Nie znaleziono aktualizacji mapowania domeny dla tej domeny. Zaloguj się i przejdź na stronę Aktualizacje domen swojego bloga, aby korzystać z tej domeny. – NightSkyDev

+0

Link zaktualizowany, dzięki za powiadomienie. – Blackhex

6

Na podstawie odpowiedzi z yorkw, to rozwiązanie działa dla mnie:

Dla każdego profilu, resourceDirectory należy dodać do konfiguracji z android wtyczki maven.

Na przykład:

<resourceDirectory>${project.basedir}/res-customer1</resourceDirectory> <resourceDirectory>${project.basedir}/res-customer2</resourceDirectory>

etc ...

+0

Czy możliwe jest posiadanie katalogów zasobów i zasobów, które będą automatycznie scalane tak jak w Gradle? – Blackhex

+0

To jest! Zobacz moją odpowiedź na to pytanie. – Blackhex