如何将文件排除在已编译的APK中



我需要从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

最新更新