AndResGuard簡單使用教程Android資源混淆工具

AndResGuard  Android資源混淆工具使用說明

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這個路徑下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章