Android ProGuard使用要点!

原创
2012/04/29 16:20
阅读数 1.6W

1.基本的的使用可以很容易百度到,

 但是当你使用了android-support-v4或者android-support-v7或者android-support-v11包之后,你发现导出的时候,

警告相当得多,这个时候,就算百度,Google都不太好使了,因为他们都是回答了一部分,没有很好的解决你的问题:

 其实要解决你的问题的方法就在你的android-sdk路径的proguard中的文档中:

特别是Examples示例中:

示例中有专门针对android的说明:

  以下是第一点:

If you're using additional Google APIs, you'll have to specify those as well, for instance:

如果你使用了Google API,你还需要添加如下声明 

-libraryjars /usr/local/android-sdk/add-ons/google_apis-7_r01/libs/maps.jar

If you're using the Android Compatibility library, you should add the following line, to let ProGuard know it's ok that the library references some classes that are not available in all versions of the API:

如果你使用了android-support包,你需要使用以下声明设置,让ProGuard知道库中的一些类并不是在所有版本的API中可用:

-dontwarn android.support.**

 

如果你还有其它问题,那还是参见proguard文档吧..

2.使用ProGuard删除日志输出语句,

 Thanks to:statckoverflow

  (1)http://stackoverflow.com/questions/4435773/android-proguard-removing-all-log-statements-and-merging-packages

 (2)http://stackoverflow.com/questions/7086920/removing-logging-with-proguard-doesnt-remove-the-strings-being-logged

在开发android的时候,经常要使用Log.d()语句,但是发布的时候,如果一行一行的注释还是有点麻烦的.

这个时候可以使用如下的指令让proguard帮助我们删除他:

-assumenosideeffects class android.util.Log{ public static *** d(...); public static *** i(...); }

  

展开阅读全文
打赏
1
19 收藏
分享
加载中

引用来自“江辰”的评论

-dontwarn android.support.**
这个是写在build.xml文件中吗?

in proguard.config ,generally in you root dir of you project,
if you use ant, you'd better to look for more help in android sdk docs guide/tools/proguard
2012/05/01 20:38
回复
举报
-dontwarn android.support.**
这个是写在build.xml文件中吗?
2012/05/01 14:49
回复
举报
更多评论
打赏
2 评论
19 收藏
1
分享
返回顶部
顶部