【问题标题】:Keep class methods but obfuscate packages in proguard保留类方法,但混淆 proguard 中的包
【发布时间】:2013-02-21 10:59:20
【问题描述】:

com.company.package1.CLASS
- 公共无效方法A();
- public void MethodB();
- public void MethodC();

CLASS 有 3 个公共方法,我需要保留它们,但可以删除包。 IE。预期的结果可能是

a.b.c.CLASS 或 a.b.c.D(替代方案,类名也被混淆了)
- public void MethodA();
- public void MethodB();
- public void MethodC();

我写了一些脚本,但是如何扩展它们以满足我的要求。

    -keep class 
        com.company.package1.CLASS {
        public <methods>;
    }

    -repackageclasses ''
    -allowaccessmodification

【问题讨论】:

    标签: obfuscation proguard


    【解决方案1】:

    您可以使用-keepclassmembers 代替-keep -- cfr。 ProGuard 手册 > 使用 > Overview of -keep options.

    【讨论】:

      【解决方案2】:

      将keep与allowobfuscation修饰符一起使用,如下所示

      -keep,allowobfuscation class xx

      【讨论】:

      • 这将保留类及其成员(即使未使用),但只需更改它们的名称?如果没有,怎么办?我想对某个包名中的所有类都这样做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 2016-07-04
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      相关资源
      最近更新 更多