Android中proguard混淆第三方jar包及内部类

转载 2013年12月02日 17:02:16

原文地址:http://www.cnblogs.com/MrShi/archive/2013/04/12/3016282.html


现在大部分项目都使用第三方的jar包,包括json解析的gson.jar,统计用户信息的umeng.jar,support-v4.jar等等等等,这些jar包本身基本都做了混淆,如果再用proguard混淆的话会出现错误,所以要通过-keep等方法不混淆这些jar中的内容,把到现在用过的整理下仅供参考~~


1.项目中有gson的jar包怎么办?

-keep class sun.misc.Unsafe { *; } 
-keep class com.google.gson.stream.** { *; } 
-keep class com.google.gson.examples.android.model.** { *; } 
-keep class com.google.gson.** { *;}

2.项目中有commons-httpclient-3.1.jar怎么办?

-keep public class org.apache.commons.httpclient.** {*;}
-keep public class org.apache.commons.httpclient.auth.** {*;}
-keep public class org.apache.commons.httpclient.cookie.** {*;}
-keep public class org.apache.commons.httpclient.methods.** {*;}
-keep public class org.apache.commons.httpclient.params.** {*;}
-keep public class org.apache.commons.httpclient.util.** {*;}
-keep public class org.apache.commons.codec.net.** {*;}
-keep public class org.apache.commons.logging.** {*;}
-keep public class org.apache.commons.logging.impl.** {*;}
-keep public class org.apache.commons.codec.** {*;}
-keep public class org.apache.commons.codec.binary.** {*;}

3.项目中有umeng_sdk.jar怎么办?

-keepclassmembers class * {
   public <init>(org.json.JSONObject);
}
-keep public class [您的应用包名].R$*{
    public static final int *;
}
把[您的应用包名] 替换成您自己的包名,如com.yourcompany.example。

如果您使用了双向反馈功能,还需要添加下面代码,以免我们自定义的UI被混淆:

-keep public class com.umeng.fb.ui.ThreadView {
}

4.项目中有baidumapapi.jar怎么办?

-keep class com.baidu.** {*;}
-keep class vi.com.gdi.bgl.** {*;}



相关文章推荐

android 代码混淆排除指定内部类

安卓中有时候我们需要调用固定名称的内部类,如js回调,我们需要保持这些内部类不被混淆,才能正确的调用到 在网上找到了解决办法 -keepnames class 包名.类名$* {     pub...

proguard 不混淆内部类的方法

保持proguard 不混淆内部类的方法有两种方法: 第一种: 直接-keep整个包下所有的类以及方法不被混淆; 如:-keep class com.AnywayAds....

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Android中proguard混淆第三方jar包

现在大部分项目都使用第三方的jar包,包括json解析的gson.jar,统计用户信息的umeng.jar,support-v4.jar等等等等,这些jar包本身基本都做了混淆,如果再用progura...

探索关于,Android工程 混淆 proguard. 自定义混淆接口的实现类的内部类混淆处理

在Android工程中混淆时,并不是所有的类都去混淆, 一些指定的类,我们要过滤掉不让其混淆。 在AndroidStudio中 混淆时 在 build.gradle 文件里面进行配置   build...

Android项目:proguard混淆第三方jar.

1、Gson混淆 ## ---------------------------------- ##   ########## Gson混淆    ########## ## -----------...
  • DJY1992
  • DJY1992
  • 2015年11月27日 10:21
  • 4337

【Android】jar包Proguard混淆方法

http://www.cnblogs.com/rayray/p/3421028.html

【Android】jar包Proguard混淆方法

本文章的前提条件是,读者已经掌握了正确导出jar包的技能。 1、拷贝Android项目中“proguard.cfg”文件到你指定的位置,并改名为“proguard.pro”,此步是为progua...

Android .jar包使用ProGuard方式混淆

Android .jar包使用ProGuard方式混淆最近工作中遇到将项目导出为xxx.jar,供合作方使用。jar文件无法通过加密提供给第三方使用,但是使用Eclipse–>export–>jar ...

android工程创建的jar包使用proguard进行混淆

在混淆.pro文件中添加以下代码 -keep public class * extends android.app.Activity  -keep public class * extends a...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中proguard混淆第三方jar包及内部类
举报原因:
原因补充:

(最多只允许输入30个字)