【发布时间】:2018-03-08 13:48:19
【问题描述】:
我开始学习适用于 Android 的 Proguard。经过一番阅读,我开始尝试在我的项目中使用。当我开始生成发布版本时,我在 android studio 终端中看到很多警告和注释。我知道这完全取决于我的代码库和我使用的第三方库。
我的问题
我不明白这些警告的意思? 但是构建肯定会失败,并且无法生成 apk 文件。
令人惊讶的是,添加
-dontwarn packagename*会忽略这些警告,但再次不确定这样做是否安全。 通过添加-dontwarn来忽略这些警告总是可行的吗?
-dontwarn [class_filter]
指定根本不警告未解决的引用和其他重要问题。可选过滤器是 一个正则表达式; ProGuard 不打印关于类的警告 具有匹配的名称。忽视警告可能很危险。例如, 如果确实需要未解决的类或类成员 处理,处理后的代码将无法正常运行。 只使用 如果您知道自己在做什么,请选择此选项!
当然,在这一点上,我真的不知道我在做什么。如果您能帮助我理解,我将不胜感激;-)。
来自我当前项目的 Retrofit2 警告
警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy
警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy
警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy
只需在 proguard-rules.pro
中添加此行即可关闭上述警告-dontwarn retrofit2.**
【问题讨论】:
-
你到底想要什么?,建议或询问一些事情,请清除它。
-
- 我不明白这些警告想说什么? - 只需添加
-dontwarn就可以简单地忽略这些警告吗?