阅读更多 大家都知道,java 代码很容易被反编译,同样android 也是如此,android中引入了proguard 代码混淆。下面就说下怎么样在android中加入代码混淆。

Note:开发环境是Mac 系统。采用maven 开发

在pom 中加入:

org.eclipse.m2elifecycle-mapping1.0.0com.jayway.maven.plugins.android.generation2android-maven-plugin[3.1.1,)packageproguardupdate-versionorg.codehaus.mojobuild-helper-maven-plugin${project.build.directory}/${project.artifactId}-signed-aligned.apkapksigned-aligned${project.build.directory}/proguard/mapping.txtmapreleaseattach-signed-alignedpackageattach-artifact      parse-version              parse-version          com.pyx4meproguard-maven-plugin2.0.4packageproguardtrue${project.build.finalName}.jar${project.build.finalName}-small.jar${project.build.directory}${java.home}/lib/rt.jar${java.home}/lib/jsse.jarfalse        ...        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 ,代码已经被混淆了,这样被反编译的可能性就降低了。
开始时最好不要把混淆打开,因为混淆会,如果代码报错,是定位不到代码行的,显示的事混淆以后的代码,都是小字母了
如果有更好的方式,或者不对的地方,请多指正!

更多相关文章

  1. android底部栏中间按钮突出
  2. Android日志系统分析之日志设备驱动程序代码阅读
  3. android屏幕页面实现滚动,页面跳…
  4. Android键盘自动弹出解决方法分析
  5. Android设置透明效果
  6. Android(安卓)查看源码
  7. android:screenOrientation属性
  8. Android与JS互调
  9. android 制作的精美闹钟

随机推荐

  1. Android中的onWindowFocusChanged()方法
  2. 几个Android云测试
  3. Android 驱动之旅 (Based on Galaxy Nexu
  4. Android编程心得分享――JSON学习过程
  5. android ANR产生原因和解决办法
  6. LeakCanary使用详细教程(附Demo)
  7. Android 系统框架介绍
  8. Android中通过view.getContext获取Activi
  9. Android(安卓)专题上线
  10. 【Android开发】交互界面布局详解