Ho diversi progetti di applicazione che utilizzano un progetto di libreria comune. Recentemente ho provato a spostare alcune dichiarazioni di attività comuni da AndroidManifest.xml di ogni progetto di applicazione nel manifest della libreria e l'unione di manifest attivata con manifestmerger.enabled=true
in project.properties
.Proguard offusca i nomi delle attività in un manifest della libreria unita
Tutto funziona correttamente in una build di debug, ma i build di rilascio (offuscati da Proguard) non riescono con uno ActivityNotFoundException
. Questo perché Proguard sta offuscando i nomi delle attività dichiarate nel manifest della libreria, ma non quelle nel manifest dell'applicazione.
Ho esaminato il file bin/AndroidManifest.xml
unito per il progetto di applicazione e ha correttamente i nomi di attività elencati.
Qualcuno può suggerire una soluzione alternativa?
@ Eric, penso che sia un bug nel sistema di compilazione (https://code.google.com/p/android/issues/detail?id=36077). Avete qualche soluzione o suggerimento? – user802421
@ user802421 L'aggiunta esplicita delle righe di mantenimento sopra dovrebbe aggirarla. –
@ Eric, aggiungendo esplicitamente ancora non ha funzionato. È stata mantenuta solo la definizione della classe nel manifesto del progetto apk. In questo momento ho bisogno di disattivare la fusione e copiare tutto dal progetto lib. :( – user802421