apk安全保护
App的安全问题首先是『数据安全』。App本地存储的数据和网络请求数据中有没有涉及到用户的隐私数据。关闭日志输出是最基本的方法之一。
还有就是『应用自身安全性』。对某个应用进行逆向,看反编译后的代码有没有敏感信息暴露。反编译后对代码修改,插入劫持代码后重新打包,如果存在这种漏洞,对用户和开发者都构成极大的威胁。
一.项目配置 AS环境
1,AndroidManifest配置 application下设置 android:allowBackup=”false”
关闭ADB调试
2.build.gradle配置
-说明
debuggable=”false”的作用就是,将0赋给变量debuggable,相当于debuggable=0.
如果这个设置这个变量的目的是为了调试,那么赋值后就会关闭调试buildConfigField “boolean”, “LOG_DEBUG”, “false” // 不显示Log
shrinkResources false //移除无用资源
设置混淆文件的路径名字proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-project.pro’
proguard-project.pro配置示范
二.使用AS签名打包
build下
获取apk包
三.使用360加固工具
1.下载及工具配置
360加固工具去下载
- 配置
可以配置签名信息 ,多渠道打包 加固类别
加固完成会对apk进行二次重签,这个在工具内已经自动化完成
找到输出路径加固后的apk,会发现apk包明显增大
- 接下来是加固效果测试,你懂的o-o
解压apk,获取dex文件打包jar
效果很厉害!
我们的项目包经过这样多层处理,基本上已经可以不用担心别人的反编译了,源码基本是很难拿到手的。
注:由于android的打包机制,目前资源文件及AndroidManifest文本还是可以随时查看的,这个在BAT里面也避免不了,因为新版的Android Studio已经支持APK包分析了,上个图给你们看看