微信资源混淆工具打包
来源:互联网 发布:vue.js是谁开发的 编辑:程序博客网 时间:2024/06/14 15:57
最近研究了下反编译 ,看到人家apk的资源文件名字都是类似于abcd这样的字母,很好奇是怎么实现的,所以自己上网查了下,利用微信资源混淆工具可以实现,废话不多说,直接上代码.
1、工程project 的build.gradle下添加插件依赖
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' //混合资源打包 classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.1.14' }}
2、app的build添加插件依赖
apply plugin: 'AndResGuard'andResGuard { // mappingFile = file("./resource_mapping.txt") mappingFile = null // 当你使用v2签名的时候,7zip压缩是无法生效的。 use7zip = true useSign = true // 打开这个开关,会keep住所有资源的原始路径,只混淆资源的名字 keepRoot = false //白名单配置 UM必须配置白名单 否则会提示找不到资源文件 whiteList = [ //for your icon "R.drawable.icon", //for fabric "R.string.com.crashlytics.*", //for umeng update "R.string.umeng*", "R.string.UM*", "R.string.tb_*", "R.layout.umeng*", "R.layout.socialize_share_menu_item", "R.layout.tb_*", "R.drawable.umeng*", "R.drawable.tb_*", "R.anim.umeng*", "R.color.umeng*", "R.color.tb_*", "R.style.*UM*", "R.style.umeng*", "R.id.umeng*", "R.id.socialize_image_view", "R.id.socialize_text_view", //umeng share for sina "R.drawable.sina*" ] compressFilePattern = [ "*.png", "*.jpg", "*.jpeg", "*.gif", "resources.arsc" ] sevenzip { artifact = 'com.tencent.mm:SevenZip:1.2.3' //path = "/usr/local/bin/7za" }}
3、找到andresguard插件目录
4、由于没有配置签名文件 只能debug
下面展示的就是混淆后的包 app-release_signed_7zip_aligned.apk 这个是最小的 一般上线的这个就可以了
5、然后反编译看一下效果
debug下的layout文件
混淆后的
6、apk对比效果
这只是建立了一个空的工程就小了这些 可想工程大的时候资源文件的压缩差不多能到2M 甚至更多
具体源码与使用方法详细在github中:
https://github.com/shwenzhang/AndResGuard
阅读全文
1 0
- 微信Android资源混淆打包工具
- 微信资源混淆工具打包
- Mac下使用微信Android资源混淆打包工具
- 安装包立减1M--微信Android资源混淆打包工具
- 微信Android资源混淆打包工具,如何让应用安装包立减1M
- 安装包立减1M--微信Android资源混淆打包工具
- 安装包立减1M--微信Android资源混淆打包工具
- 安装包立减1M--微信Android资源混淆打包工具
- 微信资源混淆使用
- android插件自定义之多渠道打包插件(支持微信资源混淆andResGuard)
- 微信资源混淆AndResGuard原理
- AndResGuard资源混淆工具
- 资源混淆工具AndResGuard
- Android 资源混淆工具
- Android资源混淆打包方案
- Android资源混淆打包工具 - 让你的资源瘦瘦身
- 微信android混淆打包减少安装包大小
- Android资源混淆工具使用说明
- 百度AI开发者大会背后的故事
- vue引入图片问题
- POI读取Excel数据日期时间输出
- 谈谈WebView的使用【从零开始搭建android框架系列(5)】
- 启动eclipse(64位)后,获取java进程发现时生成了一个32位的进程
- 微信资源混淆工具打包
- Flash、RAM、ROM的区别
- Android Studio配置文件路径修改
- 对Properties文件进行读写操作
- 《剑指offer》--二叉搜索树与双向链表
- VPS 搭建sspanel 教程三(后端教程)
- [LeetCode] Design Twitter
- ruby,gem,安装cocoapods
- Erlang:[笔记二,构建工具rebar之发布应用]