1. 程式人生 > >AndroidStudio專案第三方jar混淆規則

AndroidStudio專案第三方jar混淆規則

當一個專案要上線對外發布時,為了安全,不被別人破解,一般都要進行混淆或資源加密等,
下面就針對一些專案中用到的第三方Jar混淆規則進行record,會持續更新,敬請關注:
注:當無法確定第三方jar包存放位置時,可以通過-keep class xx.xx.包名來過濾。**

———————————-

一、 Gson混淆

———————————-

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

——————————————-

二、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

——————————————-

三、 volley混淆

——————————————-

-keep class com.android.volley.* {;}
-keep class com.android.volley.toolbox.* {;}
-keep class com.android.volley.Response;keepclasscom.android.volley.Request* { *; }
-keep class com.android.volley.RequestQueue;keepclasscom.android.volley.toolbox.HurlStack* { *; }
-keep class com.android.volley.toolbox.ImageLoader$* { *; }

———————————-

四、 ShareSDK

———————————-

-keep class cn.sharesdk.*{;}
-keep class com.sina.*{;}
-keep class *.R$ {*;}
-keep class *.R{;}
-dontwarn cn.sharesdk.**
-dontwarn *.R$

———————————-

五、UIL相關

———————————-

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

———————————-

六、高德地圖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.* {;}

—————————————————————

七、 Unity混淆

—————————————————————

-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)進行混淆配置。

——————————————-

八、內部類混淆配置

——————————————-

-keep class com.manjay.housebox.activity.CityListActivity;;keepclassmembersclasscom.manjay.housebox.activity.CityListActivity*{*;}

-keep class com.manjay.housebox.map.MapActivity;;keepclassmembersclasscom.manjay.housebox.map.MapActivity*{*;}

——————————————-

九、pinyin4j

——————————————-

-dontwarn net.soureceforge.pinyin4j.**
-dontwarn demo.**
-libraryjars libs/pinyin4j-2.5.0.jar
-keep class net.sourceforge.pinyin4j.* { ;}
-keep class demo.* { ;}

——————————————-

十、Volley

——————————————-

-libraryjars libs/volley.jar

——————————————-

十一、AsyncHttp

——————————————-

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

——————————————-

十二、JPush極光推送

——————————————-

-libraryjars libs/jpush-sdk-release1.6.3.jar
-dontwarn cn.jpush.**
-keep class cn.jpush.* { ; }

——————————————-

十三、EventBus

——————————————-

-libraryjars libs/eventbus-1.0.1.jar
-keepclassmembers class ** {
public void onEvent*(**);
}
-keepclassmembers class ** {
public void xxxxxx(**); //所有監聽的方法都要列在這裡
}

相關推薦

AndroidStudio專案第三方jar混淆規則

當一個專案要上線對外發布時,為了安全,不被別人破解,一般都要進行混淆或資源加密等, 下面就針對一些專案中用到的第三方Jar混淆規則進行record,會持續更新,敬請關注: 注:當無法確定第三方jar包存放位置時,可以通過-keep class xx.xx.包

Android專案:第三方Jar包proguard混淆之常見開源專案混淆配置

9、pinyin4j -dontwarn net.soureceforge.pinyin4j.** -dontwarn demo.** -libraryjars libs/pinyin4j-2.5.0.jar -keep class net.sourceforge.piny

Android常用第三方混淆規則集合

# Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in D:\android-sdk-windows/too

AndroidStudio匯入第三方jar

匯入第三方jar包是AndroidStudio經常要用到的操作,就我目前所知道的兩種方法(以ksoap2為例) 第一種方法 第一步:把下載好的jar包複製到專案的libs目錄下 第二步:點選工具欄倒數第三個按鈕project structure 第三步:app&g

java.lang.AbstractMethodError 第三方jar依賴混淆

abstract pan erro rar pla style one 其中 method 1.場景:libA,libB; 其中libB又依賴libA,在對libB進行混淆後調用時libA報java.lang.AbstractMethodError。解決方法: 在libB的

由於Jar混淆,導致專案打包時崩潰

在專案中加了個Jar包 執行時 沒事 打包時,在用到Jar中類的地方會崩潰 加入到專案中的jar包只要project.properties檔案中加了這麼一句: proguard.config=proguard.cfg 那麼proguard.cfg

maven專案中,呼叫了第三方jar包,新增jar到pom中。

直接將jar包拷貝到專案指定目錄下,然後在pom檔案中指定依賴型別為system。 <dependencies> <dependency> <groupId>xxx</groupId> <artifac

