您的位置:首页 > 移动开发 > Android开发

Android Proguard 简单学习

2013-12-29 21:01 197 查看
* 配置签名信息

* 配置ProGuard
在ProGuard中添加proguard.config=proguard.cfg

运行混淆器之后输出的文件有:

dump.txt

   描述.apk包中所有class文件的内部结构。

mapping.txt

   列出了源代码与混淆后的类,方法和属性名字之间的映射。这个文件对于在构建之后得到的bug报告是有用的,因为它把混淆的堆栈跟踪信息反翻译为源代码中的类,方法和成员名字。更多信息,查看解码混淆过的堆栈跟踪信息。

seeds.txt

   列出那些未混淆的类和成员。

usage.txt

   列出从.apk中剥离的代码

# 不使用优化方案

-dontoptimize

# 保留签名,解决泛型问题

-keepattributes Signature

-dontskipnonpubliclibraryclassmembers

-dontskipnonpubliclibraryclasses

#工程中用到的第三方包

-libraryjars libs/android-support-v4.jar

#不混淆第三方包

-keep class android.support.v4.**

#忽略第三方包导致的异常

-dontwarn android.support.v4.**

----------------------------- 异常信息如下
 [proguard] Note: there were 1 references to unknown classes.

[proguard]       You should check your configuration for typos.

[proguard] Warning: there were 269 unresolved references to classes or interfaces.

[proguard]          You may need to specify additional library jars (using '-libraryjars'),

[proguard]          or perhaps the '-dontskipnonpubliclibraryclasses' option.

[proguard] Warning: there were 57 unresolved references to program class members.

[proguard]          Your input classes appear to be inconsistent.

[proguard]          You may need to recompile them and try again.

[proguard]          Alternatively, you may have to specify the options

[proguard]          '-dontskipnonpubliclibraryclasses' and/or

[proguard]          '-dontskipnonpubliclibraryclassmembers'.

BUILD FAILED

D:\android-sdk-windows\tools\ant\build.xml:736: Please correct the above warnings first.

参考资料:
Android 官方教程
http://developer.android.com/tools/help/proguard.html
官方文档中文翻译
http://www.cnblogs.com/over140/archive/2011/04/22/2024528.html

ProGuard官方网站
http://proguard.sourceforge.net/

Gson 打包问题
http://blog.csdn.net/codingandroid/article/details/9495405

? Android 导入的包如何处理?
分两类一类是第三方,一类是自己拥有源码的动态生成jar的包,需要设置混淆吗?目前是没发现要设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: