CN117667116A - 一种应用分身的方法、装置及电子设备 - Google Patents

一种应用分身的方法、装置及电子设备 Download PDF

Info

Publication number
CN117667116A
CN117667116A CN202211051549.4A CN202211051549A CN117667116A CN 117667116 A CN117667116 A CN 117667116A CN 202211051549 A CN202211051549 A CN 202211051549A CN 117667116 A CN117667116 A CN 117667116A
Authority
CN
China
Prior art keywords
application
splitting
information
package
electronic equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211051549.4A
Other languages
English (en)
Inventor
司君杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211051549.4A priority Critical patent/CN117667116A/zh
Publication of CN117667116A publication Critical patent/CN117667116A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请提供了一种应用分身的方法、装置及电子设备,方法包括:电子设备获取应用分身请求,并依据应用分身请求确定主应用;电子设备获取主应用的配置信息,并依据主应用的配置信息生成分身应用的包信息;电子设备依据主应用的配置信息以及分身应用的包信息安装分身应用。本申请实施例既不需要建立新用户,也不需要修改安装包的名称及签名,而是直接依据主应用的配置信息以及分身应用的包信息安装分身应用,避免了对时间及计算资源的浪费。同时,省去了在安装过程中需要重新对分身应用的安装包进行校验及签名校验的步骤,进一步提高了分身应用的安装效率,并降低了分身应用安装过程的资源消耗。

Description

一种应用分身的方法、装置及电子设备
【技术领域】
本申请涉及应用分身领域,具体而言,涉及一种应用分身的方法、装置、电子设备及计算机可读存储介质。
【背景技术】
随着智能手机的发展,用户对于同一手机运行两个相互独立的相同应用程序的需求强烈,例如各种社交应用。用户在使用这些社交应用时,大多数人都是工作、生活的应用账号分开设置。因此,现有应用软件的“应用分身”功能应运而生,该功能可以帮助用户在同一个手机上使用多账号在线。例如,用户可以在一部手机上,同时使用主号或者小号登陆某社交应用,主号与小号的使用互不影响,满足了大多数用户工作与生活信息分开处理的需求。
但目前分身应用仍存在安装效率较低,安装过程需要占用较多资源等问题。
【发明内容】
为了解决现有技术中分身应用安装效率低、安装过程需要占用较多资源的问题,本申请提供一种应用分身的方法。
第一方面,本技术方案提供了一种应用分身的方法,应用于电子设备,该方法包括:电子设备响应于应用分身请求,确定与应用分身请求确定对应的主应用;电子设备依据主应用的配置信息,生成分身应用的包信息;电子设备依据主应用的配置信息以及分身应用的包信息,安装分身应用。在一些实施例中,既不需要建立新用户,也不需要修改安装包的名称及签名,而是直接依据主应用的配置信息以及分身应用的包信息安装分身应用,省去了在安装过程中需要重新对分身应用的安装包进行校验及签名校验的步骤,极大地提高了分身应用的安装效率,并降低了分身应用安装过程的资源消耗。
结合第一方面,在第一方面的某些实现方式中,电子设备依据主应用的配置信息以及分身应用的包信息安装分身应用,包括:电子设备依据主应用的配置信息确定主应用的安装路径及资源路径;电子设备将分身应用的包信息中的安装路径设置为主应用的安装路径,并将分身应用的包信息中的资源路径设置为主应用的资源路径;电子设备创建预设数据路径,并将分身应用的包信息中的数据路径设置为预设数据路径,预设数据路径与主应用的数据路径不相同。在一些实施例中,通过将分身应用的安装路径与资源路径复用为主应用的安装路径与资源路径,使得不需要对分身应用进行重新安装,避免了重复创建新安装包和新安装路径造成的额外资源的开发,而是只需要增加用于存储不同账号数据的数据存储路径即可,大大降低了分身应用对存储空间的占用。
结合第一方面,在第一方面的某些实现方式中,电子设备创建预设数据路径,包括:电子设备依据分身应用的包信息确定分身应用的包名称;电子设备依据分身应用的包名称创建预设数据路径。在一些实施例中,可以通过分身应用的包名称重新建立得到预设数据路径,进一步提高分身应用的安装效率。
结合第一方面,在第一方面的某些实现方式中,在电子设备依据主应用的配置信息以及分身应用的包信息,安装分身应用之后,该方法还包括:电子设备获取应用分身请求的标识信息;电子设备依据标识信息确定应用分身请求的类型为临时分身请求或正式分身请求;当应用分身请求的类型为正式分身请求时,电子设备将分身应用的包信息保存至数据库中。在一些实施例中,当应用分身请求的类型为正式分身请求时,则电子设备将分身应用的包信息保存至数据库中,使得手机重启也不会删除该正式分身应用的包信息,进而能够保证正式分身应用的持久化。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:当应用分身请求的类型为临时分身请求时,电子设备判断应用分身请求中是否包含分身时长;当应用分身请求中包含分身时长时,电子设备依据分身时长确定分身应用的包信息的删除时刻;当删除时刻到达,并且分身应用未处于运行状态时,电子设备删除分身应用的包信息。在一些实施例中,当应用分身请求中包含分身时长时,则证明该临时分身应用在手机开启过程中存在使用时长限制,此时电子设备可以依据分身时长确定分身应用的包信息的删除时刻,并在删除时刻到达且分身应用未处于运行状态时删除分身应用的包信息,实现对分身应用的卸载。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:当删除时刻到达,并且分身应用处于运行状态时,电子设备延迟对分身应用的包信息的删除操作。在一些实施例中,当在删除时刻到达,并且分身应用处于运行状态时,表明用户此时正在使用分身应用。为避免直接卸载分身应用影响到用户使用,电子设备延迟对分身应用的包信息的删除操作。
结合第一方面,在第一方面的某些实现方式中,电子设备依据主应用的配置信息以及分身应用的包信息,安装分身应用,包括:电子设备依据分身应用的包信息确定分身应用的包名称;电子设备获取主应用的安装包,并将主应用的安装包中的包名称修改为分身应用的包名称;电子设备依据修改后的安装包安装分身应用。在一些实施例中,分身应用的包名称可以为分身应用的安装根目录的名称。在同一系统账户下通过不同的包名称来对主应用和分身应用的安装路径进行隔离,进而不需要切换系统账户即可实现应用分身,避免造成资源浪费。
结合第一方面,在第一方面的某些实现方式中,电子设备获取主应用的安装包,包括:电子设备检测预设存储目录中是否存储有主应用的安装包;当预设存储目录中存储有主应用的安装包时,电子设备在预设存储目录中获取主应用的安装包;当预设存储目录中未存储主应用的安装包时,电子设备在应用商店中下载主应用的安装包。在一些实施例中,该检测预设存储目录可以为应用安装后存放安装包的文件夹,当需要获取到主应用的安装包时,电子设备可以先去检测预设存储目录中是否存储有主应用的安装包,如果没有则证明安装包已被清除,此时还可以在应用商店中下载主应用的安装包。
结合第一方面,在第一方面的某些实现方式中,电子设备获取主应用的安装包,包括:电子设备接收预设软件发送的应用分身请求,应用分身请求为预设软件检测到第一触发条件时输出是否创建分身应用的提示信息,并在接收到提示信息的确认信息时为主应用生成的应用分身请求。在一些实施例中,对于用户的操作,电子设备可以设置第一触发条件,该第一触发条件在被满足时,电子设备可以在预设软件输出是否创建分身应用的提示信息,并在接收到提示信息的确认信息时为主应用生成的应用分身请求。
结合第一方面,在第一方面的某些实现方式中,第一触发条件包括主应用的图标的按压时间超过第一阈值、主应用的图标的点击次数超过第二阈值、主应用的图标的点击频率超过第三阈值、主应用的图标的点击点的数量超过第四阈值中的至少一项。
第二方面,本技术方案提供了一种应用分身装置,包括:确定模块,用于响应于应用分身请求,确定与应用分身请求确定对应的主应用;包信息生成模块,用于依据主应用的配置信息,生成分身应用的包信息;安装模块,用于依据主应用的配置信息以及分身应用的包信息,安装分身应用。
第三方面,本技术方案提供了一种电子设备,包括:处理器和存储器,存储器用于存储至少一条指令,指令由处理器加载并执行时以实现如上述的应用分身的方法。
第四方面,本技术方案提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述的应用分身的方法。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例所提供的一种电子设备的结构示意图;
图2为本申请实施例所提供的一种应用分身的方法的流程图;
图3为本申请实施例所提供的一种创建分身应用的示意图;
图4为一种依据本申请实施例所提供的一种应用分身的方法安装应用分身的流程图;
图5为另一种依据本申请实施例所提供的一种应用分身的方法安装应用分身的流程图;
图6为本申请实施例所提供的另一种应用分身的方法的流程图;
图7为本申请实施例所提供的一种应用分身装置的结构示意图。
【具体实施方式】
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
现有的一种应用分身方案是基于安卓系统多用户机制进行修改创建的应用分身,在创建应用分身的时候,首先操作系统会自动创建了一个用于安装分身应用的新用户,然后操作系统会基于新用户安装分身应用,并将分身应用显示于老用户的桌面上。该方案的实现既需要给新用户分配较大的磁盘内存空间,又需要将新用户下安装的应用显示在老用户的桌面上,耗费了大量时间及计算资源;同时,该应用分身方案在切换应用时需要频繁切换系统账户,造成资源浪费。
现有的另一种应用分身方案首先反编译应用的安装包,然后修改安装包的包名,再将安装包重新打包后重新签名,把安装包伪装成另外一个不同的安装包。当用户安装新的安装包后,就会在桌面上看到一个新的应用。然而应用的安装包经过三方应用的修改和签名,有可能注入病毒木马,签名也难以保证;而且生成安装包较为复杂,时间开销大。
故本申请提供了一种应用分身的方法,用于解决上述问题。
请参考图1,图1为本申请实施例所提供的一种电子设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
请参考图2,为本申请实施例所提供的一种应用分身的方法的流程图,可以应用于上述实施例中的电子设备,该方法可以包括但不限于如下步骤:
S01,电子设备响应于用户的应用分身请求,确定与所述应用分身请求对应的主应用。
在一些实施例中,主应用可以为待进行分身的应用。主应用可以是用户需要实现多账号同时在线的应用或者其他类型的应用。该主应用可以为即时通信应用、游戏应用、视频应用、短视频应用、购物应用、音乐应用、社交类应用、资讯类应用中的至少一项,本申请对主应用的类别不作具体限定。电子设备在获取到应用分身请求后,依据该应用分身请求确定待分身的主应用,进而对该主应用进行应用分身操作。
在一些实施例中,该应用分身请求中可以包含主应用的标识信息,进而电子设备可以依据该标识信息确定分身应用请求对应的主应用,该标识信息可以为应用ID、应用签名等能够标识主应用身份的信息,本申请对标识信息的内容不作具体限定。
在一些实施例中,用户也可以通过长按主应用图标、双击或多击主应用图标等方式来触发应用分身操作。
在一些实施例中,对于电子设备响应于用户的应用分身请求,其具体可以包括:
电子设备接收预设软件发送的应用分身请求,所述应用分身请求为预设软件检测到用户对某个应用的操作。对于用户的操作,电子设备可以设置第一触发条件,该第一触发条件在被满足时,电子设备可以在预设软件输出是否创建分身应用的提示信息,并在接收到所述提示信息的确认信息时为所述主应用生成的应用分身请求。
在一些实施例中,该预设软件可以包括系统设置、桌面管理系统、应用商店中的至少一项,本申请对于预设软件的类别不作具体限定。
在一些实施例中,该第一触发条件可以包括所述主应用的图标的按压时间超过第一阈值、所述主应用的图标的点击次数超过第二阈值、所述主应用的图标的点击频率超过第三阈值、所述主应用的图标的点击点的数量超过第四阈值中的至少一项。
以预设软件为桌面管理系统为例,当用户长按即时通信应用图标、双击即时通信应用图标或双指点击即时通信应用图标时,桌面管理系统显示提示信息,该提示信息可以指示是否为该即时通信应用创建分身应用。当用户点击“是”选项,即用户输入该提示信息的确认信息,则桌面管理系统可以为该即时通信应用生成应用分身请求。
在一些实施例中,也可以预先在系统设置界面中实现应用分身功能按键,该应用分身功能按键被点击时会显示当前可以进行应用分身操作的应用,用户可以通过点击该应用分身功能按键,并在显示的可分身应用中选择主应用,来触发应用分身操作。
在一些实施例中,对于获取应用分身请求,其具体可以包括:
电子设备接收系统设置发送的应用分身请求,所述应用分身请求为系统设置模块检测到第二触发条件时输出是否创建分身应用的提示信息,并在接收到所述提示信息的确认信息时为所述主应用生成的应用分身请求。
在一些实施例中,该第二触发条件可以包括点击系统设置中的应用分身功能按键,并在弹出界面中选定主应用。
例如,请参考图3,为本申请实施例所提供的一种创建分身应用的示意图,当用户在系统设置中点击应用分身功能并选定某一即时通信应用为主应用时,系统设置模块会输出是否为该即时通信应用创建分身应用的提示信息。当用户点击“是”选项,系统设置模块可以为该即时通信应用生成应用分身请求。
在一些实施例中,用户也可以还可以通过长按按键、双击按键等方式触发应用分身功能,并在显示的可分身应用中选择主应用,来触发应用分身操作,具体实现方式与上述点击应用分身功能后系统设置模块的实现方式类似,在此不再赘述。
S02,电子设备获取所述主应用的配置信息,并依据所述主应用的配置信息生成分身应用的包信息。
包信息可以为应用安装包安装完成时生成的管理信息,包信息可以包括解析安装包得到的静态信息以及安装包在安装过程中生成的动态信息。电子设备通过该包信息对应用进行管理,即包信息的生成需要经过安装包下载、校验、解压缩、签名校验等步骤,导致应用安装的速度慢。
而在本申请各个实施例提供的方法中,为提高分身应用的安装效率,本申请可以直接依据主应用的配置信息生成分身应用的包信息,以使电子设备能够直接依据生成的包信息对分身应用进行管理。
在一些实施例中,该主应用的配置信息包括安装路径、资源路径等静态信息,以及数据路径等动态信息。对于依据所述主应用的配置信息生成分身应用的包信息,其具体可以为将JS对象简谱(JavaScript Object Notation,JSON)格式的主应用的配置信息转换为内存中的数据对象,保留主应用的配置信息中的静态信息,并依据分身应用的属性重新设定分身应用的动态信息。
在本申请实施例中,主应用的配置信息存放于主应用的根目录中,在确定主应用后,电子设备可以依据主应用的名称或应用信息查找到主应用的根目录,并在主应用的根目录中获取到主应用的配置信息。
在一些实施例中,该配置信息为JSON格式的数据。
在一些实施例中,配置信息由全局配置信息、在具体设备上的配置信息和部署包的配置信息三个部分组成。
应用的全局配置信息可以包括应用包名、对应用开发厂商的描述、版本、版本号、版本名、应用依赖的应用程序编程接口(Application Programming Interface,API)版本、最小版本、API目标版本、应用运行需要的API目标版本的类型等。
应用在具体设备上的配置信息可以包含应用或者应用实例的进程名、应用的共享userid、应用是否支持备份和恢复、库文件是否以压缩存储的方式打包到部署包、网络安全性配置、是否允许应用使用明文网络流量、应用的网络安全配置信息、自定义的网域范围的安全配置、自定义的网域范围内是否允许明文流量传输、域名配置信息等信息。
应用部署包的配置信息可以包括入口应用实例名称、部署包的包结构名称、部署包的类名、部署包的描述信息、应用支持的运行模式、部署包的元信息、调用参数的名称、调用参数的类型等信息。
S03,电子设备依据所述主应用的配置信息以及所述分身应用的包信息安装所述分身应用。
在一些实施例中,电子设备可以依据主应用的配置信息生成分身应用的包信息。例如,电子设备可以依据主应用的配置信息为分身应用进行静态信息的配置,同时为该分身应用设置相应的动态信息,以完成分身应用的安装;或者,电子设备可以将主应用的安装包中的包名称修改为分身应用的包名称,然后利用修改后的安装包进行分身应用的安装。
以对主应用的安装包进行修改为例进行说明,图4为一种依据本申请实施例所提供的一种应用分身的方法安装应用分身的流程图,在一些实施例中,对于电子设备依据所述主应用的配置信息以及所述分身应用的包信息安装所述分身应用,其具体可以通过执行如下步骤实现:
S031,电子设备依据所述分身应用的包信息确定所述分身应用的包名称。
在一些实施例中,分身应用的包名称可以为分身应用的安装根目录的名称。在同一系统账户下通过不同的包名称来对主应用和分身应用的安装路径进行隔离,进而不需要切换系统账户即可实现应用分身,避免造成资源浪费。
在一些实施例中,在依据主应用的配置信息生成分身应用的包信息时,电子设备可以依据当前分身应用的序号来对分身应用的包名称进行命名,并将得到的包名称保存在生成的包信息中。生成的分身应用的包信息中包括分身应用的包名称,进而电子设备可以从生成的分身应用的包信息中查找到分身应用的包名称。
例如,在对即时通信应用A进行分身操作时,如果应用A的包名称为a,当前分身操作生成的分身应用A’是应用A的第五个分身应用,那么分身应用A’的包名称则可以命名为a5。
S032,电子设备获取所述主应用的安装包,并将所述主应用的安装包中的包名称修改为所述分身应用的包名称。
在一些实施例中,将主应用的安装包中的包名称修改为分身应用的包名称,使得修改后的安装包进行分身应用的安装时,其安装路径与主应用的安装路径不同,以保证主应用和分身应用能够在同一系统账户下同时运行,避免造成资源浪费。
在一些实施例中,可以通过反编译主应用得到主应用的安装包,也可通过访问预设位置获取得到主应用的安装包,例如可以通过WiFi或移动通信网络连接到指定服务器下载得到,也可以通过WiFi、蓝牙或移动通信网络连接到指定文件存储位置获取得到,本申请对此不作具体限定。
在一些实施例中,对于电子设备获取所述主应用的安装包,其具体可以通过执行如下步骤实现:
电子设备检测预设存储目录中是否存储有所述主应用的安装包;
当预设存储目录中存储有主应用的安装包时,电子设备在所述预设存储目录中获取所述主应用的安装包;
当预设存储目录中未存储主应用的安装包时,电子设备在应用商店中下载所述主应用的安装包。
在本申请实施例中,该检测预设存储目录可以为应用安装后存放安装包的文件夹,当需要获取到即时通信应用A的安装包时,电子设备可以先去检测预设存储目录中是否存储有应用A的安装包,如果没有则证明安装包已被清除,此时还可以在应用商店中下载应用A的安装包。
S033,电子设备依据修改后的安装包安装所述分身应用。
在本申请实施例中,在对主应用的安装包中的包名称进行修改之后,使得修改后的安装包与主应用的安装包可以只在包名称上存在区别。对此,本申请提供的方法依据修改后的安装包能够安装得到该分身应用。
本申请实施例提供的应用分身的方法,通过依据获取到的应用分身请求确定主应用,然后获取主应用的配置信息,并依据主应用的配置信息生成分身应用的包信息,最后依据主应用的配置信息以及分身应用的包信息安装分身应用。即相对于现有技术,本申请实施例既不需要建立新用户,也不需要修改安装包的名称及签名,而是直接依据主应用的配置信息以及分身应用的包信息安装分身应用,避免了对时间及计算资源的浪费。同时,省去了在安装过程中需要重新对分身应用的安装包进行校验及签名校验的步骤,进一步提高了分身应用的安装效率,并降低了分身应用安装过程的资源消耗。
针对于现有的应用分身方案,需要对分身应用进行重新安装,导致重复创建了一份新的安装包和新的安装路径,造成额外资源的开发。为解决此问题,本申请实施例通过依据主应用的配置信息为分身应用进行静态信息的配置,同时为该分身应用设置相应的动态信息,以完成分身应用的安装。
请参考图5,为另一种依据本申请实施例所提供的一种应用分身的方法安装应用分身的流程图,对于电子设备依据所述主应用的配置信息以及所述分身应用的包信息安装所述分身应用,其具体也可以通过执行如图5所示的步骤实现:
S034,电子设备依据所述主应用的配置信息确定所述主应用的安装路径及资源路径。
在一些实施例中,主应用的配置信息中包括安装路径、资源路径等静态信息,以及数据路径等动态信息,电子设备可以从主应用的配置信息中获取到主应用的安装路径及资源路径。
S035,电子设备将所述分身应用的包信息中的安装路径设置为所述主应用的安装路径,并将所述分身应用的包信息中的资源路径设置为所述主应用的资源路径。
在一些实施例中,电子设备可以通过修改包管理中的编译程式码路径、资源路径等一系列安装代码或安装资源相关的路径,将分身应用的包信息中的安装路径设置为主应用的安装路径,并将分身应用的包信息中的资源路径设置为主应用的资源路径,以实现资源复用。
S036,电子设备创建预设数据路径,并将所述分身应用的包信息中的数据路径设置为所述预设数据路径,所述预设数据路径与所述主应用的数据路径不相同。
在一些实施例中,将分身应用的包信息中的数据路径设置为与主应用的数据路径不相同的预设数据路径,以实现对不同账号的数据进行分类存储。
在一些实施例中,当对分身应用的包信息中的安装路径、资源路径、数据路径设置完成之后,则分身应用已经建立完成,区别于现有技术以及上述实施例中的方案,本申请实施例避免了重复创建新安装包和新安装路径造成的额外资源的开发,而是只需要增加用于存储不同账号数据的数据存储路径即可,大大降低了分身应用对存储空间的占用。
在一些实施例中,该预设数据路径可以为预先定义的用于存储账号数据的数据路径,也可以为电子设备依据用户输入的指令自动生成的数据路径。
在一些实施例中,该预设数据路径也可以通过分身应用的包名称重新建立得到。
在一些实施例中,对于电子设备创建预设数据路径,其具体可以包括:
电子设备依据所述分身应用的包信息确定所述分身应用的包名称;
电子设备依据所述分身应用的包名称创建所述预设数据路径。
在一些实施例中,在将分身应用的包信息中的数据路径设置为预设数据路径之后,则分身应用已经安装完成,此时还可以通过执行如下步骤生成分身应用的图标:
发送分身应用安装完成的广播信息,所述广播信息用于指示桌面管理系统在桌面显示所述分身应用的图标。
本申请实施例通过将分身应用的安装路径与资源路径复用为主应用的安装路径与资源路径,使得不需要对分身应用进行重新安装,避免了重复创建新安装包和新安装路径造成的额外资源的开发,而是只需要增加用于存储不同账号数据的数据存储路径即可,大大降低了分身应用对存储空间的占用。
请参考图6,为本申请实施例所提供的另一种应用分身的方法的流程图,应用于上述实施例中的电子设备,包括如下步骤:
S01,电子设备获取应用分身请求,并依据所述应用分身请求确定主应用。
S02,电子设备获取所述主应用的配置信息,并依据所述主应用的配置信息生成分身应用的包信息。
S03,电子设备依据所述主应用的配置信息以及所述分身应用的包信息安装所述分身应用。
本申请实施例中步骤S01至步骤S03与上述实施例中步骤S01至步骤S03所起到的作用相同,在此不再赘述。
S11,电子设备获取所述应用分身请求的标识信息。
在一些实施例中,应用分身请求中携带有用于标识应用分身请求的类型的标识信息,电子设备可以依据该标识信息确定应用分身请求的类型。
S12,电子设备依据所述标识信息确定所述应用分身请求的类型为临时分身请求或正式分身请求。
在一些实施例中,该应用分身请求的类型可以包括临时分身请求和正式分身请求。
临时分身请求指的是生成的分身应用的相关数据可以存储在如内存等易失性存储器中,该类型的分身应用在到达设定时间或者手机重启后自动卸载。此外,基于临时分身请求的分身应用的相关数据也可以存储在非易失性存储器中,不加限制。
正式分身请求指的是生成的分身应用的相关数据可以存储在如磁盘等非易失性存储器中,该类型的分身应用不会在手机重启后自动卸载。
S13,当所述应用分身请求的类型为正式分身请求时,电子设备将所述分身应用的包信息保存至数据库中。
例如,当需要生成即时通信应用A的正式分身应用A1时,电子设备可以将正式分身应用A1的包信息保存至数据库中,使得手机重启也不会删除该正式分身应用A1的包信息,进而能够保证正式分身应用A1的持久化。
S14,当所述应用分身请求的类型为临时分身请求时,电子设备判断所述应用分身请求中是否包含分身时长。
若是,则执行S15。
在一些实施例中,当应用分身请求中不包含分身时长时,则证明该临时分身应用在手机开启过程中不存在使用时长限制,此时则可以不做任何操作。
S15,电子设备依据所述分身时长确定所述分身应用的包信息的删除时刻。
S16,当所述删除时刻到达,并且所述分身应用未处于运行状态时,电子设备删除所述分身应用的包信息。
在一些实施例中,当应用分身请求中包含分身时长时,则证明该临时分身应用在手机开启过程中存在使用时长限制,此时电子设备可以依据分身时长确定分身应用的包信息的删除时刻,并在删除时刻到达且分身应用未处于运行状态时时删除分身应用的包信息,实现对分身应用的卸载。
在一些实施例中,该方法还包括:当删除时刻到达,并且分身应用处于运行状态时,电子设备延迟对分身应用的包信息的删除操作。
当在删除时刻到达,并且分身应用处于运行状态时,表明用户此时正在使用分身应用。为避免直接卸载分身应用影响到用户使用,电子设备延迟对分身应用的包信息的删除操作。
在一些实施例中,延迟时间可以为电子设备预先设定的,也可以为用户通过应用程序设置的,本申请对删除操作的延迟时间不作具体限定。
例如,当即时通信应用A的临时应用分身请求中包含分身时长为50分钟时,在50分钟后,电子设备可以检测该临时分身应用A2是否处于运行状态,当临时分身应用A2处于运行状态时,证明用户正在使用临时分身应用A2,延迟对临时分身应用A2的包信息的删除操作;当临时分身应用A2未处于运行状态时,证明用户未使用临时分身应用A2,将临时分身应用A2的包信息从内存中删除,实现对临时分身应用A2的卸载。
请参考图7,为本申请实施例所提供的一种应用分身装置的结构示意图,该装置包括:
确定模块10,用于响应于应用分身请求,确定与所述应用分身请求确定对应的主应用;
包信息生成模块20,用于依据所述主应用的配置信息,生成分身应用的包信息;
安装模块30,用于依据所述主应用的配置信息以及所述分身应用的包信息,安装所述分身应用。
在一些实施例中,安装模块30具体用于:
依据所述主应用的配置信息确定所述主应用的安装路径及资源路径;
将所述分身应用的包信息中的安装路径设置为所述主应用的安装路径,并将所述分身应用的包信息中的资源路径设置为所述主应用的资源路径;
创建预设数据路径,并将所述分身应用的包信息中的数据路径设置为所述预设数据路径,所述预设数据路径与所述主应用的数据路径不相同。
在一些实施例中,安装模块30具体用于:
依据所述分身应用的包信息确定所述分身应用的包名称;
依据所述分身应用的包名称创建所述预设数据路径。
在一些实施例中,安装模块30还用于:
获取所述应用分身请求的标识信息;
依据所述标识信息确定所述应用分身请求的类型为临时分身请求或正式分身请求;
当所述应用分身请求的类型为正式分身请求时,将所述分身应用的包信息保存至数据库中。
在一些实施例中,安装模块30还用于:
当所述应用分身请求的类型为临时分身请求时,判断所述应用分身请求中是否包含分身时长;
当所述应用分身请求中包含分身时长时,依据所述分身时长确定所述分身应用的包信息的删除时刻;
当所述删除时刻到达,并且所述分身应用未处于运行状态时,删除所述分身应用的包信息。
在一些实施例中,安装模块30还用于:
当所述删除时刻到达,并且所述分身应用处于运行状态时,延迟对所述分身应用的包信息的删除操作。
在一些实施例中,安装模块30具体用于:
依据所述分身应用的包信息确定所述分身应用的包名称;
获取所述主应用的安装包,并将所述主应用的安装包中的包名称修改为所述分身应用的包名称;
依据修改后的安装包安装所述分身应用。
在一些实施例中,安装模块30具体用于:
检测预设存储目录中是否存储有所述主应用的安装包;
当预设存储目录中存储有所述主应用的安装时,在所述预设存储目录中获取所述主应用的安装包;
当预设存储目录中未存储所述主应用的安装时,在应用商店中下载所述主应用的安装包。
在一些实施例中,确定模块10具体用于:
接收预设软件发送的应用分身请求,所述应用分身请求为所述预设软件检测到第一触发条件时输出是否创建分身应用的提示信息,并在接收到所述提示信息的确认信息时为所述主应用生成的应用分身请求。
在一些实施例中,所述第一触发条件包括所述主应用的图标的按压时间超过第一阈值、所述主应用的图标的点击次数超过第二阈值、所述主应用的图标的点击频率超过第三阈值、所述主应用的图标的点击点的数量超过第四阈值中的至少一项。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (13)

