Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MakeCodeFly/AndroidJunkCode

Repository files navigation

Android垃圾代码生成插件

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

使用方法

根目录的build.gradle中:

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

由于jcenter即将关闭后续版本将不再发布到jcenter,转为发布到mavenCentral,groupId从原来的"cn.hx.plugin"改为"com.github.qq549631030"

app目录的build.gradle模块中:

apply plugin: 'com.android.application'
apply plugin: 'android-junk-code'
android {
 //xxx
}
android.applicationVariants.all { variant ->
 switch (variant.name) {//变体名称,如果没有设置productFlavors就是buildType名称,如果有设置productFlavors就是flavor+buildType,例如(freeRelease、proRelease)
 case "release":
 androidJunkCode.configMap.put(variant.name, {
 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数量
 })
 break
 }
}

生成文件所在目录

build/generated/source/junk

使用插件methodCount对比

未加垃圾代码

项目代码占比 0.13%

方法总数 项目方法数

加了垃圾代码

项目代码占比 52.93%

方法总数 项目方法数

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Groovy 92.8%
  • Kotlin 7.2%

AltStyle によって変換されたページ (->オリジナル) /