AndroidStudio專案製作SDK和打包成jar

這裡將詳細介紹AndroidStuido專案,開發過程中將AS專案打包成jar,及arr的使用 1.新建一個專案(步驟省略) 2.(在步驟1的基礎上)點選File-->New-->New Module—>選擇Android Library-->點選Next(如下圖:) 3、定義好

eclipse匯出java專案jar包(依賴第三方jar包)

一.在專案根目錄下建一個檔案:MANIFEST.MF 內容: Manifest-Version: 1.0 Class-Path: lib/commons-compress-1.9.jar lib/commons-dbcp2-2.5.0.jar lib/commons-dbutils-1.7.

Eclipse將引用了第三方jar包的Java專案打包成jar檔案的兩種方法

方案一:用Eclipse自帶的Export功能 步驟1:準備主清單檔案 “MANIFEST.MF”, 由於是打包引用了第三方jar包的Java專案,故需要自定義配置檔案MANIFEST.MF,在該專案下建立檔案MANIFEST.MF,內容如下: Manifest-Version: 1.0 Clas

IDEA maven專案匯入第三方jar

IDEA下的MAVEN專案匯入第三方jar包有點奇怪,就算是你匯入了jar包夜import成功了但是還是會報如下的錯: java.lang.NoClassDefFoundError:xxx 出現這種情況的原因是,儘管你匯入了jar包,但是專案實際上並沒有加入此jar包,你

專案jar包保留引數名及可執行專案jar包指定入口類和第三方依賴等

1. 專案打jar包保留引數名(jdk8) JDK8之後程式碼編譯就可以保留引數名了,不再顯示為arg0,arg1...,但JDK8編譯預設還是不保留引數名的,需要手動開啟; 那麼應該如何打jar包保留引數名呢? (1) 命令列編譯某個java檔案到class:  

用命令編譯、執行java專案(多個原始碼包,依賴第三方jar包)

首先專案的結構採用eclipse嚮導生成的java-web結構,如下圖所示: (其中 Libraries中的hibernate是第三方的庫,位於D:\微雲同步盤\352172935\hibernate_class_tools\hibernate_min\目錄下) 編譯  

mavean專案中,對非mavean管理的第三方jar包處理

通常情況下用mavean打包的時候,對非mavean管理的第三方jar包只需要在pom.xml 里加入如下配置就行了。 <plugin>   <artifactId>maven-compiler-plugin</artifactId>&

將Maven專案打包成可執行jar檔案和外種配置方式(引用第三方jar)

http://blog.csdn.net/zhangdaiscott/article/details/6911640 方法一. mvn assembly 或 mvn package (一個jar包) 把依賴包和自己專案的檔案打包如同一個jar包(這種方式對sp

如何在idea的maven專案中使用第三方jar

如何在maven專案中使用第三方jar 使用如下命令 mvn install:install-file -Dfile=c:/abc.jar -DgroupId=com.lianlianp

eclipse下將maven專案打包為jar(1.不帶第三方jar,2.帶第三方jar),親測有效

由於專案需要講maven專案打包為jar包,由於之前沒類似經驗,百度找例子走了不少彎路,這邊隨手記錄下,網上說的 開發工具:eclipse jar包管理:maven 一般打包出來的jar包分為兩種 一類是沒用引用第三方jar包的,他是不能不能直接用的,需要把你打的ja

將Maven專案打包成可執行jar檔案(引用第三方jar)

http://blog.csdn.net/zhangdaiscott/article/details/6911640 方法一. mvn assembly 或 mvn package (一個jar包) 把依賴包和自己專案的檔案打包如同一個jar包(這種方式對spring的專案

C++專案通過JNI使用Java第三方jar

最近在C++專案中碰到了需要使用第三方公司開發的Java jar包的問題,最後使用了JNI來解決。         參考了網路上不少的方法介紹, 大多數介紹JNI的文章講的的都是Java通過JNI來調C的原生代碼,其實這個也可以反過來用就是C的原生代碼通過建立Java虛擬機

如何檢視依賴第三方jar後,最低要求專案執行的jdk版本

在jar包下會存在一個META-INF目錄,該目錄下有一個MANIFEST.MF檔案,這個檔案以鍵值對的形式儲存一些關於jar包的關鍵資訊。下面我以dubbo的MANIFEST.MF檔案做為示例: Manifest-Version: 1.0 Archiver-Version: Plexus