2014-12-18 12 views
5

Diciamo che ho un'app white label che sto convertendo per essere costruita in Android Studio da Eclipse. Questa app ha circa 10 iterazioni che utilizzano tutte la stessa base di codice con risorse diverse che utilizzano tutte la stessa convenzione di nome, in quanto alcune di queste iterazioni hanno attività o servizi aggiuntivi che non sono necessari in tutte le build.È possibile utilizzare più file manifest per differenti build/sapori di gradle?

Voglio eliminare l'intero lotto di vecchi database per mantenere le basi di codice che sono essenzialmente le stesse e utilizzare solo un progetto di Android Studio. Capisco la base di questo set up con tutti i file sorgenti e file res ma sono bloccato su come gestire i diversi file manifest.

È possibile utilizzare aromi o buildtype per gestire il passaggio di più file manifest?

risposta

11

Diciamo che ho un'app etichetta bianca che sto convertendo in Android Studio da Eclipse.

Ho un'app etichetta bianca che sto convertendo in Android Studio da Eclipse.

Oh, no, aspetta — non volevi che letteralmente ...

:-)

Posso usare sapori o buildtypes per gestire la commutazione di più file manifesto?

Assolutamente. Puoi avere manifesti nei set di sorgenti di tipo flavor e/o build (ad es., src/debug/AndroidManifest.xml). Il loro contenuto verrà unito al manifest in main, i manifesti in qualsiasi progetto di libreria AARs/Android collegato e le varie impostazioni in build.config per creare The One True Manifest per ogni build specificata. C'è a page that describes the merger process e come vari attributi possono aiutare a controllarlo, anche se è un po 'confuso.

+0

Ah ah pensavo di poterlo fare, ma quella documentazione è stata abbastanza evidente una volta che ho iniziato a leggerlo (sì, è piuttosto confuso a prima vista). Quindi, come dovrei strutturare il mio progetto se ho una base di dati java ma più basi di risorse e file manifest? –

+1

@Jamesandresakis: "Quindi, come dovrei strutturare il mio progetto se ho una base di dati java ma più basi di risorse e file manifest?" - beh, dal momento che sembra che tu stia cercando di avere le diverse risorse/manifest per differenti build di produzione (cioè, le varianti spedibili dalla base "white label"), gli aromi del prodotto sarebbero il veicolo principale. La maggior parte del tuo codice Java va in 'src/main /', insieme a un set di base di risorse e un manifest. Esegue l'override su tali risorse e manifest andrà in sorgenti di fonti specifiche per l'aroma (ad esempio, 'src/whiteLabelShippableVariant1 /'). – CommonsWare

Problemi correlati