AndResGuard简单使用教程

AndResGuard

AndResGuard是一个帮助你缩小APK大小的工具,他的原理类似Java Proguard,但是只针对资源。他会将原本冗长的资源路径变短,例如将res/drawable/wechat变为r/d/a.
项目地址:Android资源混淆工具使用说明

AndResGuard配置到项目中

gradle(Project)

classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.7'

gradle(app)

apply plugin: 'AndResGuard'


andResGuard {
    // mappingFile = file("./resource_mapping.txt")
    mappingFile = null
    // 当你使用v2签名的时候,7zip压缩是无法生效的。
    use7zip = true
    useSign = true
    // 打开这个开关,会keep住所有资源的原始路径,只混淆资源的名字
    keepRoot = false
   //保留不被混淆的资源文件
    whiteList = [
        // for your icon
        "R.drawable.icon",
        // for fabric
        "R.string.com.crashlytics.*",
        // for 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"
    ]
    compressFilePattern = [
        "*.png",
        "*.jpg",
        "*.jpeg",
        "*.gif",
        "resources.arsc"
    ]
    sevenzip {
         artifact = 'com.tencent.mm:SevenZip:1.2.7'
         //path = "/usr/local/bin/7za"
    }

    /**
    * 可选: 如果不设置则会默认覆盖assemble输出的apk
    **/
    finalApkBackupPath = "${project.rootDir}/final.apk"

    /**
    * 可选: 指定v1签名时生成jar文件的摘要算法
    * 默认值为“SHA1”
    **/
    digestalg = "SHA256"
}

如果是签名包还需要加上下面配置:

//需要加上签名配置
defaultConfig{
··········
signingConfigs {
            signConfig {
                storeFile file ('XXX/XXX.jks')//路径
                storePassword '123456'
                keyAlias 'XXXX'
                keyPassword '123456'
            }
        }
}
 buildTypes {
        release {
            signingConfig signingConfigs.signConfig
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

配置完成后在Android Terminal执行命令:

//Windows
gradlew.bat resguardRelease
//OS X or Linux
./gradlew reguardRelease

输出的包在app\build\outputs\apk\AndResGuard_app-release这个路径下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,272评论 25 709
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 14,177评论 8 72
  • 我們很難給生命增加時間, 但我們可以給時間增加生命力! ~~~ 第一个优点:总是有勇气重新开始2017年3月24日...
    贝妃玲阅读 1,544评论 0 0
  • 这一天,感觉依旧是压力山大,每天月亮还挂在空中的时候我就已经早早的起床了。洗脸刷牙不过匆匆而已,忙着跑去班里投入...
    琳琳尽致阅读 4,306评论 0 0

友情链接更多精彩内容