微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用aar库中的资源时Android应用程序崩溃资源ID始终为零0x0

如何解决使用aar库中的资源时Android应用程序崩溃资源ID始终为零0x0

我已将库项目更新为Android Studio 4.1.0和Android Gradle插件4.1.0。

它会构建一个包含一些Android资源的aar包。

一个应用程序包含该库,并使用aar包中的资源。

此应用崩溃并出现

Fatal Exception: android.content.res.Resources$NotFoundException
Resource ID #0x0

当我尝试使用aar库中的任何资源时。

解决方法

由于启用代码收缩(Proguard / R8)时,默认情况下不再保留R类的Android Gradle插件行为字段。

要在收缩后保留您的库资源,请将其添加到您的proguard-rules.pro文件中:

# Starting from Android Gradle plugin 4.1.0 fields from R classes are no longer kept by default
-keepclassmembers class your.library.package.R$* {
   public static <fields>;
}

请参阅:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。