如何配置Android Gradle项目实现resources资源过滤与变量替换
错误原因
你参考的processResources配置是Java/JVM项目的标准Gradle配置,只有项目应用了Java插件时才会自动生成该任务。你当前用的是Android Gradle插件,不会默认创建processResources任务,所以直接配置会报找不到对应方法的错误。
解决方案
将你原来的processResources配置段替换为如下代码即可实现src/main/resources下的资源占位符替换:
android.applicationVariants.all { variant -> variant.mergeResourcesProvider.configure { // 替换占位符为指定值 expand(majorVersion: '1A') // 可选配置:限定仅处理指定后缀的文件,避免二进制资源被误修改报错 include '**/*.properties', '**/*.xml', '**/*.txt', '**/*.json' } }
特殊情况说明
如果你使用的是@majorVersion@格式的占位符(和Maven默认格式一致),可以把expand行替换为以下配置:
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [majorVersion: '1A'])
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

