java混淆工具ProGuard,如何保留内部类

a_chinaren 2011-06-09 04:52:28
混淆保留内部类的问题困扰了许久,找到了一个办法。

比如有类为com.a.Test,这个类几个内部类,混淆时,指定类似参数即可。
-keep public class com.a.Test
-keep public class com.a.Test$*

如果需要保留private的内部类,估计把public改成private就可以

...全文
1427 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jin_luck 2012-09-11
  • 打赏
  • 举报
回复
保留是可以保留,但是调用的时候 ,就必须以 new Test$**()这样的方式调用了吗?求解啊。。
jin_luck 2012-09-11
  • 打赏
  • 举报
回复
保留是可以保留,可是调用的时候,就要以 new Test$**() 这种方式调用了嘛。。
xuzhisong 2012-08-15
  • 打赏
  • 举报
回复
把public去掉就可以了。不用带任何参数,已经测试通过了。
ccy_2011 2011-10-09
  • 打赏
  • 举报
回复
如果需要保留private的内部类,估计把public改成private就可以

好一句“估计”!
亲测,无效
a_chinaren 2011-06-09
  • 打赏
  • 举报
回复
补充,如果需要保留内部类的公用方法和属性,可以这样
-keep public class com.a.Test
-keep public class com.a.Test$*

-keepnames public class com.a.Test,com.a.Test$* {
public <fields>;
public <methods>;
}

在3.6版本测试通过。

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