android应用安全——代码安全(android代码混淆)

简介:

但关键在于如何编写proguard的混淆脚本,2.3的SDK使用简单的配置就可以实现混淆)。使用SDK2.3后,新建的工程下和之前相比,都会多了一个文件“proguard.cfg”。这个文件就是混淆所需的proguard脚本。在工程的"default.properties"中添加这样一句话“proguard.config=proguard.cfg”即可实现混淆(如下图)。


       android4.0SDK,ADT14或者更高版本,项目中没有default.properties文件,只有project.properties文件,找到project.properties文件即可。该文件中有以下两行:


# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): # proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt


              根据这段说明,只要将proguard.config前面的#去掉(下图),就可以利用ProGuard来混淆代码了!


      默认的设置是不带优化功能的,下面代码可优化混淆:

proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt



proguard 配置

最常用的配置选项
-dontwarn 缺省proguard 会检查每一个引用是否正确,但是第三方库里面往往有些不会用到的类,没有正确引用。如果不配置的话,系统就会报错。
-keep 指定的类和类成员被保留作为 入口 。
-keepclassmembers 指定的类成员被保留。
-keepclasseswithmembers 指定的类和类成员被保留,假如指定的类成员存在的话。


使用的JNI、jar时更应该考虑混淆的配置。


混淆更多配置请参考:

http://developer.android.com/tools/help/proguard.html#configuring


/**
* @author 张兴业
*  http://blog.csdn.net/xyz_lmn
*  android开发进阶群: 241395671
*/





     本文转自xyz_lmn51CTO博客,原文链接:http://blog.51cto.com/xyzlmn/1230747,如需转载请自行联系原作者




相关文章
|
3天前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
3天前
|
安全 Linux Android开发
Android 安全功能
Android 安全功能
43 0
|
3天前
|
安全 Linux Android开发
Android安全启动学习(一):AVB校验是什么?
Android安全启动学习(一):AVB校验是什么?
136 0
|
3天前
|
存储 安全 Linux
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
137 0
|
14小时前
|
达摩院 安全 Java
80 PM撸代码之Android【武侠讲封装、继承、多态】
80 PM撸代码之Android【武侠讲封装、继承、多态】
7 0
|
3天前
|
Ubuntu Android开发 数据安全/隐私保护
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
|
3天前
|
Java Android开发
Android 长按桌面显示菜单的代码
Android 长按桌面显示菜单的代码
11 0
|
3天前
|
Java Android开发
Android 切换壁纸代码流程追踪
Android 切换壁纸代码流程追踪
15 0
|
3天前
|
Shell Android开发
Android Activity重写dump方法实现通过adb调试代码
Android Activity重写dump方法实现通过adb调试代码
17 0
|
3天前
|
Java API Android开发
Android系统升级A/B分区OTA升级应用层调用UpdateEngine代码
Android系统升级A/B分区OTA升级应用层调用UpdateEngine代码
23 0