请尊重他人的劳动成果,转载请注明出处:《Android代码混淆指南》

本文将和大家分享使用Eclipse+ADT与使用Android Studio进行代码混淆打包的方法。


使用Eclipse+ADT进行代码混淆打包的方法

新版本SDK下进行打包混淆

如果使用新版本的SDK创建的Android项目会在项目的根目录下生成一个proguard-project.txt文件,该文件是默认的混淆规则文件。 混淆打包的步骤: 1.在proguard-project.txt文件中添加混淆的项目规则,大家可参考:《Android代码混淆之混淆规则》一文。 2.将project.properties文件中的#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt前的#号去到。如下图:新版本SDK下进行打包混淆代码混淆配置
至此,有关混淆的配置已经完成了。 3.打包项目,依次:右键项目》Export》选择Export Android Application》Next》选择Android项目密钥(没有的话可以创建一个)》Finish即可。 至此,项目已经混淆打包完成了,如果不放心的话,大家可以用Android开发之反编译与防止反编译一文中讲解的方法对试混淆后的代码进行测试。 注意:直接运行程序生成的安装包是没有经过混淆的。

老版本SDK下进行打包混淆

在老版本的SDK下创建的项目不会生成proguard-project.txt文件而是proguard.cfg文件。 混淆打包的步骤:
1.在proguard.cfg文件中添加混淆的项目规则,大家可参考:《Android代码混淆之混淆规则》一文。
2.在project.properties文件中添加proguard.config=proguard.cfg即可。如下图: Android代码混淆指南_第1张图片
3.其余步骤和在新版本SDK下打包的方法一致。

使用Android Studio进行代码混淆打包的方法

使用Android Studio创建的项目会在项目侧根目录下生成一个proguard-rules.pro文件,此文件便是混淆规则文件。

混淆打包的步骤:

1.在proguard-rules.pro文件中添加混淆的项目规则,大家可参考:《Android代码混淆之混淆规则》一文。

2.在Module下的build.gradle文件中将minifyEnabled false改为minifyEnabled true。

如:

buildTypes {        release {            minifyEnabled true            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }

其中:proguardFiles getDefaultProguardFile('proguard-android.txt')表示获取SDK下'proguard-android.txt‘文件中的默认混淆规则。

'proguard-rules.pro'表示使用项目根目录下的'proguard-rules.pro'文件中的混淆规则。

提示:proguard-rules.pro文件名可以任意,只要在配置文件中指明即可。比如,从其它项目中复制一个proguard.cfg混淆规则文件,只需将上面的代码改成proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'即可,这句话表示使用项目中根目录下的proguard.cfg文件作为本项目的混淆规则文件。

3.打包项目,使用Build菜单下的Generate Signed APK进行打包即可。注意,记得在Build Type:选项下选择release,否则只打包不会混淆。如下图:

Android代码混淆指南_第2张图片Android代码混淆指南_第3张图片Android代码混淆指南_第4张图片

推荐阅读:《Android开发之反编译与防止反编译》

Android代码混淆技巧》








更多相关文章

  1. Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(
  2. 升级代码的大概设计
  3. Unexpected namespace prefix "xmlns" found for tag LinearLayo
  4. Android下使用TinyXml读取xml配置文件(Cocos2d-x游戏开发)
  5. OpenCore 的代码结构
  6. Android创建文件夹

随机推荐

  1. Android画图之Matrix初识
  2. 最美应用-从Android研发工程师的角度之[最
  3. Android(安卓)Studio多渠道打包
  4. 强悍的跨平台开源多媒体中心XBMC介绍
  5. 已上线运营的斗地主APP项目源码(Android)
  6. Android基于IIS的APK下载(三)用JSON传输
  7. android的Thread、Runnable、Asyntask的
  8. 适配android P
  9. 针对Android(安卓)模拟器启动慢的问题,长
  10. Kotlin 第二弹:Android(安卓)中 PDF 创建