首页 > 解决方案 > 新的 gradle 插件版本(4.1.0):不再返回任何资源字段

问题描述

要在 android 应用程序(使用 Kotlin)中获取所有可绘制对象,我调用R.drawable::class.java.fields.
从昨天开始,它工作得很好,但是当我更新时

classpath "com.android.tools.build:gradle:4.0.2"  

classpath "com.android.tools.build:gradle:4.1.0"

它只返回一个空数组(因此找不到字段/可绘制对象)。


我改变了除此之外的任何东西,还尝试清理项目,重建它,使 android studio 缓存无效并再次降级和升级,但对我没有任何帮助。


为什么会这样,有没有办法修复那个奇怪的错误?

标签: androidkotlingradleandroid-gradle-pluginandroid-resources

解决方案


我找到了一个解决方案:

我通过在 proguard 规则中添加一个条目来明确地将字段排除在资源收缩之外,如下所述:https ://github.com/mikepenz/AboutLibraries/issues/331

您只需将以下内容添加到应用程序模块的 proguard-rules.pro 文件中:

-keep class **.R$* {
    <fields>;
}

推荐阅读