先引用农民伯伯翻译的android sdk的关于proguard的翻译:http://www.cnblogs.com/over140/archive/2011/04/22/2024528.html

按照官方说明,在发布android 2.3的时候在sdk里已经集成了proguard混淆器功能,因此只要你的sdk有proguard功能,就算你新建的是2.2或以下的项目也是可以混淆的,不
过需要copy一个proguard.cfg文件到项目根目录下。
开启混淆功能只需要在project.properties中配置下就好了,只有一句:proguard.config=proguard.cfg
然后通过eclipse export导出 或者直接项目右键 android tools进行签名或者不签名导出,都会进行混淆。

重点:
1,按照上面的方法进行导出,出现错误如:conversion to Dalvik format failed with error 1.
原因是proguard版本过低。
在android sdk的tool目录下找到proguard目录,将里面的bin目录中的proguard.bat的最后面的%*改为 %1 %2 %3 %4 %5 %6 %7 %8 %9(为什么这么改我也不知道,csdn搜索到一帖子这么提示的,并且测试成功有效);
或者你直接升级proguard版本到4.6或以上即可(下载proguard 解压lib文件夹中的3个jar包并覆盖android sdk tool中的proguard下面的lib文件夹里即可)

2,在项目中如果引用了第三方的jar包可能会混淆不成功(我就是在这个问题里面困扰了好久),出现出现错误 You should check if you need to specify additional program jars.there were 39 unresolved references to classes or interfaces. You may need to specify additional library jars (using '-libraryjars')(通过看是某个jar中的文件的父类或者引用的接口不存在),直接在proguard.cfg中忽略该警告即可,
-dontwarn weibo4android.http.** //这句表示忽略weibo4android.http下面的类显示的警告,是2个星号哦
最后是不是能成功混淆了呢?通过混淆proguard帮我们删除了许多无用的代码,并将变量都替换成无意义的字符如a,b,c这样的字母,就算被反编译,过来人家也只能看到这些无意义的字符,具体是什么意思,就让他去猜去吧。

更多相关文章

  1. android SD卡学习3-读写文件
  2. 【原创】Android 引用第三方库文件大全
  3. android 识别U盘以及读写文件
  4. Android ListView中点击单行实现RadioButton的单选功能,自定义Ite
  5. 多媒体文件信息
  6. Android项目开发完成以后就要将android项目文件打包成apk文件
  7. 从Android项目学习Kotlin(一)
  8. [原创] 如何在android中实现swipe的手势功能及页面拖动动画

随机推荐

  1. Android(安卓)ui utils-简单实用的Androi
  2. Android(安卓)Studio 运行项目报错:org.ob
  3. Android属性汇总
  4. Activity与Fragment通过接口回调进行通信
  5. 关于Android的nodpi,xhdpi,hdpi,mdpi,ldp
  6. Android(安卓)logcat详细用法
  7. android菜单详解六:快捷键和菜单intent
  8. Android——横竖屏切换以及数据保存
  9. Android(安卓)matrix偏移(平移),旋转,缩放,
  10. androidjunit test基本知识(一)