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

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

分类: 技术类   5095人阅读  评论(1)  收藏  举报

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.** {*; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误提示是因为你的Java程序中引用了Google的Gson库,但是该库并没有被正确地导入到你的项目中。你需要检查一下你的项目配置,确保Gson库已经被正确地添加到了项目的依赖中。如果你使用的是Maven或Gradle等构建工具,可以在项目的pom.xml或build.gradle文件中添加Gson库的依赖。如果你手动导入了Gson库的jar包,需要检查一下该jar包是否存在于项目的classpath中。 ### 回答2: 出现“程序包com.google.gson不存在”的错误,通常是因为没有配置正确的Gson库依赖或者没有正确地导入Gson库。 Gson是一款用于将JSON数据转换成Java对象,或者Java对象转换成JSON格式数据的开源库。本质上,它是一个Java类库,因此需要将其库源代码添加到项目中才能使用。 若要解决此错误,您可以尝试执行以下步骤: 1. 检查您项目中的依赖:您需要检查是否正确添加了Gson库的依赖。在Maven和Gradle中,您可以在项目的pom.xml或者build.gradle文件中查找是否有以下内容: Maven: ```xml <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency> ``` Gradle: ```groovy implementation 'com.google.code.gson:gson:2.8.6' ``` 2. 执行依赖更新:如果您确定已正确添加依赖库但仍然出现此错误,您可以尝试更新依赖库。在Maven中,您可以尝试执行以下命令: ```bash mvn clean install -U ``` 在Gradle中,执行以下命令: ```bash gradle clean build --refresh-dependencies ``` 3. 导入Gson库:如果您已正确添加依赖,并且依赖已成功更新,但仍然出现“程序包com.google.gson不存在”的错误,那么可能是因为您未正确导入Gson库。请确保您的Java类中正确导入了Gson库,例如: ```java import com.google.gson.Gson; ``` 总之,您需要检查您的项目是否正确添加Gson库依赖,并且正确导入了Gson库。如果所有步骤都已完成,但问题仍然存在,请尝试重新启动您的IDE或重新构建您的项目。 ### 回答3: 在使用Java开发过程中,经常会用到一些第三方的库或者框架。其中一个非常受欢迎的库就是Google Gson。它是一个Java对象和JSON之间进行序列化和反序列化的库,可以帮我们方便地将Java对象转换成JSON格式的数据或者将JSON格式的数据转换成Java对象。 然而,在使用Gson库的时候,有时候会出现“程序包com.google.gson不存在”的错误提示。这种情况往往是因为没有正确地引入Gson库或者版本不匹配导致的。 首先,我们需要检查一下项目的依赖是否正确。在Maven项目中,我们可以通过在pom.xml文件中添加以下依赖来引入Gson库: ``` <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency> ``` 在Gradle项目中,我们可以在build.gradle文件中添加以下依赖: ``` implementation 'com.google.code.gson:gson:2.8.6' ``` 如果我们使用的是非Maven或Gradle项目,可以手动下载Gson库,并将其添加到项目的classpath路径下。 如果确认依赖已经正确引入,还需要检查一下版本是否匹配。有时候项目中使用的依赖版本和代码中引用的版本不一致,也会导致找不到程序包的错误。 如果以上两个方面都没有问题,还可以尝试清除一下项目的缓存和重新构建,有时候缓存文件有问题也会导致这种错误。 总之,解决“程序包com.google.gson不存在”的错误,需要仔细检查项目依赖、版本和缓存等方面,逐一排查问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值