Android 马甲包生成垃圾代码插件

AndroidJunkCode

项目地址:qq549631030/AndroidJunkCode 

简介: Android 马甲包生成垃圾代码插件

更多:作者   提 Bug   

标签:

此插件用于做马甲包时,减小马甲包与主包的代码相似度,避免被某些应用市场识别为马甲包。

使用方法

根目录的 build.gradle 中:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "com.github.qq549631030:android-junk-code:1.1.2"
    }
}

app 目录的 build.gradle 模块中:

apply plugin: 'com.android.application'
apply plugin: 'android-junk-code'

androidJunkCode {
    variantConfig {
        release {//变体名称,如果没有设置 productFlavors 就是 buildType 名称,如果有设置 productFlavors 就是 flavor+buildType,例如(freeRelease、proRelease)
            packageBase = "cn.hx.plugin.ui"  //生成 java 类根包名
            packageCount = 30 //生成包数量
            activityCountPerPackage = 3 //每个包下生成 Activity 类数量
            excludeActivityJavaFile = false //是否排除生成 Activity 的 Java 文件,默认 false(layout 和写入 AndroidManifest.xml 还会执行),主要用于处理类似神策全埋点编译过慢问题
            otherCountPerPackage = 50  //每个包下生成其它类的数量
            methodCountPerClass = 20  //每个类下生成方法数量
            resPrefix = "junk_"  //生成的 layout、drawable、string 等资源名前缀
            drawableCount = 300  //生成 drawable 资源数量
            stringCount = 300  //生成 string 数量
        }
    }
}

原 configMap 配置方式已过时,1.0.8 版以后请使用 variantConfig 配置方式"

如果有多个变体共用一个配置可以这样做

androidJunkCode {
    def config = {
        packageBase = "cn.hx.plugin.ui"
        packageCount = 30
        activityCountPerPackage = 3
        excludeActivityJavaFile = false
        otherCountPerPackage = 50
        methodCountPerClass = 20
        resPrefix = "junk_"
        drawableCount = 300
        stringCount = 300
    }
    variantConfig {
        debug config
        release config
    }
}

如果 APP 开启了混淆,需要在混淆文件里配置

#cn.hx.plugin.ui 为前面配置的 packageBase
-keep class cn.hx.plugin.ui.** {*;}

生成文件所在目录

build/generated/source/junk

使用插件methodCount对比

未加垃圾代码

项目代码占比 0.13%

加了垃圾代码

项目代码占比 52.93%

安利我的一个新库PriorityDialog(带优先级对话框实现)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值