1.一种应用分身的方法,其特征在于,应用于电子设备,所述方法包括:
所述电子设备响应于应用分身请求,确定与所述应用分身请求对应的主应用;
所述电子设备依据所述主应用的配置信息,生成分身应用的包信息;
所述电子设备依据所述主应用的配置信息以及所述分身应用的包信息,安装所述分身应用。
2.根据权利要求1所述的方法,其特征在于,所述电子设备依据所述主应用的配置信息以及所述分身应用的包信息安装所述分身应用,包括:
所述电子设备依据所述主应用的配置信息确定所述主应用的安装路径及资源路径;
所述电子设备将所述分身应用的包信息中的安装路径设置为所述主应用的安装路径,并将所述分身应用的包信息中的资源路径设置为所述主应用的资源路径;
所述电子设备创建预设数据路径,并将所述分身应用的包信息中的数据路径设置为所述预设数据路径,所述预设数据路径与所述主应用的数据路径不相同。
3.根据权利要求2所述的方法,其特征在于,所述电子设备创建预设数据路径,包括:
所述电子设备依据所述分身应用的包信息确定所述分身应用的包名称;
所述电子设备依据所述分身应用的包名称创建所述预设数据路径。
4.根据权利要求1所述的方法,其特征在于,在所述电子设备依据所述主应用的配置信息以及所述分身应用的包信息,安装所述分身应用之后,所述方法还包括:
所述电子设备获取所述应用分身请求的标识信息;
所述电子设备依据所述标识信息确定所述应用分身请求的类型为临时分身请求或正式分身请求;
当所述应用分身请求的类型为正式分身请求时,所述电子设备将所述分身应用的包信息保存至数据库中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述应用分身请求的类型为临时分身请求时,所述电子设备判断所述应用分身请求中是否包含分身时长;
当所述应用分身请求中包含分身时长时,所述电子设备依据所述分身时长确定所述分身应用的包信息的删除时刻;
当所述删除时刻到达,并且所述分身应用未处于运行状态时,所述电子设备删除所述分身应用的包信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述删除时刻到达,并且所述分身应用处于运行状态时,所述电子设备延迟对所述分身应用的包信息的删除操作。
7.根据权利要求1所述的方法,其特征在于,所述电子设备依据所述主应用的配置信息以及所述分身应用的包信息,安装所述分身应用,包括:
所述电子设备依据所述分身应用的包信息确定所述分身应用的包名称;
所述电子设备获取所述主应用的安装包,并将所述主应用的安装包中的包名称修改为所述分身应用的包名称;
所述电子设备依据修改后的安装包安装所述分身应用。
8.根据权利要求7所述的方法,其特征在于,所述电子设备获取所述主应用的安装包,包括:
所述电子设备检测预设存储目录中是否存储有所述主应用的安装包;
当所述预设存储目录中存储有所述主应用的安装包时,所述电子设备在所述预设存储目录中获取所述主应用的安装包;
当预设存储目录中未存储所述主应用的安装包时,所述电子设备在应用商店中下载所述主应用的安装包。
9.根据权利要求1所述的方法,其特征在于,所述电子设备响应于应用分身请求,包括:
所述电子设备接收预设软件发送的应用分身请求,所述应用分身请求为所述预设软件检测到第一触发条件时输出是否创建分身应用的提示信息,并在接收到所述提示信息的确认信息时为所述主应用生成的应用分身请求。
10.根据权利要求9所述的方法,其特征在于,所述第一触发条件包括所述主应用的图标的按压时间超过第一阈值、所述主应用的图标的点击次数超过第二阈值、所述主应用的图标的点击频率超过第三阈值、所述主应用的图标的点击点的数量超过第四阈值中的至少一项。
11.一种应用分身装置,其特征在于,包括:
确定模块,用于响应于应用分身请求,确定与所述应用分身请求确定对应的主应用;
包信息生成模块,用于依据所述主应用的配置信息,生成分身应用的包信息;
安装模块,用于依据所述主应用的配置信息以及所述分身应用的包信息,安装所述分身应用。
12.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储至少一条指令,所述指令由所述处理器加载并执行时以实现如权利要求1-10中任意一项所述的应用分身的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-10中任意一项所述的应用分身的方法。
CN202211051549.4A 2022-08-31 2022-08-31 一种应用分身的方法、装置及电子设备 Pending CN117667116A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211051549.4A CN117667116A (zh) 2022-08-31 2022-08-31 一种应用分身的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211051549.4A CN117667116A (zh) 2022-08-31 2022-08-31 一种应用分身的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN117667116A true CN117667116A (zh) 2024-03-08

