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

时间:2013-08-18 15:09:07

标签: android eclipse

我需要从最终的APK中排除某些资产文件(一些MP3)。也就是说,它们不包含在APK编译中。我怎么能用eclipse做到这一点?

提前致谢。

3 个答案:

答案 0 :(得分:4)

您需要从assets文件夹中删除这些mp3。如果您想将它们与项目保持在一起而不是在APK中,只需创建单独的文件夹(即PROJECT并将文件移动到那里)。构建脚本将省略此文件夹,但您仍然可以将这些文件放在一个位置,并且可以使用它们,即版本化等。

答案 1 :(得分:1)

你应该使用Proguard。

它专门用于在构建APK时打包不同的资源。它已在标准Eclipse Android项目中启用,您只需要取消注释project.properties文件中的一行,并修改Proguard规则。

http://developer.android.com/tools/help/proguard.html

答案 2 :(得分:0)

尝试下一步:

    ...
    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