代码混淆_Proguard_javaScript

来源:互联网 发布:js设置css属性 编辑:程序博客网 时间:2024/05/16 13:02

搞代码混淆。

怎么用就不写了,网上一大堆。

就自己遇到的问题,说说。。。

首先就是.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调用时候不被混淆。。。