美文网首页
使用AndResGuard对资源文件进行混淆,瘦身

使用AndResGuard对资源文件进行混淆,瘦身

作者: 二贝呀 | 来源:发表于2018-08-18 15:16 被阅读68次

    首先在Project的build.gradle中添加一下代码片段:

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

    其次在app的build.gradle中引用这个库,

    whiteList是白名单,里面存放的是要混淆的文件格式

    更多要添加的白名单请查看:AndResGuard白名单

    下面是完整的build.gradle文件:

    applyplugin:'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 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"

        }

    }

    build clenr一下项目,编译完成之后会看到这几个按钮

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

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

    如果想打release包,则执行resguardRelease指令。

    打完的包会生成在

    此时将安装包反编译一下会看到所有的资源文件名都被替换成a,b,c...这些简短的字符代替,不仅混淆了文件名而且达到了apk瘦身的效果,简直棒棒哒!!!

    可以看到res包下面的layout中所有的文件名都被替换掉了,完成了!

    最后有想了解反编译apk的同学可以观看我之前发布的一篇文章AndroidAPK安装包反编译流程以及踩过的坑,简单明了有不懂的小伙伴可以加我QQ:291252192.

    相关文章

      网友评论

          本文标题:使用AndResGuard对资源文件进行混淆,瘦身

          本文链接:https://www.haomeiwen.com/subject/xrjfiftx.html