美文网首页
安卓代码混淆

安卓代码混淆

作者: Lucky丶夏日 | 来源:发表于2018-07-02 17:58 被阅读0次

混淆模板:

-optimizationpasses 5          # 指定代码的压缩级别
-dontusemixedcaseclassnames   # 是否使用大小写混合
-dontskipnonpubliclibraryclasses
-dontpreverify           # 混淆时是否做预校验
-verbose                # 混淆时是否记录日志

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  # 混淆时所采用的算法
-keepattributes *Annotation*,Signature
-dontwarn android.**

#忽略警告
#-ignorewarning

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

#apk 包内所有 class 的内部结构
-dump class_files.txt
#未混淆的类和成员
-printseeds seeds.txt
#列出从 apk 中删除的代码
-printusage unused.txt
#混淆前后的映射
-printmapping mapping.txt

#自写代码的混淆
-keep public class * extends android.app.Activity      # 保持哪些类不被混淆
-keep public class * extends android.app.Application   # 保持哪些类不被混淆

#第三方库的混淆
##okhttp3混淆
-keep class okhttp3.** {*;}
-dontwarn okhttp3.**

##okio混淆
-keep class okio.** {*;}
-dontwarn okio.**

##alibaba混淆
-keep class com.alibaba.** {*;}
-dontwarn com.alibaba.**

-keepattributes Exceptions,SourceFile
-renamesourcefileattribute Proguard
-keepattributes SourceFile,LineNumberTable
-repackageclasses

-assumenosideeffects class android.util.Log {
    public static boolean isLoggable(java.lang.String, int);
    public static int d(...);
    public static int w(...);
    public static int v(...);
    public static int i(...);
    public static int e(...);
}
# Model类都不混淆
-keep class com.hk.javalearn.model.** { *; }
#

1.混淆原则,自己写的代码比较好混淆,第三方库如果打包正式版提示如下图:


混淆第三方库出错.png

则说明混淆出错了,需要keep住不混淆他们,加入对应的混淆代码

##okhttp3混淆
-keep class okhttp3.** {*;}
-dontwarn okhttp3.**

2.如果混淆后发生闪退,找到闪退的位置,哪个类里面有哪些控件或者第三方引用,对其进行keep,最常见的就是实体类的混淆错误,只需要keep住就好,如下

##实体类混淆
-keep class com.hk.javalearn.model.** { *; }

3.别忘了在app.build打开混淆
minifyEnabled true

相关文章

  • 安卓代码混淆

    混淆模板: 1.混淆原则,自己写的代码比较好混淆,第三方库如果打包正式版提示如下图: 则说明混淆出错了,需要kee...

  • 安卓代码混淆

    SDK关闭混淆开关,app层开启混开关:app需要添加sdk提供的混淆规则。 # 忽略SDK包名下的所有类: -k...

  • 安卓代码混淆

    #忽略警告 不忽略可能打包不成功 -ignorewarnings #不要压缩(这个必须,因为开启混淆的时候 默认 ...

  • 安卓代码混淆

    一、代码混淆作用 令 APK 难以被逆向工程,即很大程度上增加反编译的成本; 在打包时移除无用资源,显著减少 AP...

  • 御安全浅析安卓开发代码混淆技术

    御安全浅析安卓开发代码混淆技术 【关键词:代码混淆,Android应用加固,移动应用保护,APP保护,御安全】 提...

  • 安卓产品代码混淆

    Java层代码混淆工具: proguard https://www.guardsquare.com/proguar...

  • Spring boot使用ProGuard实现代码混淆

    代码混淆常见于安卓的apk安装文件, 服务端的代码因为不易被普通用户接触到, 所以混淆不多。但是某些场景下, 比如...

  • 安卓-混淆

    混淆 1.简单介绍 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等...

  • Gson代码混淆简单使用

    时光总在指尖流逝,转眼间入了深秋了。在安卓代码编写中,代码混淆是不可少的一环,简而言之,用一套万能的混淆代码再修改...

  • 浅谈安卓开发代码混淆技术

    随着移动互联网的快速发展,应用的安全问题不断涌现出来,于是越来越多的应用开发者将核心代码由java层转到nativ...

网友评论

      本文标题:安卓代码混淆

      本文链接:https://www.haomeiwen.com/subject/ggwluftx.html