编译解决:Missing classes detected while running R8.

Android R8是一个代码混淆和压缩工具,可以将应用程序的大小和安全性优化。它引入了一些新功能,如成员内省、混淆指针、类内省等。

但R8使用起来一直不友好,因为自从使用R8之后编译问题不断。主要还是和混淆相关,经常报错,今天用compose开发应用又遇到一个,构建生产环境包的时候IDE报错提示如下:”

> Task :app:minifyDevReleaseWithR8

AGPBI: {"kind":"error","text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in D:\\xx\\app\\build\\outputs\\mapping\\devRelease\\missing_rules.txt.","sources":[{}]}

Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in D:\code\AppCenter\app\build\outputs\mapping\devRelease\missing_rules.txt.

AGPBI: {"kind":"error","text":"Missing class org.slf4j.impl.StaticLoggerBinder (referenced from: void org.slf4j.LoggerFactory.bind() and 3 other contexts)","sources":[{}],"tool":"R8"}

> Task :app:minifyDevReleaseWithR8 FAILED

Missing class org.slf4j.impl.StaticLoggerBinder (referenced from: void org.slf4j.LoggerFactory.bind() and 3 other contexts)

解决方法也很简单:

复制提示中链接用txt打开”D:\\xx\\app\\build\\outputs\\mapping\\devRelease\\missing_rules.txt“,里面有对应的提示:

# Please add these rules to your existing keep rules in order to suppress warnings.

# This is generated automatically by the Android Gradle plugin.

-dontwarn org.slf4j.impl.StaticLoggerBinder

把混下规则添加到应用的混淆配置文件(proguard-rules.pro)中即可解决,

-dontwarn org.slf4j.impl.StaticLoggerBinder


-----------------------------------
©著作权归作者所有:来自51CTO博客作者wx5a3d0ad21ba8b的原创作品,请联系作者获取转载授权,否则将追究法律责任
Android编译解决:Missing classes detected while running R8.
https://blog.51cto.com/u_13546852/9194708

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值