Android 解决使用CocosCreator开发产品上架应用市场代码重复问题
第一步、使用插件生成垃圾代码及资源文件
AndroidJunkCode 是 Android垃圾代码生成插件,用于减小马甲包与主包的代码相似度,避免被应用市场识别为马甲包。
1、根目录的build.gradle 配置
buildscript { repositories { mavenCentral() } dependencies { classpath "com.github.qq549631030:android-junk-code:1.1.2" } }
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 = "com.xx.xx" // 生成java类根包名 packageCount = 20 //生成包数量 activityCountPerPackage = 5 // 每个包下生成Activity类数量 excludeActivityJavaFile = false // 是否排除生成Activity的Java文件,默认false(layout和写入AndroidManifest.xml还会执行) otherCountPerPackage = 10 // 每个包下生成其它类的数量 methodCountPerClass = 30 // 每个类下生成方法数量 resPrefix = "abc_" // 生成的layout、drawable、string等资源名前缀 drawableCount = 100 // 生成drawable资源数量 stringCount = 200 // 生成string数量 } } }
3、如果开启了混淆,需要在混淆文件里配置
#com.xx.xx 为前面配置的packageBase -keep class com.xx.xx.** {*;}
4、编译运行
生成文件所在目录 :AndroidJunkCode/app/build/generated/source/junk
第二步,根据生成的文件资源调整包内容
(1)、拷贝java 源码文件到目标对应的目录
2、拷贝drawable 资源文件到目标对应的目录
3、拷贝layout 布局xml文件到目标对应的目录
4、将values 下 string 文件内容,添加到对应的 string 文件中
5、修改AndroidManifest.xml 配置文件
(1)、修改包名
(2)、将生成的activity 引用代码,新增到对应的位置
(3)、批量替换生成引用源码包名
将 cn.hx.plugin.junkcode.demo 替换为自己的包名
第三步,调整旧代码包名、文件名
可将文件进行重命名,统一增加前缀。
操作方法:右键文件 菜单->Refactor->Rename
调整后如下图:
第四步,更换启动页面信息、app 名称、app 图标