我想用proguard来混淆类名.我在Proguard.cfg中有这一行
-keepclasseswithmembers class * { public static <fields>; } -keepnames class * implements java.io.Serializable -keep public class com.google.**
而且我注意到没有混淆的是类名.所以运行jdgui我明白了
COM /测试/ ABCD / ActualClass.java
public class ActualClassName扩展了Activity等
此外,我看到返回真正的类名的方法.喜欢
ActualClassname aa();
并导入语句如
import com.abcd.ActualClassName
如何让Proguard对类名本身进行模糊处理.它不仅适用于我看到的活动,我的适配器也没有被混淆.好吧有混淆但不是类名.
上面的规则是什么阻止了类名被混淆了?
更新:我已经删除了上面的规则,并且没有从Android扩展任何东西的Utility类没有被混淆.我现在想知道是否有一些隐含的规则来保持类的类名被保存为类派生类的类?名称未被混淆的类有一些共同点:
1)静态方法
2)导入其他类型的类型,如源自活动或可序列化的类型.
3)他们有方法与其他类的参数(其中一些可能需要保留).
但是,我没有特别要求保留这些实用程序类的地方.
解决方法
原文地址:https://www.jb51.cc/android/315577.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。