我正在使用Proguard来混淆我的代码,我需要保留每个第三方库,如:
-keep class com.layer.**
-dontwarn com.layer.**
-keep class com.twitter.**
-keep class android.support.**
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
...
每当我添加一个新的第三方库时,我需要检查其包名并将其添加到我的proguard配置文件中,否则应用程序可能会崩溃.
我不能像这样写规则吗?我不关心那些不是我的代码.
-keep class !(my.package.name.**)
-dontwarn !(my.package.name.**)
Run Code Online (Sandbox Code Playgroud)
谢谢!
要保留除自己包中的类之外的所有内容,您可以使用已经指出的规则(括号除外):
-keep class !my.package.name.** { *; }
Run Code Online (Sandbox Code Playgroud)
这将隐含地保留其他所有内容.您仍然可以添加额外-keep如果需要为您的类的规则.
-dontwarn的规则应该以类似的方式工作:
-dontwarn !my.package.name.**,**
Run Code Online (Sandbox Code Playgroud)
如果需要,您还可以添加类似的-dontnote规则.
| 归档时间: |
|
| 查看次数: |
3552 次 |
| 最近记录: |