Family

ID=90071993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211051549.4A Pending CN117667116A (zh) 2022-08-31 2022-08-31 一种应用分身的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117667116A (zh)

Similar Documents

Publication Publication Date Title
US11947974B2 (en) Application start method and electronic device
CN106406940B (zh) 系统升级方法、装置及终端
CN111221559B (zh) 应用更新方法、装置、存储介质、终端及服务器
CN106681749B (zh) 基于安卓平台的局部代码补丁更新方法及装置
CN110869907A (zh) 一种浏览应用页面的方法及终端
JP2007528064A (ja) 無線装置オペレーティング環境における未検証プログラムの実行
CN109375937A (zh) 系统升级方法、装置、终端设备及存储介质
CN109976787B (zh) 应用程序升级方法、装置、终端及计算机可读存储介质
CN111095199B (zh) 一种加载应用的方法及终端设备
CN108090345B (zh) linux系统外部命令执行方法及装置
CN108874554B (zh) 信息通信方法及装置
US20170126872A1 (en) Method and apparatus for providing contact information
CN106789832B (zh) 一种通话过程中的数据处理方法、装置和系统
CN107463395B (zh) 组件调用方法及装置
CN113039517B (zh) 一种音频资源调用的方法、装置及电子设备
CN117667116A (zh) 一种应用分身的方法、装置及电子设备
EP4191409A1 (en) Shared library multiplexing method and electronic device
CN114238074A (zh) 一种子应用的调试方法、装置、设备及存储介质
WO2022143126A1 (zh) 应用的安全性分析方法、装置、设备及存储介质
CN112181406A (zh) 一种渲染引擎的共享方法和装置
CN112083981A (zh) 一种页面视图组件的创建方法和装置
KR101675420B1 (ko) 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법
CN116382796B (zh) 一种h5小程序运行器的插件管理方法、装置及电子设备
CN112799857B (zh) 一种应用访问方法、装置、终端及存储介质
CN110019629B (zh) 地图快照方法及智能终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination