1.在Eclipse中新建HelloWorld的Android工程,里面只有MainActivity.java和UserBean.java。因为MainActivity是启动类,是不能被混淆的。我将演示下如何将UserBean混淆掉。

2.然后开始混淆,这步略,想知道怎么混淆,请看Android如何代码混淆

3.混淆完后,开始用dex2jar反编译,用jd-gui查看源代码

可以看到UserBean被混淆掉了,查看Eclipse在工程的根目录下面生成了一个progurad的文件夹。打开这个文件夹可以看到4个文件。其中有一个是“mapping.txt”,这里面列出了混淆前后的对应关系。可以看到我们的UserBean被混淆成了a,里面的成员变量id被混淆成了a,name被混淆成了b。在MainActivity中也能看出来。同时,proguard还把方法调用优化成了直接引用成员变量。

这只是一个简单的例子,所以看上去还没觉的很混乱。

对源码做混淆是一种非常常用的保护源码的方式,不仅如此,proguard还会对源码做一些优化、字节码进行缩减体积等


更多相关文章

  1. Android(安卓)源代码在线查看
  2. Android(安卓)5 消息机制源码分析
  3. android 关于Location of the Android(安卓)SDK has not been se
  4. Ubuntu下 下载Android(安卓)源码(来自官网)
  5. Android(安卓)代码混淆异常 transformClassesAndResourcesWithPr
  6. Android(安卓)开启闪光灯做手电筒 源码
  7. Android(安卓)恐怖幽灵音效 程序(源码详解)
  8. Android代码混淆
  9. Android中图片的放大和缩小源码

随机推荐

  1. android查看第三方libs的jar源码
  2. android的Home键的监听封装工具类(一)
  3. Android bitmap的压缩方式总结
  4. Android Handler线程间通信机制分析
  5. Android抓屏源码
  6. Android Gson 泛型解析
  7. 改变android 选项卡的背景色
  8. 'ADB server didn't ACK'的解决办法
  9. Android_J2meBuilder介绍
  10. Android系统中调试动态链接库.so文件的步