吾逍遥
吾逍遥
  • 发布:2024-05-25 09:51
  • 更新:2024-09-23 14:37
  • 阅读:227

【报Bug】后台多进程

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window11

HBuilderX类型: 正式

HBuilderX版本号: 4.15

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: xiaomi 12

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: http://file.jiustech.cn/uploads/soft/cxy3/jsy1.7.0-3_20240518162511.apk

操作步骤:

Android的APP运行后台,集成了uni-push,进行消息推送,在后台出现多个APP进程

预期结果:

后台Android的APP只出现一个进程

实际结果:

后台Android的APP只出现多个进程

bug描述:

Android的APP在后台显示多进程,iOS版APP正常

2024-05-25 09:51 负责人:无 分享
已邀请:
吾逍遥

吾逍遥 (作者) - 北京九思自然科技

因为多进程上架vivo已被拒,官方没回复,没办法只能自己排查了,类似问题安卓、鸿蒙打开uni一键登录后,后台出现多个进程,下面问题解决只是我的项目,可以参考
1、使用uni-push,按上面文章中怀疑是推送导致,移除uni-push和mainfest中push模块,重新打包,仍然多进程
2、从百度上查询Android多进程,说组件中android:process可另开进程,使用jadx反编译apk,查询只有个推打包中才有,移除个推后没有了,又怀疑问题出现在引用原生组件上,移除所有原生组件,再重新打包,仍然多进程
3、没办法了,怀疑uniapp本身的问题,使用官方hello示例打包,发现没有多进程,说明问题不在uniapp,肯定是我配置问题了
4、现在mainfest基本都是默认了,唯一就是设置启动图,那恢复为通用启动界面,打包,没有多进程了,最后原因出在我设置自定义启动图。
5、项目又想使用自定义启动图怎么办呢?从uniapp某个文章看到对于启动图存放位置放在unpackage目录,否则可能出现意外情况,我把启动图放到unpackage/res下打包,现在没有多进程了,程序终于恢复正常了

吾逍遥

吾逍遥 (作者) - 北京九思自然科技

本以为解决问题了,其实运行一段时间可能仍然出现,而在新版小米和荣耀经常出现,苹果就没这问题

吾逍遥

吾逍遥 (作者) - 北京九思自然科技

因为多进程一直未能通过荣耀上架审核,正好利用中秋假期再次测试了下,应该就是hasTaskAffinity导致,已经测试了一天了,移除这个打包目前运行平板、小米、华为未再出现多进程,后来查看了官方文档中说明

Strandhogg漏洞
风险描述 StrandHogg之所以独特,是因为它无需进行植根即可启用复杂的攻击,它利用Android的多任务系统中的一个弱点来实施强大的攻击,使恶意应用程序可以伪装成该设备上的任何其他应用程序。此漏洞利用基于一个称为“ taskAffinity”的Android控件设置,该控件允许任何应用程序(包括恶意应用程序)自由地采用其所需的多任务处理系统中的任何身份。
修复方案 该漏洞已于2020.4.1的安全补丁中修复(涵盖Android 8.0 / 8.1 / 9.0+)。由于已经通过系统补丁封堵。理论上该漏洞不会对高版本系统的手机设备构成威胁。 而app客户端开发并没有彻底规避该漏洞的方案。各检测平台推荐配置android:taskAffinity=“”,但仅是临时方案。但该方案会导致应用运行到android11+系统设备时任务堆栈窗口变成两个的问题。 由于android:taskAffinity=“”配置存在bug!所以我们并不会默认这样配置。但为开发者提供的云打包配置选项。由开发者决定是否配置临时封堵该漏洞

当时未注意其中两个窗口的说明,主要为安全加上官方所有说的安全防范措施,结果导致软件在后台总是有两个以上窗口,其中有一个窗口一直显示资源同步中....

目前算是暂时解决了,已经移除这个设置,目前未发现多窗口的问题了

a***@126.com

a***@126.com

唉,苦不堪言

要回复问题请先登录注册