2011-09-29 18 views
12

Sto utilizzando il plug-in Maven Android per creare la mia applicazione.Nome pacchetto variabile con Maven Android Plugin

In realtà, sto realizzando 3 versioni "branded" della stessa app (l'icona dell'app, i colori, ecc. Cambiano, ma non le funzionalità). Sono consapevole del fatto che ho bisogno di utilizzare un nome di pacchetto diverso per ogni applicazione, in modo che possano essere considerati diversi.

Finora sono riuscito ad avere valori "dinamici", utilizzando filtri Maven in strings.xml:

<string name="app_name">${app_name}</string> 
<string name="widget_name">${widget_name}</string> 
<string name="app_icon">${app_icon}</string> 

Il problema è che questo non funziona per il nome del pacchetto! Se faccio:

<manifest package="${foo.bar}"> 

ADT (o meglio, il validatore XML in realtà) si lamenta dicendo pacchetto attributo ha carattere non valido '$'

non riesco a trovare alcuna soluzione per questo ... c'è un modo per dire a ADT di avviare il filtro delle risorse Maven o qualcosa del genere?

risposta

17

Dopo ulteriori ricerche, sembra essere abbastanza facile!

È sufficiente aggiungere <renameManifestPackage> nella configurazione del plug-in Maven per Android. Sembra funzionare a partire dalla versione> 2.9.0:

<plugin> 
    <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
    <artifactId>maven-android-plugin</artifactId> 
    <version>2.9.0-beta-5</version> 
    <configuration> 
     ... 
     <renameManifestPackage>${manifest_package}</renameManifestPackage> 
    </configuration> 
</plugin> 
+1

Funziona per voi? Ho ricevuto un'app che non può essere installata sull'emulatore –

+0

Ok. Funziona ma ho avuto un problema quando ho provato ad installare entrambe le app –

+0

Man, a questa risposta un anno e mezzo fa funzionava, non so ora con l'ultimo SDK, scusa – mexique1

Problemi correlati