代碼混淆_Proguard_javaScript

搞代碼混淆。

怎麼用就不寫了,網上一大堆。

就自己遇到的問題,說說。。。

首先就是.xml文件中使用了重寫的View的混淆,在Xml文件中會用到,但是被混淆了,查到最後發現是構造器方面的混淆,這樣寫就不會混淆了。

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


-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.youku.paike.HorizontalListView
-keep public class com.youku.paike.Activity_Sort


-keep public class com.youku.paike.Activity_WebView$paikeJavascriptInterface
-keep public class * implements com.youku.paike.Activity_WebView$paikeJavascriptInterface


-keep public class com.android.vending.licensing.ILicensingService


-keepclassmembers class * implements com.youku.paike.Activity_WebView$paikeJavascriptInterface { 
    <methods>; 
}


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

加紅線的就是keep自定義View不被混淆,帶兩個參數的構造函數

2.對於Onclick事件的keep,寫法如下:

-keepclassmembers class * extends android.app.Activity { 
       public void *(android.view.View); 
}

3.在研究javascript被webView調用時候不被混淆。。。




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