问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于Android studio 怎么使用代码混淆的问题

发布网友 发布时间:2022-04-30 16:07

我来回答

1个回答

热心网友 时间:2022-04-23 22:41

1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt

buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
}
}
2,在proguard-rules.pro中加入以下代码,基本可以涵盖所有

-optimizationpasses 5 # 指定代码的压缩级别
-dontusemixedcaseclassnames # 是否使用大小写混合
-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.android.vending.licensing.ILicensingService # 保持哪些类不被混淆

-keepclasseswithmembernames class * { # 保持 native 方法不被混淆
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 * { # 保持枚举 enum 类不被混淆
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆
public static final android.os.Parcelable$Creator *;
}
3,通过 Android Studio进行 混淆代码时,默认已经将 lib目录中的 jar 都已经添加到打包脚本中,所以不需要再次手动添加,否则会出现“ java.io.IOException: The same input jar is specified twice” 错误。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
iPhone XR电量百分比怎么设置 Django如何使用网页嵌套网页(2023年最新解答) 社保之前工作缴了 后面工作不缴。自己要怎么续上?自己缴要缴多少?每... 壁挂炉数字不亮了怎么回事了解壁挂炉数字不亮的原因及解决方法_百度知 ... 单反长镜头和短镜头什么区别 ai的剪切蒙版快捷键是什么 自学当程序员需要哪些基础 程序员,需要学什么课程 想当一名出色的程序员数学必须要很好吗 华为路由器192.168.1.1怎样设置? Android-android 怎么实现只混淆自己的代码,而不混淆第3方jar包_百度... seetong监控怎么注销账号 这本书怎么写读后感 2万内的,皮带的女士手表求推荐 android代码混淆以及怎么判断一个apk代码是否被混淆过 哪本书读后感好写,就是感悟特多的那种。 职业药师在什么时间报名,需要什么证件 如何混淆android代码以及注意事项 稻草人这本书的读后感 我想买一个2万左右的女士手表,帮忙说一下 《人生》这本书怎么样,《人生》读后感 药剂师需要什么条件才能考 欢喜自在这本书的读后感 2万左右的女士手表,选哪个牌子,哪款好些 读一本好书的心得体会,需要二千字的文章如钢铁是怎样炼成的这本书的读后感 专业网贷技术哪里有 分享《中国活法》读后感吧 中国人事考试网2017年执业药师考试报考条件有哪些要求 读完一本书的读后感 这本书读后感。 android studio 代码混淆错误 萤石云摄像头怎么删除原账号 监控摄像头不用了如何注销 android如何将混淆代码还原? 爱维宝贝监控机如何注销掉之前帐户 Android如何保持指定类不被混淆? 请问在房管局申请注销监控账户时需要提交什么资料。最好有一份资料清单,谢谢。 摄像头用户怎么注销? android中哪些东西不能做代码混淆 android代码混淆时,如何防止第三方jar包被 监控摄像头注销帐户就是解绑吗? 监控器账户注销了怎么恢复? 开发商监控账户在什么情况下可以取消? 一个人没有固定的朋友,是自己的问题吗? 如果一个人没有朋友,正常吗 怎么注销萤石云原账号? 一个人混到最后发现,自己没有一个朋友,到底正不正常? 大拿监控手机怎么注销用户? 一个人好朋友很少正常吗?为什么? 一个朋友都没有,这是年轻人的正常现象吗?