【问题标题】:How to Obfuscated Jar or AAR files如何混淆 Jar 或 AAR 文件
【发布时间】:2019-07-16 02:32:58
【问题描述】:

有人可以帮助我,混淆或给我做这件事的例子吗?

我创建了一个.aar 文件和.jar 文件,并放置了getter 和setter 类,如果他们访问它就会产生价值。

但是东西需要把隐藏的值放到别人看不到的值上就可以了。

     package com.example.test;
     public class MyClass  extends  privateClass{
            String testing;
            public MyClass() {
              this.testing = getStringExample();
            }
            public String getTesting() {
                return testing;
            }
            public void setTesting(String testing) {
                this.testing = testing;
            }
     }

如果我给我的库,这个类必须对其他开发者隐藏/混淆

    package com.example.test;

    public class privateClass {
        String getStringExample()
        {
             return "TEST RESULT";
        }
    }

注意:我也尝试过使用 proguard,并检查库,但他们仍然可以看到我的私有类,我尝试使用接口并扩展类但仍然相同,

这是我的 proguard 示例:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontwarn ccom.example.test.R*
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class
-keepclassmembers class com.example.test.** { *; }
-keep class com.example.eyefixdata.** {
    void set*(***);
    void set*(int, ***);
    boolean is*();
    boolean is*(int);
    *** get*();
    *** get*(int);
}

请拯救我的一天。希望你能帮助我。 提前致谢。

【问题讨论】:

标签: android android-studio jar obfuscation aar


【解决方案1】:

您可以将私有类/接口移动到其他包,例如将您的 privateClass 放入 internalpackage com.example.your.library.internal; 以与您的公共类/接口区分开来。


package com.example.your.library.internal;

public class privateClass {
    String getStringExample()
    {
        return "TEST RESULT";
    }
}

并将以下行添加到您的 proguard 配置中

-keep public class com.example.your.library.* { public *; }

请注意,您应该使用 single wild char * NOT 混淆内部包。

【讨论】:

  • 您好,@shizhen,您能教我如何将 privateClass 放入内部包中吗?一步步?谢谢你帮助我
  • "放入内部包"没什么特别的意思,就是把你的包名重命名为com.example.your.library.internal,这样的包名管理方式是为了方便你后续的混淆规则。
  • 还可以在这里查看我的另一个答案:stackoverflow.com/a/52771418/8034839 以进行交叉理解。
猜你喜欢
  • 2015-06-04
  • 1970-01-01
  • 2015-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多