新的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缓存无效以及再次降级和升级,但是对我没有任何帮助。


为什么会这样,有没有办法解决这个怪异的错误?

解决方法

我找到了解决方法:

我通过在保护规则中添加条目来显式地排除资源收缩,从而使其发挥作用,如下所述:https://github.com/mikepenz/AboutLibraries/issues/331

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...