Android 新的gradle插件版本(4.1.0):不再返回任何ressource字段

Android 新的gradle插件版本(4.1.0):不再返回任何ressource字段,android,kotlin,gradle,android-gradle-plugin,android-resources,Android,Kotlin,Gradle,Android Gradle Plugin,Android Resources,要在android应用程序(使用Kotlin)中获取所有可绘制内容,我调用R.drawable::class.java.fields 从昨天开始,它工作得非常好,但随着我的更新 classpath "com.android.tools.build:gradle:4.0.2" 到 它只返回一个空数组(因此找不到字段/可提取项) 我改变了除此之外的任何事情,还试图清理项目,重建项目,使android studio缓存失效,并再次降级和升级,但没有任何效果 这是为什么?有

要在android应用程序(使用Kotlin)中获取所有可绘制内容,我调用
R.drawable::class.java.fields

从昨天开始,它工作得非常好,但随着我的更新

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

它只返回一个空数组(因此找不到字段/可提取项)


我改变了除此之外的任何事情,还试图清理项目,重建项目,使android studio缓存失效,并再次降级和升级,但没有任何效果


这是为什么?有没有办法修复这个奇怪的bug?

我找到了一个解决方案:

我通过在proguard规则中添加一个条目来明确排除资源收缩中的字段,从而使其工作,如下所述:

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

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

AboutLibraries库的最新版本现在将包括更好的proguard规则,这将使自定义规则过时:
-keep class **.R$* {
    <fields>;
}