[英]Unresolved class name proguard-rules Android Studio 4.0
当我更新到 Android Studio 4.0 proguard-rules 时,它显示警告Unresolved class name
。 下面是示例,但我确定它仍然警告我项目中存在的 class。
-keep class com.squareup.haha.** { *; }
-keep class com.squareup.leakcanary.** { *; }
如果我从**
更改为*
这个警告就消失了。
-keep class com.squareup.haha.* { *; }
-keep class com.squareup.leakcanary.* { *; }
有人得到这个吗? 我应该忽略此警告还是 Android Studio 4.0 的错误?
更新
我发现它的错误,它已经分配但没有解决https://issuetracker.google.com/issues/153616200
七月更新
Google 团队已经分析并增加了这个 bug,可能与更新版本的 R8 有关。
八月更新
在AS 4.2 Canary 9
中已修复
检查这个问题: https://issuetracker.google.com/issues/147802433
`如果你右键点击错误,有选项“suppress for statement”,然后AS添加一个注释,例如:
noinspection ShrinkerUnresolvedReference
-保持 class 不存在。
有了这个评论,“not.existing”就没有错误了。`
This issue is fixed in Android Studio 4.2 Canary 8. Please find the release notes here https://androidstudio.googleblog.com/2020/08/android-studio-42-canary-8-available.html and check for this issue id #153616200
文件夹及其子文件。 我已经对此进行了测试:
com.xx.xx.* { *; }
我猜它可能包含多个文件夹和子文件。 我没有测试过这个:
com.xx.xx.**.* {*;}
代替
.**
和
.*.*
结果
-keep class com.squareup.haha.*.* { *; }
-keep class com.squareup.leakcanary.*.* { *; }
所有这些答案都是无意义的,因为:
LeakCanary 被添加为debugImplementation
。
release
版本中不存在的类制定规则是没有意义的。debug
构建更没有意义。如果您可能需要这些规则中的任何一条,则您已将其添加到错误的构建类型中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.