Han*_*Han 14 obfuscation android android-proguard
我有以下代码:
public class MyClass {
public void method1(Integer marks) {
}
private String method3(String name){
}
public interface interface1 {
void method4(Integer ID);
void method5(Integer rate, boolean status);
}
}
Run Code Online (Sandbox Code Playgroud)
我用过progaurd-rules.pro
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keepparameternames
-keep public class *
-keepclassmembers public class *{
public *;
}
-keep public interface packageName.MyClass$interface1 { *; }
Run Code Online (Sandbox Code Playgroud)
混淆代码如下:
public class MyClass {
public void method1(Integer marks) {
}
private String a(String var1){
}
public interface interface1 {
void method4(Integer var1);
void method5(Integer var1, boolean var2);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望接口方法变量(ID,速率和状态)不要混淆.即如下
public interface interface1 {
void method4(Integer ID);
void method5(Integer rate, boolean status);
}
Run Code Online (Sandbox Code Playgroud)
怎么可能?
Ary*_*yan -1
ProGuard 使用 Java 字节码的命名约定,如类文件名和堆栈跟踪中所示。所以:
-keep public interface com.somepackage.SomeClass$someInterface {*;}
Run Code Online (Sandbox Code Playgroud)
如果您的接口不是公开的。
-keep interface com.somepackage.SomeClass$someInterface {*;}.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2517 次 |
| 最近记录: |