Questo genere di cose è un incubo - purtroppo il sistema di generazione di Android in realtà non lo supporta in ogni buon senso.
Lo facciamo avendo il 99% del codice della nostra applicazione in un progetto di libreria. Creiamo quindi un progetto di applicazione per ogni versione diversa dell'app, ognuno dei quali usa quella libreria.
Dove abbiamo bisogno diverse versioni del app per comportarsi in modo diverso, abbiamo attualmente raggiungere che avendo diverse risorse che vengono interrogati in fase di esecuzione. Tuttavia, stiamo passando all'utilizzo di Dependency Injection tramite RoboGuice.
Ci sono elementi di questo che funzionano abbastanza bene, e altri che non lo fanno. È necessario, ad esempio, duplicare il file AndroidManifest.xml, che può essere soggetto a errori (è facile, per esempio, aggiungere una nuova attività a un manifest e dimenticarsi di farlo negli altri). È un disastro, purtroppo, ma la soluzione meno pessima che abbiamo trovato.
Personalmente, sconsiglio vivamente di utilizzare i rami per ottenere questo effetto. Possono funzionare bene inizialmente, ma diventeranno rapidamente un incubo di manutenzione.
Uno dei vantaggi dell'utilizzo di una libreria è che abbiamo riscontrato che rende i test molto più semplici. Per un esempio di come impostare questa funzione, vedi:
http://www.paulbutcher.com/2010/09/android-library-project-with-tests-step-by-step/
fonte
2011-01-30 12:38:15
Penso che a un certo punto Google consiglia di utilizzare le librerie per farlo. –
La biblioteca progetta la strada da percorrere e non direi che è un incubo. Funziona perfettamente per qualcosa di simile. Questo potrebbe aiutarti anche a iniziare http://developer.android.com/guide/developing/eclipse-adt.html # libraryProject – schwiz
Buona risposta e ottimo link schwiz! Quindi questo è ciò che Google consiglia. – Metric