设为首页收藏本站
机战Z2破界篇 星组汉化 下载

星组游戏论坛

 找回密码
 注册(QQ注册+邀请注册)

QQ登录

只需一步,快速开始

查看: 1283|回复: 4

[心得] Android使用proguard实现代码混淆 [复制链接]

管理员

勇者

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

UID
4
星币
371
积分
5121
阅读权限
255
注册时间
2007-6-30
最后登录
2018-6-22
发表于 2013-3-20 17:15:26 |显示全部楼层
一、代码混淆都做了什么?1 b5 X+ U: a0 H0 K" s/ Y4 Z5 p
1、代码混淆通常主要是去除不必要的代码,是用一些晦涩难懂的名称来重命名类,属性,方法等,以达到减小代码体积,增加反编译难度的目的。(如果我们的应用是收费的或者保密的,那么我们就很有必要通过代码混淆来提高我们代码的安全性)3 ~0 l, O2 _* F4 O0 Z$ ]  _( y2 ^8 c' z
二、在Eclipse中启用ProGuard  j+ J' ]0 E  I( x* v5 ^
1、确定Android SDK目录下是否存在proguard文件夹  k7 a& Y" F' G0 [. N2 B
例如我自己的D:\Environment\android-sdk-windows\tools\proguard
9 Y3 T2 H0 d( ?. F; l' |9 [2、配置& j- N' z1 b" Q  k+ L6 U
   1)检查项目根目录下是否存在proguard.cfg文件,如果不存在(说明的当前的项目是2.3以前的项目),需要新建一个2.3的android项目,从该项目中将proguard.cfg文件拷贝到你的项目根目录中,无需改动(除非你明白如何自定义自己的混淆策略),继续下面步骤。5 T# f" @! K# p, o& K5 U9 u
   2)如果存在,则找到项目根目录下的default.properties[如果你使用的是ADT14或者更高版本,那么项目中没有default.properties文件,只有project.properties文件,找到project.properties文件即可]文件,在文件中增加一项配置:proguard.config=proguard.cfg
5 G5 x2 e9 K# |这样就完成了配置,是不是很简单啊。以后使用Eclipse打包的该项目APK都被混淆了。下面的三、四、五是一些错误解决方案和详细文档。
6 J, m0 j) i/ o三、可能出现的错误
- i8 z5 Y$ j7 y: \* D' Q1、在打包APK的时候可能会出现如下错误:9 Q: Q) Y7 G  B- `) p+ `5 _) J7 r) i+ l
Conversion to Dalvik format failed with error 17 a( F4 \7 |6 e5 D; ^1 q3 w/ E
解决方案:
6 B8 @/ I' l/ y6 W, x" f, k在Android SDK安装目录下找到如下proguard.bat打开,如下修改:9 d! n5 u. q, S% U
6 d/ U* u" ^5 M: y) M
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*" P: w& `5 ]+ j: f5 D" J
改为
: A9 E7 [+ S; p+ z- [: @+ Y) p/ dcall %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
, |0 A% S: A# r8 Z+ P7 T, q
* ?+ t  G3 J# z! n& _9 x9 h6 p四、开源的代码混淆工具ProGuard
$ b. Z+ \4 q, w$ X& H1、项目文档:(若想自定义自己的混淆策略应该从这里了解)
& v9 \; n# B+ [2 ]: R; yhttp://proguard.sourceforge.net/index.html#manual/introduction.html
/ x% |* ?. v0 n% E6 ?; i) H五、Android中集成了ProGuard工具来实现代码混淆" B- @5 P" J  p) A. d8 X# a% ^
1、Android中的ProGuard使用指南
4 Y( G% Q8 R( \4 G+ S# M  |8 qwindows系统中指南位置:3 t. n! j, e3 j( _3 I
android-sdk-windows/docs/guide/developing/tools/proguard.html# G4 s2 j6 x) D4 i- K- d; O
Google在线DevGuid中的位置:
# a5 g$ o7 q7 q8 N) Ehttp://developer.android.com/guide/developing/tools/proguard.html# ^) T) P" T# |7 B
星组游戏开发组 急招游戏画师美工~~~详见链接点我进入招募贴

Rank: 11Rank: 11Rank: 11Rank: 11

UID
95061
星币
5191
积分
813
阅读权限
90
注册时间
2012-12-5
最后登录
2016-9-7
发表于 2013-3-20 17:16:37 |显示全部楼层
我就看看,我不说话
Freely Tomorrow

管理员

勇者

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

UID
4
星币
371
积分
5121
阅读权限
255
注册时间
2007-6-30
最后登录
2018-6-22
发表于 2013-3-20 17:22:33 |显示全部楼层
LS 快到碗里来~~
星组游戏开发组 急招游戏画师美工~~~详见链接点我进入招募贴

Rank: 3Rank: 3

UID
80282
星币
64
积分
290
阅读权限
30
注册时间
2011-12-2
最后登录
2018-6-12

STS-X-001 七芒星勋章

发表于 2013-3-21 09:56:31 |显示全部楼层
外行表示不明觉厉
头像被屏蔽

禁止发言

UID
115225
星币
59
积分
348
阅读权限
0
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-6-12 18:58:47 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Archiver|星组游戏论坛 ( 京公网安备110403080002 )  

GMT+8, 2018-6-23 02:35

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部