微信开源工具AndResGuard

编程入门 行业动态 更新时间:2024-10-18 18:13:48

微信<a href=https://www.elefans.com/category/jswz/34/1770131.html style=开源工具AndResGuard"/>

微信开源工具AndResGuard

1、简介

AndResGuard是一个帮助你缩小APK大小的工具,他的原理类似Java
Proguard,但是只针对资源。他会将原本冗长的资源路径变短,例如将res/drawable/wechat变为r/d/a。

AndResGuard不涉及编译过程,只需输入一个apk(无论签名与否,debug版,release版均可,在处理过程中会直接将原签名删除),可得到一个实现资源混淆后的apk(若在配置文件中输入签名信息,可自动重签名并对齐,得到可直接发布的apk)以及对应资源ID的mapping文件。

可以减小apk包体大小。

开源地址

2、接入

a、在项目更目录下build.gradle文件中引入

classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.20'
buildscript {repositories {jcenter()google()}dependencies {classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.20'}
}

b、然后在app目录下新建and-res-guard.gradle文件,在build.gradle下配置如下

apply from:'and-res-guard.gradle'

c、完成以上配置,基本上已配置完毕

and-res-guard.gradle文件内容如下

apply plugin: 'AndResGuard'andResGuard {// mappingFile = file("./resource_mapping.txt")
mappingFile = null
use7zip = true
useSign = true
// 打开这个开关,会keep住所有资源的原始路径,只混淆资源的名字
keepRoot = false
// 设置这个值,会把arsc name列混淆成相同的名字,减少string常量池的大小
fixedResName = "arg"
// 打开这个开关会合并所有哈希值相同的资源,但请不要过度依赖这个功能去除去冗余资源
mergeDuplicatedRes = true
compressFilePattern = [
"*.png",
"*.jpg",
"*.jpeg",
"*.gif",
"resources.arsc"
]
//添加白名单,保留不被混淆的资源文件
whiteList = [
//app
"R.drawable.ic_launcher",
"R.drawable.ic_launcher_*",
//google-services
"R.string.google_app_id",
"R.string.gcm_defaultSenderId",
"R.string.default_web_client_id",
"R.string.ga_trackingId",
"R.string.firebase_database_url",
"R.string.google_api_key",
"R.string.google_crash_reporting_api_key",
]sevenzip {
artifact = 'com.tencent.mm:SevenZip:1.2.10'
//path = "/usr/local/bin/7za"
}
}

3、注意事项

所有使用getIdentifier访问的资源都需要加入白名单。
友盟、极光、sharesdk、个推等第三方sdk资源文件需要加入白名单。
glide加载资源文图片需要加入白名单或者处理下
遍历查询所有通过getIdentifier访问的资源,然后统统加入白名单

4、打包apk

可使用命令 ./gradlew resguard[BuildType | Flavor] 或者直接执行下列task任务

5、apk包

我们可得到以下output路径得到以下7个有用的文件说明如下:

6、参考地址

开源地址

AndResGuard和walle多渠道打包

更多推荐

微信开源工具AndResGuard

本文发布于:2024-02-24 16:37:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1695969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:开源   工具   AndResGuard

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!