阅读更多 大家都知道,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 Studio实现代码混淆
  3. Android之打开闪光灯关键代码
  4. Android代码混淆官方实现方法
  5. Android进度条源代码
  6. Android中使用ViewPage进行广告轮播测试代码
  7. Android Wi-Fi 设置带宽代码流程
  8. Android第一行代码笔记
  9. Android的源代码结构

随机推荐

  1. Android(安卓)中Activity,Window和View之
  2. Android(安卓)透明式系统栏设计
  3. Android尺寸标注设计大全和Android切图规
  4. Android(安卓)AIDL机制
  5. adb通过TCP/IP来调试Android设备
  6. Android学习手记:第一个应用程序!
  7. 详解Android技术的生态系统及其安全机制
  8. Android的Window类
  9. ART:Android(安卓)摆脱卡顿的希望?
  10. Android(安卓)Dialog使用举例