关于Android Studio打包混淆以及上传mapping文件
有关android Studio装包搞混及其提交mapping文档
装包
android studio的装包非常简单
随后假如早已有keystore的一路next下来,要是没有的很有可能必须先建立keystore,最终大家便会获得一个apk文件
搞混
如今在网上有关反汇编的blog许多了,我还在此就很少做详细介绍了,放上一传送器传送器
那麼大家早已知道反汇编是这般的简易,大家总不期待自身艰辛写的编码被这般随便的反汇编走,并且那样有可能对企业的网络服务器留有黑客攻击的安全隐患,那麼大家就可以应用搞混来维护大家所作的编码
Android studio搞混和Eclipse类似是如出一辙的。
名字 | 功效 |
---|---|
minifyEnabled | 是不是打开搞混 |
shrinkResources | 除去没用的resource文档 |
proguardFiles getDefaultProguardFile | 载入搞混环境变量 |
假如依照默认设置的搞混标准很有可能你的程序流程会出错,由于搞混了一些方式因此 程序执行期内无法找到该方式。因此 大家应当自定一些标准在proguard-rules.pro中
下列模版信息内容来自在网上
特定编码的缩小等级
-optimizationpasses 5
包明不混和英文大小写
-dontusemixedcaseclassnames
没去忽视非公共性的库类
-dontskipnonpubliclibraryclasses
提升 不提升键入的类文档
-dontoptimize
预校检
-dontpreverify
搞混时是不是纪录日志
-verbose
搞混时需选用的优化算法
-optimizations !code/simplification/arithmetic,!field/,!class/merging/
维护注释
-keepattributes Annotation
维持什么类不被搞混
-keep public class * extends android.app.Fragment
-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
如果有引入v4包能够加上下边这方面
-keep public class * extends android.support.v4.app.Fragment
忽略警告
-ignorewarning
纪录转化成的日志数据信息,gradle build时在本新项目网站根目录輸出
apk 包里全部 class 的内部构造
-dump class_files.txt
未搞混的类和组员
-printseeds seeds.txt
列举从 apk 中删掉的编码
-printusage unused.txt
搞混前后左右的投射
-printmapping mapping.txt
mapping文档
mapping.txt
列举了初始的类,方式和字段与搞混后编码间的投射。这一文档很重要,如果你从release版本号中接到一个bug汇报时,可以用它来汉语翻译被搞混的编码。
mapping文件目录在 \app\build\outputs\mapping\release
检测
OK,Bye