Gradle: excluye el archivo de la carpeta de activos de Android
assets build.gradle (4)
No es posible en este momento.
La función packagingOptions
no se aplica a recursos o recursos de Android.
¿Conoces una forma de excluir algún archivo de la carpeta de activos del proyecto de Android antes de que se fusionen varias carpetas de recursos o durante la fusión?
Por ejemplo:
android {
sourceSets {
main {
assets.srcDirs = [fileTree(dir: ''assets1'', exclude: ''myfile.txt''), ''assets2''] // does not work
assets.exclude ''assets1/myfile.txt'' // does not work
assets.exclude ''**/*.txt'' // does not work
assets.exclude ''*.txt'' // does not work
}
}
packagingOptions {
exclude ''assets1/myfile.txt'' // does not work
exclude ''**/*.txt'' // does not work
exclude ''*.txt'' // does not work either
}
aaptOptions {
ignoreAssetsPattern "myfile.txt" // does not work
}
}
Creo que esto debería hacer lo que quieras:
android {
aaptOptions {
ignoreAssetsPattern "myfile.txt"
}
}
Fuente: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-aapt-options
Prueba esto:
export ANDROID_AAPT_IGNORE="ignoreAssetsPatternThatActuallyWorks"
./gradlew assembleDebug
Es la única forma de influir en el paso mergeDebugAssets
(el código se encuentra aquí ).
Archivado un error sobre esto.
Me encuentro con el mismo problema y parece agregar un "!" funciona para indicar que el archivo debe ser excluido:
aaptOptions {
ignoreAssetsPattern "!myfile.txt"
}
"assets.exclude" también podría funcionar al agregar un "!" pero no lo he probado ...