Android代码混淆那些事
来源:互联网 发布:迅捷fw325r设置软件 编辑:程序博客网 时间:2024/05/21 03:26
代码混淆的作用就不说了。这里以BaiduMapDemo作为例子说一下代码混淆:
这是这个工程大致轮廓:
(1)没有混淆apk反编译之后的情况:
具体到每个包下的情况:
可以看出来混淆的只是第三方的jar包,这并不是我们混淆的,而是第三方的jar包自带的混淆。
(2)那我们就开始混淆:
分两步走:
(|) 第一步:打开project.properties
原来这个文件是这样的:
看到第11行了吧,把第11行前面的#去掉。
变成了这样:
到了这里我们的却是已经混淆了。混淆的结果是这样的:
可以看到android.support.v4 被混淆(本来不应该混淆也没必要),第三方jar包混淆(本来人家自己已经混淆,然后你又进行了混淆)。
要解决上面的问题就必须自己指定那些东西混淆那些东西不去混淆,如下:
在proguard-project中添加:
-libraryjars libs/baidumapapi_v3_2_0.jar-dontwarn com.baidu.mapapi.**-dontwarn com.baidu.platform.**-dontwarn com.baidu.location.**-dontwarn com.baidu.vi.**-dontwarn vi.com.gdi.bgl.android.**-dontwarn com.baidu.lbsapi.**-dontwarn com.baidu.android.**-dontwarn android.support.v4.**-keep class com.baidu.mapapi.** {*; }-keep class com.baidu.platform.** {*; }-keep class com.baidu.location.** {*; }-keep class com.baidu.vi.** {*; }-keep class com.baidu.lbsapi.** {*; }-keep class vi.com.gdi.bgl.android.** {*; }-keep class com.baidu.android.** {*; }-keep class android.support.v4.** {*; }-keep interface android.support.v4.app.** { *; }具体的含义可以参考:
http://www.cnblogs.com/sw926/p/3314165.html
注意代码混淆只是在你apk签名的时候才会执行,你在平常调试的时候是不会执行混淆的。
0 0
- Android代码混淆那些事
- Android 代码混淆那些事
- Android分享:代码混淆那些事
- android那些事--混淆语法
- android混淆——我混淆的那些事
- android那些事--混淆的粗暴接触
- Android混淆那些事,看这篇就够了
- android 的混淆的那些事(模版)
- Android混淆那些事儿
- android混淆那些坑
- Android 混淆那些事儿
- Android 混淆那些事儿
- Android 混淆那些事儿
- Android代码混淆踩过的那些坑
- Android 代码混淆,混淆打包
- Android 代码混淆 webview混淆
- Android 混淆的那些坑
- [Android]混淆Android代码
- 请写出下面代码在 32 位平台上的运行结果并给出分析,并说明sizeof的性质
- C 语言程序设计实践 9.2 钱去哪了
- 使用SQL操作FeatureClass
- Memcache
- FragmentArgs (让你的Fragment的代码更少)讲解一
- Android代码混淆那些事
- JAVA基础(二) web.xml中<context-param>与<init-param>的区别与作用
- 编辑(配置)WebPart的属性等操作.
- lua和c的交互
- java如何获取网卡地址(硬件地址)
- 射频和无线技术入门(第2版)
- C 语言程序设计实践 9.3 排队
- MSSQL 取得下周行数据
- VIM 管理好插件,神器也可以华丽~