我需要从APK的最终版本中排除某些资产文件(一些MP3)。也就是说,它们不包括在汇编的APK中。我如何使用eclipse做到这一点?
提前谢谢。
您需要从assets
文件夹中删除这些mp3。如果你想把它们放在项目中,但不放在APK中,只需创建单独的文件夹(即PROJECT
并将文件移动到那里)。构建脚本时会省略此文件夹,但您仍然可以将这些文件放在一个位置,并可以对其进行版本控制等。
您应该为此使用Proguard。
它是专门为在构建APK时打包不同资源而设计的。它已经在标准的Eclipse Android项目中启用,您只需要在project.properties文件中取消注释一行,并对Proguard规则进行修改。
http://developer.android.com/tools/help/proguard.html
尝试下一个:
...
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}
android.applicationVariants.all { variant ->
//if (variant.name.contains('Release')) { // exclude source and sourcemap from release builds
def rmmp3 = task("delete${variant.name}.rmmp3", type: Delete) {
delete "${buildDir}/intermediates/assets/${variant.dirName}/*.mp3"
}
variant.mergeAssets.finalizedBy rmmp3
//}
}
参考编号:https://stackoverflow.com/a/42207317/717267