gpt4 book ai didi

android - 如何混淆 Jar 或 AAR 文件

转载 作者:行者123 更新时间:2023-11-29 23:18:51 26 4
gpt4 key购买 nike

有人可以帮助我,混淆或给我例子吗?

我创建了一个 .aar 文件和一个 .jar 文件,并放置了 getter 和 setter 类,如果他们访问它,它们将提供值(value)。

但是需要把隐藏的值放在上面的东西,别人不会看到它的值是什么。

     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";
}
}

注意:我也尝试使用混淆器,并检查了库,但他们仍然可以看到我的私有(private)类,我尝试使用接口(interface)并扩展类,但还是一样,

这是我的混淆示例:

-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);
}

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

最佳答案

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


package com.example.your.library.internal;

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

并将下面这行添加到你的proguard配置中

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

请注意,您应该使用单个 通配符* 混淆内部包。

关于android - 如何混淆 Jar 或 AAR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54819602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com