use7zip = true
useSign = true
keepRoot = false
compressFilePattern = [
        "*.png",
        "*.jpg",
        "*.jpeg",
        "*.gif",
        "resources.arsc"
]
whiteList = [
        // your icon
        "R.drawable.icon",
        // for fabric
        "R.string.com.crashlytics.*",
        // for umeng update
        "R.string.tb_*",
        "R.layout.tb_*",
        "R.drawable.tb_*",
        "R.drawable.u1*",
        "R.drawable.u2*",
        "R.color.tb_*",
        // umeng share for sina
        "R.drawable.sina*",
        // for google-services.json
        "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",

        //友盟
        "R.string.umeng*",
        "R.string.UM*",
        "R.layout.umeng*",
        "R.drawable.umeng*",
        "R.id.umeng*",
        "R.anim.umeng*",
        "R.color.umeng*",
        "R.style.*UM*",
        "R.style.umeng*",

        //融云
        "R.drawable.u*",
        "R.drawable.rc_*",
        "R.string.rc_*",
        "R.layout.rc_*",
        "R.color.rc_*",
        "R.id.rc_*",
        "R.style.rc_*",
        "R.dimen.rc_*",
        "R.array.rc_*"
]

sevenzip {
    artifact = 'com.tencent.mm:SevenZip:1.2.10'
    //path = "/usr/local/bin/7za"
}

}


??其中whiteList(白名单)中指定不需要进行混淆的资源路径规则,主要是一些第三方SDK,因为有些SDK的代码中引用到对应的资源文件,如果对其进行混淆,会导致找不到对应资源文件,出现crash,所以不能对其资源文件进行混淆。由于公司的项目中使用到了友盟和融云,所以将这两个SDK加入白名单,更多的白名单可以查看:

[AndResGuard白名单](

)

??由于我们并非是在app模块下的build.gradle中添加AndResGuard的配置,而是单独出**and/_res/_guard.gradle**,所以需要在app模块下的build.gradle文件中引用,在app模块下的build.gradle文件开头添加以下代码引用:

apply from: ‘and_res_guard.gradle’



### AndResGuard的使用

集成完AndResGuard后,在app的gradle的tasks中,多了一个叫做andresguard的task,如图:

![image](https://s2.51cto.com/images/20210912/1631429032939400.jpg)

如果想打debug包,则执行resguardDebug指令;

如果想打preview包,则执行resguardPreview指令;

### 最后

针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

* **Android前沿技术大纲**

  ![](https://s2.51cto.com/images/20210912/1631429032194792.jpg)

* **全套体系化高级架构视频**

  ![](https://s2.51cto.com/images/20210912/1631429032504047.jpg)

##### **[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://ali1024.coding.net/public/P7/Android/git)**

> **Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、混合式开发(ReactNative+Weex)全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。**