android 代码混淆

学习笔记之代码混淆

作者:皇马船长更新于 05月31日 09:30访问(168评论(5

1、为什么做代码混淆?

apk文件可以通过反编译得到应用的源码,如果我们不对代码做混淆,那么别人很轻松就能拿到我们辛辛苦苦做出的成果,所以才有了代码混淆,这样可以把类名、方法名、包名改成随意字母命名的如aa 、bb等,这样能提高我们代码的安全性

2、代码混淆怎么做 ?

其实google已经为我们做了很多工作,我们要做的就很简单了。步骤如下:
2.1 新建应用,我的这个是2.2的,由于手头有混淆需要的两个文件,所以只需把default.properties、proguard.cfg拷到项目的根目录下。然后在工程描述文件default.properties 文件 和 project.properties中添加一句代码:**proguard.config=proguard.cfg** 加到最后。
以下是截图
1.jpg2.jpg3.jpg
5.jpg
这样我们再生产apk文件后,反编译出的代码就是混淆过的了,这样的代码看起来是很头疼的,我们的代码也就安全了。
混淆后效果:
4.jpg

3、代码混淆也是有一定的原则

如果一些提供给外部的类、方法、变量等名字被改变了,那么程序本身的功能就无法正常实现,Activity、Application、Service、BroadcastReceiver、ContentProvider、BackupAgentHelper、Preference和ILicensingService的子类。因为这些子类,都是可能被外部调用的,所以不会改变;
另外,它还保留了含有native方法的类、构造函数从xml构造的类(一般为View的子类)、枚举类型中的values和valueOf静态方法、继承Parcelable的跨进程数据类。
在实际的一个工程项目中,可能Google自动生成的配置不能胜任我们的混淆工作。所以,我们往往需要自己编写一些ProGuard配置。这方面的资料在官网的Manual -> Usage里有详细说明。大家可以研究一下。

疑问: 网上很多人说Android2.3后的工程下都会自动生成default.properties、proguard.cfg 这两个文件, 但是我的怎么没有啊?每次都得手动添加

声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息

原文作者: 皇马船长

原文地址: http://my.eoe.cn/cainiao1/archive/4319.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值