0
点赞
收藏
分享

微信扫一扫

Android编译解决: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)中即可解决,eg:

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

举报

相关推荐

0 条评论