Continuo a tornare a questo problema, poiché non sembra esserci una soluzione pulita. Qualcuno ha una buona strategia per escludere le risorse da un progetto figlio in Android?Inclusione/esclusione di risorse condizionali per Android apk build
Ho due scenari:
1 - progetto di libreria di base ha file di localizzazione per en, es, ecc
progetto --Child 1 utilizza tutte le localizzazioni, e tutto è buono
- -Il progetto figlio 2 è localizzato solo in inglese, ma il file .apk finale avrebbe una localizzazione parziale a causa delle risorse padre (anche se ADT19 o così ha aggiunto regole Lint per avvisare/impedire di farlo).
L'unica soluzione che ho in questo momento è quello di avere una libreria genitore separato per la localizzazione, e solo includerla nel progetto figlio 1. Questo è un grande dolore se hai un sacco di progetti di libreria.
2 - Esclusione di risorse specifiche della build. Ho alcune immagini che sono necessarie solo per le mie build Nook specifiche delle mie app, che sono attivate da una bandiera. Il codice condizionale funziona alla grande, ma le risorse sono sempre incluse.
Preferirei non creare ancora un altro progetto figlio per OGNI delle mie app. C'è un modo per impostare un flag di compilazione/compilazione per potare le risorse immagine specifiche in modo che non entrino nel .apk finale?
Il secondo problema potrebbe essere specifico per me, ma sono sorpreso che non riesca a trovare una buona discussione sul primo punto. Non ci sono altri sviluppatori che localizzano solo alcune app? O la maggior parte della gente sta semplicemente ignorando il problema?
Ho visto parlare di aggiungere file a un.apk, ma sto cercando qualcosa di un po 'più simile a ProGuard - automatico e integrato negli strumenti piuttosto che hackerare l'apk finale. – ProjectJourneyman
I tuoi scenari sono fattibili usando strumenti di build esterni come Ant o Maven, entrambi forniscono capacità di controllare ogni singolo passaggio durante il processo di compilazione (compilazione, dex, packaging e così via). se si utilizza Maven, l'esclusione delle risorse è piuttosto semplice tramite [maven-resource-plugin] (http://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html). – yorkw
Potrei aver bisogno di andare in quel modo. Speravo in una soluzione più pulita (e idealmente più semplice), però. – ProjectJourneyman