android 代码proguard
16lz
2021-12-04
阅读更多 大家都知道,java 代码很容易被反编译,同样android 也是如此,android中引入了proguard 代码混淆。下面就说下怎么样在android中加入代码混淆。
Note:开发环境是Mac 系统。采用maven 开发
在pom 中加入:
注意红色部分,代码混淆要用到rt.jar 和jsse.jar 这两个jar包。但在mac 中没有这个rt.jar . 运行时候回报错,说没有这个jar。原来rt.jar 已经被包含在了classes.jar 里面了, 所以 我们就 做一个连接连过去。
Note: 也许路径会有所不同。
再次运行,刷新工程,就可以在target 文件夹下多了几个文件,progard_map.txt proguard_seeds.txt ... ok ,代码已经被混淆了,这样被反编译的可能性就降低了。
开始时最好不要把混淆打开,因为混淆会,如果代码报错,是定位不到代码行的,显示的事混淆以后的代码,都是小字母了
如果有更好的方式,或者不对的地方,请多指正!
Note:开发环境是Mac 系统。采用maven 开发
在pom 中加入:
org.eclipse.m2e lifecycle-mapping1.0.0 com.jayway.maven.plugins.android.generation2 android-maven-plugin[3.1.1,) package proguard update-version org.codehaus.mojo build-helper-maven-plugin${project.build.directory}/${project.artifactId}-signed-aligned.apk apk signed-aligned ${project.build.directory}/proguard/mapping.txt map release attach-signed-aligned package attach-artifact parse-version parse-version com.pyx4me proguard-maven-plugin2.0.4 package proguard true ${project.build.finalName}.jar ${project.build.finalName}-small.jar ${project.build.directory} false ${java.home}/lib/rt.jar ${java.home}/lib/jsse.jar ... .... com.pyx4me proguard-maven-plugin
注意红色部分,代码混淆要用到rt.jar 和jsse.jar 这两个jar包。但在mac 中没有这个rt.jar . 运行时候回报错,说没有这个jar。原来rt.jar 已经被包含在了classes.jar 里面了, 所以 我们就 做一个连接连过去。
Note: 也许路径会有所不同。
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/home/lib/jsse.jar sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/rt.jar /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/home/lib/rt.jar
再次运行,刷新工程,就可以在target 文件夹下多了几个文件,progard_map.txt proguard_seeds.txt ... ok ,代码已经被混淆了,这样被反编译的可能性就降低了。
开始时最好不要把混淆打开,因为混淆会,如果代码报错,是定位不到代码行的,显示的事混淆以后的代码,都是小字母了
如果有更好的方式,或者不对的地方,请多指正!
更多相关文章
- android底部栏中间按钮突出
- Android日志系统分析之日志设备驱动程序代码阅读
- android屏幕页面实现滚动,页面跳…
- Android键盘自动弹出解决方法分析
- Android设置透明效果
- Android(安卓)查看源码
- android:screenOrientation属性
- Android与JS互调
- android 制作的精美闹钟