使用AndResGuard混淆资源文件

一、先贴几个效果图对比感受一下

1.混淆前后安装包大小对比

2.混淆前后使用反编译工具看到的资源文件

混淆前

2.混淆后

二、AndResGuard使用方法

1.创建一个and_res_guard.gradle文件

apply plugin: 'AndResGuard'
andResGuard {
    mappingFile = null
    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 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",
    ]

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

2.app包下build.gradle中添加

apply from: 'and_res_guard.gradle'

3.在项目的build.gradle中添加插件

  dependencies {
        classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.17'
    }

4.打包

我这里把app包名改为shell了

如果想打debug包,双击resguardDebug

如果想打preview包,双击resguardPreview

如果想打release包,双击resguardRelease

————————————————————————————————————————————————

打包时遇到错误

What went wrong:
Execution failed for task ':app:resguardRelease'.
> can't the get signConfig for release build

解决办法

在app包下的build.gradle中添加代码

signingConfigs {
    release {
        keyAlias 'key0'
        keyPassword '123456'
        storeFile file('...\app.jks')
        storePassword '123456'
    }
}

buildTypes {
    release {
        signingConfig signingConfigs.release//签名
    }
}

 

文章引用:
APP瘦身大法--AndResGuard的使用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值