Android 代码混淆、第三方平台安全加密、渠道分发!
来源:互联网 发布:什么是数据库应用程序 编辑:程序博客网 时间:2024/05/29 09:48
第一步:代码混淆(注意引入的第三方jar)
在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt。
新建一个项目的时候,会自动生成project.properties和proguard-project.txt文件,无需自己新建,如果你的项目无法自动生成,那么你就要检查一下你的ADT版本了
如果需要对项目进行全局混码,只需要进行一步操作:
将project.properties的中
“#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”的“#”去掉就可以了。
如果有一些代码不能被混淆,比如需要加入了so文件,需要调用里面的方法,那么调用JNI访问so文件的方法就不能被混码。在导出的时候,可能不会报错。但是在手机上运行的时候,需要调用so文件的时候,就会报某某方法无法找到。这个时候就需要用到proguard-project.txt。
在新版本的代码混淆,已经变得很智能,不过引入的第三方jar还是需要手动编写混淆规则
案例:引入了BaiduLBS_Android.jar,android-support-v4.jar两个包
proguard-project.txt脚本编写规则:
#工程中含有第三方jar包-libraryjars libs/android-support-v4.jar-libraryjars libs/BaiduLBS_Android.jar#项目里面包含的包也不能混淆-keep class com.baidu.** {*;}-dontwarn com.baidu.**-keep class vi.com.gdi.bgl.android.java.** {*;}-dontwarn vi.com.gdi.bgl.android.java.** -keep class android.** {*;}-dontwarn android.**
第二步:导出apk(部分第三方加密平台需要导出签名的apk)
请根据第三方加密平台的要求导出apk,带签名的apk导出速度稍慢。右击项目选择 Android Tools再根据需求导出
第三步:第三方平台加固(生成多渠道包)
现在比较流行的加密平台有:
http://www.ijiami.cn
如果你的项目里面包含了百度统计、友盟统计等功能,那么肯定需要了解不同应用商店的下载量,所以生成渠道包就很重要。这些平台都可以帮助生成多个去到apk
下图是使用“爱加密”平台,项目集成了友盟统计
加固需要花费十几分钟的时候,加固完成后就能下载到不同渠道的包,但是没有签名,无法安装
第四步:apk重新签名
加固后的apk是没有签名的,没有签名的apk是无法安装到手机里面的,需要使用签名工具重新签名
可以使用adt自带的,但是过于麻烦,建议使用第三方的签名工具
比如:爱加密提供的 http://www.ijiami.cn/apply/Sign
- Android 代码混淆、第三方平台安全加密、渠道分发!
- Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(图文)
- Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(图文)
- Android代码混淆、第三方平台加固加密、渠道分发 完整教程
- 安卓发版 混淆、第三方平台加固加密、渠道分发 完整教程(图文)
- Android 上线前的代码混淆之(三)第三方加密
- android 代码混淆 不混淆第三方jar包
- Android代码混淆(第三方jar的混淆)
- android 代码混淆 不混淆第三方jar包
- 关于android代码混淆 过滤第三方jar包
- Android 代码混淆后因为第三方包出错
- 关于Android代码混淆包含第三方jar包
- android studio 代码混淆如何忽略第三方jar包
- android studio 代码混淆如何忽略第三方jar包
- android studio 代码混淆如何忽略第三方jar包
- Android 开发中混淆中各个渠道都的注意到其相关的混淆设置,常用的第三方的混淆设置如下
- android代码混淆时,如何防止第三方jar包被混淆导致程序出错
- Android Studio代码混淆-第三方jar混淆汇总(持续更新)
- windows服务
- 学习北风CMS项目的时候的一些知识点 (spring, mybatis ...)
- 【练习】有两个文件context.txt和words.conf,请尝试将他们合并成为一段文字,
- 多条件模糊查询
- MFC下DLL的共享方式与静态方式
- Android 代码混淆、第三方平台安全加密、渠道分发!
- 使用循环语句打印矩阵
- shell 编程之grep 选项
- 第九周项目三(2)星号图
- sublime 插件安装
- vijos p1116(codevs 1038 )一元三次方程求解 题解
- OpenCV使用detectMultiScale可能会报错_CrtIsValidHeapPointer的解决方法
- Linq使用Group By经验总结
- HTTP协议详解