文档章节

各种常见jar包混淆

 木头板板
发布于 2016/03/01 11:10
字数 486
阅读 11
收藏 0

android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)

标签: 产品androidjarsdkgson

2014-11-14 11:46 6972人阅读 评论(1) 收藏 举报

 分类:

 

技术类(29) 

1、Gson混淆
## ----------------------------------

##   ########## Gson混淆    ##########

## ----------------------------------

-keepattributes Signature

-keep class sun.misc.Unsafe { *; }

-keep class com.google.gson.examples.android.model.** { *; }

 

2、greenDao混淆
# # -------------------------------------------

# #  ######## greenDao混淆  ########## 

# # -------------------------------------------

-libraryjars libs/greendao-1.3.7.jar

-keep class de.greenrobot.dao.** {*;}

-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
    public static java.lang.String TABLENAME;
}
-keep class **$Properties

 

3、volley混淆 
# # -------------------------------------------

# #  ############### volley混淆  ############### 

# # -------------------------------------------

-keep class com.android.volley.** {*;}

-keep class com.android.volley.toolbox.** {*;}

-keep class com.android.volley.Response$* { *; }

-keep class com.android.volley.Request$* { *; }

-keep class com.android.volley.RequestQueue$* { *; }

-keep class com.android.volley.toolbox.HurlStack$* { *; }

-keep class com.android.volley.toolbox.ImageLoader$* { *; }

 

4、sharesdk混淆
## ----------------------------------

##      sharesdk

## ----------------------------------

-keep class cn.sharesdk.**{*;}

-keep class com.sina.**{*;}

-keep class **.R$* {*;}

-keep class **.R{*;}

-dontwarn cn.sharesdk.**

-dontwarn **.R$*

 

5、UIL混淆
## ----------------------------------

##      UIL相关

## ----------------------------------

-keep class com.nostra13.universalimageloader.** { *; }

-keepclassmembers class com.nostra13.universalimageloader.** {*;}


6、高德地图sdk混淆
## ----------------------------------

##      高德地图sdk混淆

## ----------------------------------

-libraryjars   libs/android-support-v4.jar

-dontwarn android.support.v4.**   

-keep class android.support.v4.** { *; } 

-keep interface android.support.v4.app.** { *; } 

-keep public class * extends android.support.v4.** 

-keep public class * extends android.app.Fragment

-libraryjars   libs/MapApiLocation.jar

-libraryjars   libs/MapApiSearch.jar

-libraryjars   libs/Android_Map_V2.0.4.jar

-dontwarn com.amap.api.**  

-dontwarn com.a.a.**  

-dontwarn com.autonavi.**  

-keep class com.amap.api.**  {*;}     

-keep class com.autonavi.**  {*;}

-keep class com.a.a.**  {*;}


7、unity混淆(需要修改proguard.jar文件)
## ---------------------------------------------------------------

##      unity混淆(需要修改proguard.jar文件)

## ---------------------------------------------------------------

-libraryjars f:/work_hb_v021/Lib_SocShare_v237_0804/libs/untiy-classes.jar

-dontwarn com.unity3d.player.**   

-dontwarn org.fmod.**  

-keep class com.unity3d.player.**{*;} 

-keep class org.fmod.**{*;} 

-keep public class * extends com.unity3d.player.**

-keep public class * extends org.fmod.**

注:还需要对与unity交互的相关方法或者类(jni)进行混淆配置。


8、内部类或者内部接口类的混淆配置
# # -------------------------------------------

# #  ######## 内部类混淆配置  ########## 

# # -------------------------------------------

-keep class com.manjay.housebox.activity.CityListActivity$*{

        <fields>;

        <methods>;

}

-keepclassmembers class com.manjay.housebox.activity.CityListActivity$*{*;}

 

-keep class com.manjay.housebox.map.MapActivity$*{

        <fields>;

        <methods>;

}

-keepclassmembers class com.manjay.housebox.map.MapActivity$*{*;}


 

9、pinyin4j

-dontwarn net.soureceforge.pinyin4j.**

-dontwarn demo.**

-libraryjars libs/pinyin4j-2.5.0.jar

-keep class net.sourceforge.pinyin4j.** { *;}

-keep class demo.** { *;}

 

10、volley

-libraryjars libs/volley.jar

 

11、async http

-libraryjars libs/android-async-http-1.4.5.jar

 

12、JPush

-libraryjars libs/jpush-sdk-release1.6.3.jar

-dontwarn cn.jpush.**

-keep class cn.jpush.** { *; }

 

13、EventBus

-libraryjars libs/eventbus-1.0.1.jar

-keepclassmembers class ** {

    public void onEvent*(**);

}

-keepclassmembers class ** {

public void xxxxxx(**); //所有监听的方法都要列在这里

}

 

14、SlidingMenu

-dontwarn com.jeremyfeinstein.slidingmenu.lib.**

-keep class com.jeremyfeinstein.slidingmenu.lib.**{*;}

 

15、ActionBarSherlock

-dontwarn com.actionbarsherlock.**

-keep class com.actionbarsherlock.**{*;}
 
17、asmack-android-19-0.8.10.jar 聊天xmpp 第三方jar

-libraryjars libs/asmack-android-19-0.8.10.jar

-keep class com.kenai.jbosh.** {*; }
-keep class com.novell.sasl.client.** {*; }
-keep class de.measite.smack.** {*; }
-keep class org.** {*; }

/**如果项目用到jar的接口  此方不加,会有问题**/
-keep interface com.kenai.jbosh.** {*; }
-keep interface com.novell.sasl.client.** {*; }
-keep interface de.measite.smack.** {*; }
-keep interface org.** {*; }


© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 32
码字总数 13492
作品 0
成都
Android Studio多模块的SDK项目打包和混淆

任务遇到的难点 1.SDK项目多模块,编译后每个模块自己生成了1个jar包。但是需求是只对外发布一个jar包,需要进行合并多个jar包。 2.生成的jar包中因为模块引入了百度地图定位导致jar包内有不...

Gemini-Lin
2016/09/06
1K
0
Gradle实践之自定义打包jar+Log开关自动关闭

上一篇博客介绍了Gradle实践之多渠道自动化打包+版本号管理。由于我在公司里主要是做SDK开发的,这次我想介绍一下如何使用Gradle打出自己想要的jar包,并根据需要混淆、发布jar包。然后再介绍...

SuShine
2016/08/03
731
1
java反射一个class的所有属性为什么会反射出ABCDEFG这样的名称?

貌似是混淆jar包的问题,web调用了混淆jar包,反射的代码调了混淆jar里的class,这个时候field名称被混淆了。只有方法名称是正常的。有办法解决吗

猫不贰
2013/01/05
248
3
Jean同学的Proguard私房物语

由于项目中自主研发的一个Android平台工具库需要提供给外部人员使用,我们决定使用android sdk自带的proguard tool混淆源码。在动用了google之后得到的大量资源文中,拨云见雾、去糟存精,融...

jeanwoo
2012/08/10
0
0
Android Studio实现代码混淆

1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt buildTypes { release { signingConfig signingCon...

xunfang
2016/03/07
120
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
27
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部