码迷,mamicode.com
首页 > 移动开发 > 详细

Android(java)学习笔记128:使用proguard混淆android代码

时间:2015-07-13 23:46:02      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:

1.当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的。为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等。我们需要对代码进行混淆,android的sdk中为我们提供了ProGuard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度。最近我做的项目,是我去配置的混淆配置,因此研究了一下,这里分享一下。

 

2.上面说到去除没有使用到的代码,对程序进行优化和压缩:这是程序的瘦身

apk瘦身一般有两条线,

  1. 去除无用的代码,例如引用一个比较大的lib,只使用了其中很少的功能。其他无用的代码可以想办法去掉
  2. 去除无用的资源文件,可能是第三方lib中的,也有可能是开发中引入了无用的资源

去除无用代码

当然是Proguard了!

gradle plug 0.14.0, runProguard 更名为minifyEnabled

去除无用资源

Android Gradle plug从0.14.0开始,支持自动去除没有使用的资源。

不过,这个开关是默认关闭的。可以在build type使用 shrinkResources true 开启。 要注意,这个功能的使用依赖于code shrinking, 所以minifyEnabled也必须打开。

  1. Support for automatic removal of unused resources

  2. Off by default for now, enable by setting shrinkResources to true in your release build types. Requires minifyEnabled as well.

具体配置如下

android {
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
        }
    }
}

效果

以我正在开发的一个app为例

  • 使用前2.02MB

  • 使用后1.90MB

效果明显!

Android(java)学习笔记128:使用proguard混淆android代码

标签:

原文地址:http://www.cnblogs.com/hebao0514/p/4644069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!