17 # 通过jpype编写java的输出语句,打印hello world! 18 jpype.java.lang.System.out.println("hello World") 19 20 # 使用jar包中的类。通过包名.类名。包名为:com.lemon.encryption.类名为:RSAManager. 21 # JDClass代表RSAManager类。 22 JDClass = jpype.JClass("com.lemon.encryption.RSAManager") 23 ...
##保留main方法的类及其方法名 -keepclasseswithmembers public class * { public static void main(java.lang.String[]);} ##保留枚举成员及方法 -keepclassmembers enum * { *; } ##指定那些需要被保留名字的类和类成员,前提是他们在被代码压缩的时候没有被移除。 ##如:你可能希望保留那些实现了Serializabl...
在lib下找到proguard.jar,通过执行java -jar proguard.jar @ input #注:这个方法未尝试成功,报如下错误Error: Can't read [C:\Program Files (x86)\Java\jdk1.8.0_172\jre\jmods\java.base.jmod(;;;!**.jar;!module-info.class)] (No such file or directory: C:\Program Files (x86)\Java\jdk1.8...
cn.sintoon.camera.Product:publicstaticfinal intApublicstaticfinal intBprivatejava.lang.String nameprivatejava.lang.String url16:16:publicjava.lang.StringgetName()20:21:publicvoidsetName(java.lang.String)24:24:publicjava.lang.StringgetUrl()28:29:publicvoidsetUrl(java.lang.String) -keepclassmembers...
Java的字节码一般是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard的主要作用就是混淆。当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。 引用ProGuard官方的一段话来介绍就是: ...
ProGuard是一个纯java编写的混淆工具,有客户端跟jar包两种使用方式。可以将程序打包为jar,然后用工具进行混淆,也可以在maven中导入ProGuard的插件,对代码进行混淆。 大家都知道java代码可以反编译,因此有时候要保护自己的知识产权还真得费点心思,一般来说有三个思路: - 1、将class文件加密,这个是最安全的,但也费事...
java:3060) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 为了解决这个问题,可以使用<SDK目录>\tools\proguard\bin下的proguardgui.bat脚本将Crash堆栈信息还原到混淆前的状态。步骤如下: 运行proguardgui.bat脚本,然后点击ReTrace 选择mapping.txt文件,位于<module目录>/...
Java 小樊 180 2024-08-02 09:18:15 栏目: 编程语言 要使用ProGuard进行代码混淆,首先需要在项目的build.gradle文件中添加ProGuard插件的依赖: buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.2.0' classpath 'com.android.tools.build:gradle:7.0.3' ...
在R8出现之前,Proguard基本上配合Dx/D8使用,生成更小更快的Java字节码,然后交给Dx/D8生成Dalvik字节码【图5】,其中D8 比 dx 输出质量指令更少,寄存器分配更好的字节码。而 R8 【图6】是 D8 的衍生产品,旨在集成 ProGuard 和 D8 的功能,目前仍在优化中,逐渐成熟,具体查看QuardSquare官网[1]了解更多。对于微信...
有时Java工程依赖复杂,类也很多,此时用“-keep class ”参数结合取反符号“!”,可以实现仅混淆指定...