如何使用 proGuard 进行混淆
how to obfuscate using proGuard
我创建了一个 class FMSHandler 并将其导出为一个名为 FMSCtrl_02.jar 的可运行 jar 并且该项目没有主要方法,FMSHandler class 中有一个名为过程(字符串 fms)。
在 proGuard 的 lib 目录中,我创建了一个包含以下内容的 myconfig.pro 文件:
-injars FMSCtrl_02.jar
-outjars FMSCtrl_02_out.jar
-libraryjars <java.home>/lib/rt.jar
-printmapping FMSCtrl_02.map
-keep public class com.example.FMSHandler {
}
现在我在另一个项目中导入FMSCtrl_02_out.jar时,发现方法process(String fms)无法访问!
如何正确混淆代码?
您还应该指定要保留的方法(使用正确的签名)。
-keep public class com.example.FMSHandler {
public void process(java.lang.String);
}
我创建了一个 class FMSHandler 并将其导出为一个名为 FMSCtrl_02.jar 的可运行 jar 并且该项目没有主要方法,FMSHandler class 中有一个名为过程(字符串 fms)。 在 proGuard 的 lib 目录中,我创建了一个包含以下内容的 myconfig.pro 文件:
-injars FMSCtrl_02.jar
-outjars FMSCtrl_02_out.jar
-libraryjars <java.home>/lib/rt.jar
-printmapping FMSCtrl_02.map
-keep public class com.example.FMSHandler {
}
现在我在另一个项目中导入FMSCtrl_02_out.jar时,发现方法process(String fms)无法访问!
如何正确混淆代码?
您还应该指定要保留的方法(使用正确的签名)。
-keep public class com.example.FMSHandler {
public void process(java.lang.String);
}