R8编译问题:Missing classes detected while running R8
Android R8是一个代码混淆和压缩工具,可以将应用程序的大小和安全性优化。它引入了一些新功能,如成员内省、混淆指针、类内省等。
但R8使用起来一直不友好,因为自从使用R8之后编译问题不断。主要还是和混淆相关,经常报错,最近又遇到一个:
Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in you path to mmissing_rules.txt
根据提示,根据报错提示找到app -> build -> outputs -> mapping -> ${app_name}-> 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 android.os.ServiceManager
-dontwarn com.bun.miitmdid.core.MdidSdkHelper
-dontwarn com.bun.miitmdid.interfaces.IdSupplier
-dontwarn com.google.firebase.iid.FirebaseInstanceId
-dontwarn com.google.firebase.iid.InstanceIdResult
-dontwarn com.tencent.android.tpush.otherpush.OtherPushClient
把上面这些提示信息加入到模块的proguard-rules.pro混淆配置文件中即可解决。
精彩的人生需要浪漫、无畏和勇气。