useproguard tutorial studio ofuscar minifyenabled features app android android-proguard

tutorial - Advertencia de Android Proguard: no se puede escribir el recurso(duplicar entrada zip)



proguard tutorial (3)

Habilité proguard y obtuve:

Warning:can''t write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-io-2.4.jar:META-INF/LICENSE.txt]) Warning:can''t write resource [META-INF/NOTICE.txt] (Duplicate zip entry [commons-io-2.4.jar:META-INF/NOTICE.txt]) Warning:can''t write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-collections-3.2.1.jar:META-INF/LICENSE.txt]) Warning:can''t write resource [META-INF/NOTICE.txt] (Duplicate zip entry [commons-collections-3.2.1.jar:META-INF/NOTICE.txt]) Warning:can''t write resource [META-INF/LICENSE.txt] (Duplicate zip entry [joda-time-2.7-no-tzdb.jar:META-INF/LICENSE.txt]) Warning:can''t write resource [META-INF/NOTICE.txt] (Duplicate zip entry [joda-time-2.7-no-tzdb.jar:META-INF/NOTICE.txt]) Warning:can''t write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-primitives-1.0.jar:META-INF/LICENSE.txt]) Warning:can''t write resource [META-INF/services/javax.annotation.processing.Processor] (Duplicate zip entry [icepick-processor-2.3.6.jar:META-INF/services/javax.annotation.processing.Processor]) Warning:can''t write resource [.readme] (Duplicate zip entry [classes.jar:.readme]) Warning:can''t write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-lang-2.6.jar:META-INF/LICENSE.txt]) Warning:can''t write resource [META-INF/NOTICE.txt] (Duplicate zip entry [commons-lang-2.6.jar:META-INF/NOTICE.txt])

Qué significa eso? ¿Debo excluir algo como aquí?

configurations { all*.exclude group: ''commons-logging'', module: ''commons-logging'' }


Del proguard.sourceforge.net/manual/… :

Advertencia: no se puede escribir el recurso ... Duplicar entrada zip

Sus archivos de entrada contienen varios archivos de recursos con el mismo nombre. ProGuard continúa copiando los archivos de recursos como de costumbre, omitiendo cualquier archivo con nombres usados ​​previamente. Una vez más, la advertencia puede ser una indicación de algún problema, por lo que es recomendable eliminar los duplicados. Una forma conveniente de hacerlo es especificando filtros en los archivos de entrada. No hay opción para desactivar estas advertencias.

El proceso de compilación estándar de Android especifica automáticamente los archivos de entrada por ti. Puede que no haya una manera fácil de filtrarlos para eliminar estas advertencias. Podría eliminar los archivos de recursos duplicados manualmente desde la entrada y las bibliotecas.


Está utilizando una biblioteca con archivos duplicados, es un error en gradle, para resolverlo, use esto en su proyecto build.gradle

android { packagingOptions { exclude ''META-INF/LICENSE.txt'' exclude ''META-INF/NOTICE.txt'' exclude ''.readme'' } }


La opción de agregar -ignorewarnings en el archivo de configuración del programa funcionó para mí. Todavía da una advertencia para ''META-INF / LICENSE.txt'' pero la compilación no falla. Pero use esta opción solo si está seguro de cuáles son sus efectos. Siga http://proguard.sourceforge.net/manual/usage.html#ignorewarnings para obtener más información.