【flutter】上架马甲包过审

flutter上架马甲包过审:

所谓马甲包,就是完全复制主包功能或保留部分功能分身包,而各大应用商店都是不允许马甲包的存在的,所以就要通过技术手段,让马甲包与主包的外表和内在都变得不一样。简单得分为两个步骤:
1、改变马甲包的外表-换肤
其中包括包名,包名称,应用图标和应用主页面布局和整体风格等。
2、改变马甲包的内在-混淆

这里简单记录下我们公司flutter项目马甲包的上架过程,总共提审了vivo、oppo、华为、小米、腾讯应用宝:


资料准备:
因为我们的马甲包是上传在同一个公司主体下,所以需要提前准备一下资料:
1、软著
2、承诺函
3、安全评估报告
4、安全评估提交截图
5、icon
6、五图
7、上架内容(主副标题,一句话简介,应用描述等)


换肤

由于时间比较紧张,并且项目比较庞大,所以我们只是改变了主色系以及登录流程和首页一级tab页的UI布局。


混淆
flutter构建apk是默认混淆的!起初我们没有做任何处理就提审了,结果当然是审核不通过!
在这里插入图片描述
这简直就是一模一样啊!于是我们做了以下处理:

1、修改图片资源名
修改图片资源名python脚本代码如下,将所有图片资源名末尾加上一个同样的字符串就好了;
注意:我们的图片资源都是放在/assets/images目录下,脚本代码根据你们项目调整;

#项目目录
projectAbsRootPath = sys.path[0]
#图片所在的资源目录路径
assetPath="/assets/images"
#项目中dart代码所在目录
libPath = projectAbsRootPath+ "/lib"
assetAbPath = projectAbsRootPath+assetPath

print("projectRootPath:" + projectAbsRootPath +  "   assets:" +assetAbPath + "     lib:" + libPath)
print("----------开始查找图片--------------")
#遍历目录,将图片存储到list中的方法
def searchImage(filePath:String):
    list = []
    isDir = os.path.isdir(filePath)
    if isDir:
        for f in os.listdir(filePath):
            if f.startswith("."):
                print(filePath+"/"+f)
            else:
                tList = searchImage(filePath+"/"+f)
                list.extend(tList)
    else:
        if imghdr.what(filePath) in {"png"}:
            list.append(filePath)
    return list

#项目中使用的图片资源路径集合
imageList = searchImage(assetAbPath)

for name in imageList:
 print(name)
for num in range(0,len(imageList)):
 # if(num<10):
   pList = imageList[num].split("/")
   imgName = pList[-1]
   txt = imageList[num].replace(imgName, '')
   nList = imgName.split(".")
   imgName = nList[0]
   os.rename(imageList[num],txt + '/' + imgName + '_project2.png')

然后通过android studio修改资源的引用路径就可以了,改完记得多测试!
在这里插入图片描述

2、原生层加垃圾代码
加垃圾代码,可以用到AndroidJunkCode库:
使用方法
根目录的 build.gradle 中:

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

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 数量
        }
    }
}

做完这些处理,再次提交就没啥问题了!!!


最后

最终我们也只通过了vivo、oppo、小米、腾讯应用宝,华为对于马甲包的人工审核太严了需要大改版,只能放弃!
另外在上架应用时需要“全国互联网安全服务管理提交结果截图”,显示结果为成功才行,需要审核人员上门检查比较麻烦,用主包的截图ps一下就好了

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据引用和引用可以得知,Flutter已经为Windows应用开发做好了准备,并且在Windows上推出了Flutter的支持。Flutter的Windows版本结合了Dart框架和C引擎,通过嵌入层与Windows进行通信,并将UI绘制到屏幕上。这意味着开发者现在可以使用Flutter来构建和上架Windows应用程序。Flutter提供了跨平台的开发能力,使开发者能够同时为Android、iOS和Windows等多个平台开发应用程序。因此,如果开发者希望上架Windows应用,他们可以使用Flutter来构建应用,并通过Windows商店或其他途径将其上架。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flutter稳定支持Windows,开发者做好准备了吗?](https://blog.csdn.net/weixin_39787030/article/details/122808516)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Flutter 稳定版支持 Windows,开发者还学的动吗?](https://blog.csdn.net/weixin_38754349/article/details/122994720)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值