失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > idea java代码混淆_idea 环境下代码混淆打包

idea java代码混淆_idea 环境下代码混淆打包

时间:2021-01-27 19:11:09

相关推荐

idea java代码混淆_idea  环境下代码混淆打包

#-------------------------3.与js互相调用的类------------------------

#-------------------------4.反射相关的类和方法----------------------

#-------------------------5.基本不用动区域--------------------------

#指定代码的压缩级别

-optimizationpasses5

#不去忽略非公共的库类

-dontskipnonpubliclibraryclasses

-dontskipnonpubliclibraryclassmembers

# 是否使用大小写混合

-dontusemixedcaseclassnames

#预校验

-dontpreverify

#混淆时是否记录日志

-verbose

#忽略警告,避免打包时某些警告出现

-ignorewarning

# 混淆时所采用的算法

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

#保护注解

-keepattributes *Annotation*

#记录生成的日志数据,gradle build时在本项目根目录输出

#apk 包内所有 class 的内部结构

-dump class_files.txt

#未混淆的类和成员

-printseeds seeds.txt

#列出从 apk 中删除的代码

-printusage unused.txt

#混淆前后的映射

-printmapping mapping.txt

#-----------------------------6.默认保留区-----------------------

# 保持哪些类不被混淆

-keep public class * extends android.app.Activity

-keep public class * extends android.app.Fragment

-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

#如果有引用v4、v7包可以添加下面这行

-keep publicclass*extendsandroid.support.*

-keepclasseswithmembersclass*{

public(android.content.Context,android.util.AttributeSet);

public(android.content.Context,android.util.AttributeSet,int);

}

-keepclassmembers class * implements java.io.Serializable {

static final long serialVersionUID;

private static final java.io.ObjectStreamField[] serialPersistentFields;

private void writeObject(java.io.ObjectOutputStream);

private void readObject(java.io.ObjectInputStream);

java.lang.Object writeReplace();

java.lang.Object readResolve();

}

# 保持 native 方法不被混淆

-keepclasseswithmembernamesclass*{

native;

}

# 保持自定义控件类不被混淆

-keepclasseswithmembersclass*{

public(android.content.Context,android.util.AttributeSet);

}

# 保持自定义控件类不被混淆

-keepclasseswithmembersclass*{

public(android.content.Context,android.util.AttributeSet,int);

}

# 保持自定义控件类不被混淆

-keepclassmembersclass*extendsandroid.app.Activity{

publicvoid*(android.view.View);

}

# 保持枚举 enum 类不被混淆

-keepclassmembersenum*{

publicstatic**[]values();

publicstatic**valueOf(java.lang.String);

}

# 保持 Parcelable 不被混淆

-keepclass*implementsandroid.os.Parcelable{

publicstaticfinalandroid.os.Parcelable$Creator *;

}

#---------------------------7.webview-----------------------

-keepclassmembersclassfqcn.of.javascript.interface.for.webview{

public*;

}

-keepclassmembersclass*extendsandroid.webkit.webViewClient{

publicvoid*(android.webkit.WebView,java.lang.String,android.graphics.Bitmap);

publicboolean*(android.webkit.WebView,java.lang.String);

}

-keepclassmembersclass*extendsandroid.webkit.webViewClient{

publicvoid*(android.webkit.webView,jav.lang.String);

}

#-----------------------------end-------------------------------

如果觉得《idea java代码混淆_idea 环境下代码混淆打包》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。