簡體   English   中英

如何混淆 Jar 或 AAR 文件

[英]How to Obfuscated Jar or AAR files

有人可以幫助我,混淆或給我一個例子來做到這一點嗎?

我創建了一個.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);
}

請拯救我的一天。 希望你能幫助我。 提前致謝。

您可以將您的私人類/接口與其他軟件包,例如把你privateClass內部封裝package 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 *; }

請注意,您應該使用單個通配符*混淆內部包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM