一分鐘 搞定你的混淆加密

最近一個項目 發現之前的 混淆加密不好使了。總結了一下既往對大家有用

廢話少說直接 上步驟。(把大象放冰箱裏)

請無限參考這篇文章:http://blog.csdn.net/wanghao200906/article/details/45335981

1.看下面項目圖片


應該都有這兩個文件吧。反正我是沒有config.cfg。網上都說有 。隨意了

2.配置  project.properties.



發現了吧這兩個是一樣的。直接複製好了。

3.配置proguard-project.txt 

這是沒配置過得



下面是配置過得。 着急的直接複製代碼 ,再稍加改動,不着急的掃一眼代碼 再看下面解釋,都得改一下因爲這是我項目的配置 跟你的不同 ,但大同小異


-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-ignorewarnings
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-dontwarn

-libraryjars /libs/android-support-v4.jar 
-libraryjars /libs/Android_SDK_component.jar
-libraryjars /libs/Android_SDK.jar
-libraryjars /libs/android-support-v4.jar
-libraryjars /libs/baidumapapi_v2_4_2.jar
-libraryjars /libs/CloudScanVirusSDK.jar
-libraryjars /libs/commons-httpclient-3.1.jar
-libraryjars /libs/commons-logging-1.1.jar
-libraryjars /libs/commons-net-2.0-ftp.jar
-libraryjars /libs/core.jar
-libraryjars /libs/gson-2.0.jar
-libraryjars /libs/jpush-sdk-release1.7.2.jar
-libraryjars /libs/libammsdk.jar
-libraryjars /libs/locSDK_3.1.jar
-libraryjars /libs/phonegap.jar
-libraryjars /libs/pn.jar
-libraryjars /libs/proguard.jar
-libraryjars /libs/signpost-commonshttp4-1.2.1.1.jar
-libraryjars /libs/signpost-core-1.2.1.1.jar
-libraryjars /libs/weibosdkcore.jar
-libraryjars /libs/armeabi/xwork-2.0.1.jar
-libraryjars /libs/armeabi-v7a/jpush-sdk-release1.7.2.jar
-libraryjars /libs/armeabi/libBaiduMapSDK_v2_4_2.so
-libraryjars /libs/armeabi/libcloudkill.so
-libraryjars /libs/armeabi/libjpush172.so
-libraryjars /libs/armeabi/liblocSDK3.so


-keep class com.baidu.location.** {*;}
-keep class com.google.gson.** {*;}
-keep class com.baidu.** {*;}
-keep class android.support.v4.** {*;}

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {  
    native <methods>;  
}  
  
-keepclasseswithmembers class * {  
    public <init>(android.content.Context, android.util.AttributeSet);  
}  
  
-keepclasseswithmembers class * {  
    public <init>(android.content.Context, android.util.AttributeSet, int);  
}  
  
-keepclassmembers class * extends android.app.Activity {  
   public void *(android.view.View);  
}  
  
-keepclassmembers enum * {  
    public static **[] values();  
    public static ** valueOf(java.lang.String);  
}  
  
-keep class * implements android.os.Parcelable {  
  public static final android.os.Parcelable$Creator *;  
}  

注意:


a 。這個加上他是忽略 warnig的。反正我沒加是各種錯
-ignorewarnings
b。不要編譯jar包。否則找不到也得報錯這是我用的libs裏面的jar包。你就都寫上吧。得聲明下jar包不然各種錯。


-keep class com.baidu.location.** {*;}
-keep class com.google.gson.** {*;}
-keep class com.baidu.** {*;}
-keep class android.support.v4.** {*;}




這句就是 不混淆 這些個類。不然的話 沒法編譯了。爲什麼其他的沒寫呢。因爲他們沒報錯。應該是這些類已經混淆過了 咱們在混淆就肯定報錯了。我理解的不一定對

c。要聲明一下用到過得第三方jar包 不聲明就混淆了 然後調用的時候找不到就跪了



-libraryjars /libs/android-support-v4.jar 
-libraryjars /libs/Android_SDK_component.jar
-libraryjars /libs/Android_SDK.jar
-libraryjars /libs/android-support-v4.jar
-libraryjars /libs/baidumapapi_v2_4_2.jar
-libraryjars /libs/CloudScanVirusSDK.jar
-libraryjars /libs/commons-httpclient-3.1.jar
-libraryjars /libs/commons-logging-1.1.jar
-libraryjars /libs/commons-net-2.0-ftp.jar
-libraryjars /libs/core.jar
-libraryjars /libs/gson-2.0.jar
-libraryjars /libs/jpush-sdk-release1.7.2.jar
-libraryjars /libs/libammsdk.jar
-libraryjars /libs/locSDK_3.1.jar
-libraryjars /libs/phonegap.jar
-libraryjars /libs/pn.jar
-libraryjars /libs/proguard.jar
-libraryjars /libs/signpost-commonshttp4-1.2.1.1.jar
-libraryjars /libs/signpost-core-1.2.1.1.jar
-libraryjars /libs/weibosdkcore.jar
-libraryjars /libs/armeabi/xwork-2.0.1.jar
-libraryjars /libs/armeabi-v7a/jpush-sdk-release1.7.2.jar
-libraryjars /libs/armeabi/libBaiduMapSDK_v2_4_2.so
-libraryjars /libs/armeabi/libcloudkill.so
-libraryjars /libs/armeabi/libjpush172.so
-libraryjars /libs/armeabi/liblocSDK3.so

這麼多的jar包。和so文件。可以直接無腦的在裏面聲明就行了


你們用呢 直接改我解釋的這兩段代碼 其他的就不用管了。

其實其他的就是從以前版本的config.cfg裏面考過來的。


好了這樣配置完你們的代碼應該就可以混淆了。簡單吧。

把大象放冰箱裏裏攏共分san步。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章