CN115543351B - 应用程序安装方法和电子设备 - Google Patents

应用程序安装方法和电子设备 Download PDF

Info

Publication number
CN115543351B
CN115543351B CN202210112005.8A CN202210112005A CN115543351B CN 115543351 B CN115543351 B CN 115543351B CN 202210112005 A CN202210112005 A CN 202210112005A CN 115543351 B CN115543351 B CN 115543351B
Authority
CN
China
Prior art keywords
program
electronic device
package
operating system
program package
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.)
Active
Application number
CN202210112005.8A
Other languages
English (en)
Other versions
CN115543351A (zh
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210112005.8A priority Critical patent/CN115543351B/zh
Publication of CN115543351A publication Critical patent/CN115543351A/zh
Application granted granted Critical
Publication of CN115543351B publication Critical patent/CN115543351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种应用程序安装方法和电子设备,涉及终端技术领域。该应用程序安装方法,第一电子设备响应于对第一控件的触发操作,下载数据包文件,第一电子设备解析数据包文件,得到第一程序包和第二程序包;第一电子设备基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。用户仅需触发第一电子设备的第一界面的第一控件,即可下载携带第一程序包和第二程序包的数据包文件。进而,第一电子设备可以基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。这样一来,减少了用户的操作步骤,而且也减少第一电子设备的执行步骤,节省了资源。

Description

应用程序安装方法和电子设备
技术领域
本申请涉及终端技术领域,尤其涉及一种应用程序安装方法和电子设备。
背景技术
目前,随着终端技术的发展,电子设备已经成为人们工作生活的一部分。对于具有双核处理器的电子设备而言,各处理器均可以独立安装一个操作系统。各处理器的操作系统上均可以安装应用程序,以供用户使用。
通常情况下,当用户需要在电子设备的不同操作系统安装同一款应用时,用户的操作过程也比较繁琐,这样导致电子设备执行的步骤比较繁琐,浪费了计算资源。
发明内容
本申请提供一种应用程序安装方法和电子设备,可以使得用户需要在电子设备的不同操作系统安装同一款应用时,使得用户的操作过程也简单,而且电子设备执行的步骤比较简单,节省计算资源。
第一方面,本申请提供了一种应用程序安装方法,应用于第一电子设备,第一电子设备安装有第一操作系统和第二操作系统。本申请提供的方法包括:第一电子设备显示第一界面,第一界面包括第一控件,第一控件用于指示下载目标应用。第一电子设备响应于对第一控件的触发操作,下载数据包文件,数据包文件携带有目标应用的第一程序包和第二程序包,其中,第一程序包适配第一操作系统,第二程序包适配第二操作系统。第一电子设备解析数据包文件,得到第一程序包和第二程序包。第一电子设备基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。
本申请提供的应用程序安装方法,用户仅需触发第一电子设备的第一界面的第一控件,即可下载携带第一程序包和第二程序包的数据包文件。进而,第一电子设备可以基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。这样一来,减少了用户的操作步骤,而且也减少第一电子设备的执行步骤,节省了资源。
在一种可能的实施方式中,第一电子设备基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用,包括:第一电子设备基于第一程序包在第一操作系统安装目标应用。在第一操作系统安装目标应用成功时,第一电子设备基于第二程序包在第二操作系统安装目标应用。
进一步地,在基于第二程序包在第二操作系统安装目标应用之后,本申请提供的方法还包括:在第二操作系统安装目标应用失败时,第一电子设备删除在第一操作系统已安装的目标应用。
可以理解地,删除在第一操作系统已安装的目标应用,可以节省存储空间。
进一步地,第一电子设备包括主处理器和协处理器,第一电子设备基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用,包括:主处理器基于第一程序包,在第一操作系统安装目标应用。在第一操作系统安装目标应用成功时,主处理器向协处理器传输第二数据包。协处理器基于第二程序包在第二操作系统安装目标应用。
更进一步地,主处理器基于SPI总线向协处理器传输处于压缩状态的第二数据包。
这样一来,由于传输的数据量较小,且SPI总线为高速传输总线,可以节省传输的时间。
在一种可能的实施方式中,数据包文件处于压缩状态,在第一电子设备解析数据包文件,得到第一程序包和第二程序包之前,本申请提供的方法还包括:第一电子设备解压数据包文件。
在一种可能的实施方式中,在第一电子设备显示第一界面之前,本申请提供的方法还包括:第二电子设备获取目标应用的第一程序包和第二程序包。第二电子设备将第一程序包中的源代码编译为机器码,以及将第二程序包中的源代码编译为机器码。第二电子设备将编译后的第一程序包和第二程序包打包,得到数据包文件。
进一步地,第一程序包中的内容为java源代码,第二程序包中的内容为js源代码,第二电子设备将第一程序包中的源代码编译为机器码,以及将第二程序包中的源代码编译为机器码,包括:第二电子设备将第一程序包中的java源代码编译为java机器码,以及将第二程序包中的js源代码编译为java机器码。
这样一来,使得第二程序包后续可以安装于运行java虚拟机的第二操作系统。
或者,进一步地,第一程序包中的内容为java源代码,第二程序包中的内容为java源代码,第二电子设备将第一程序包中的源代码编译为机器码,以及将第二程序包中的源代码编译为机器码,包括:第二电子设备将第一程序包中的java源代码编译为java机器码,以及将第二程序包中的java源代码编译为js机器码。
这样一来,使得第二程序包后续可以安装于运行js虚拟机的第二操作系统。
在一种可能的实施方式中,在第二电子设备将编译后的第一程序包和第二程序包打包,得到数据包文件之后,本申请提供的方法还包括:第二电子设备解析数据包文件,得到第一程序包和第二程序包。第二电子设备分别对第一程序包和第二程序包进行安全扫描,并输出扫描结果。
这样一来,可以提高数据包文件的安全性。
在一种可能的实施方式中,第一电子设备为穿戴设备,第一操作系统为Android系统,第二操作系统为LiteOS操作系统。或者,第一电子设备为手机,第一操作系统为Android系统,第二操作系统为Emotion UI系统。
第二方面,本申请还提供了另一种应用程序安装方法,包括:
第三电子设备与第一电子设备建立通信连接,其中,第一电子设备安装有第一操作系统和第二操作系统。第三电子设备显示第四界面,第四界面包括第一控件,第一控件用于指示下载目标应用。第三电子设备响应于对第一控件的触发操作,下载数据包文件,数据包文件携带有目标应用的第一程序包和第二程序包,其中,第一程序包适配第一操作系统,第二程序包适配第二操作系统。第三电子设备向第一电子设备发送数据包文件。第一电子设备解析数据包文件,得到第一程序包和第二程序包。第一电子设备基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。
第三方面,本申请还提供了一种应用程序安装装置,应用于第一电子设备,第一电子设备安装有第一操作系统和第二操作系统。本申请提供的装置包括:显示单元,用于显示第一界面,第一界面包括第一控件,第一控件用于指示下载目标应用。通信单元,用于响应于对第一控件的触发操作,下载数据包文件,数据包文件携带有目标应用的第一程序包和第二程序包,其中,第一程序包适配第一操作系统,第二程序包适配第二操作系统。处理单元,用于解析数据包文件,得到第一程序包和第二程序包。处理单元,还用于基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。
第四方面,本申请提供一种电子设备,包括处理器和存储器,存储器用于存储代码指令;处理器用于运行代码指令,使得电子设备以执行如第一方面或第一方面的任一种实现方式中描述的应用程序安装方法。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的应用程序安装方法。
第六方面,本申请一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的应用程序安装方法。
应当理解的是,本申请的第二方面至第六方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1中的(a)-(d)为手表100安装的界面示意图;
图2中的(a)-(d)为手表100从智能手表模式切换到运动手表模式的界面示意图;
图3本申请实施例提供的手机的硬件架构示意图;
图4本申请实施例提供的手机的软件架构示意图;
图5本申请实施例提供的手表的硬件架构示意图;
图6本申请实施例提供的第二电子设备得到数据包文件的流程示意图之一;
图7本申请实施例提供的第二电子设备得到数据包文件的界面示意图;
图8本申请实施例提供的第二电子设备将java代码转换为机器码的流程框图;
图9本申请实施例提供的第二电子设备得到数据包文件的流程示意图之二;
图10为本申请实施例提供的第二电子设备将js代码转换为机器码的流程框图
图11为本申请实施例提供的第二电子设备对数据包文件进行安全扫描的流程图之一;
图12为本申请实施例提供的第二电子设备对数据包文件进行安全扫描的界面示意图;
图13为本申请实施例提供的第二电子设备对数据包文件进行安全扫描的流程图之二;
图14为本申请实施例提供的手表分别在Android系统和LiteOS操作系统安装 的流程示意图之一;
图15本申请实施例提供的手表的主处理器和协处理器的架构示意图;
图16为图14中的S1603-S1604的子步骤流程图;
图17中的(a)-(d)为本申请实施例提供的手表分别在Android系统和LiteOS操作系统安装的界面示意图之一;
图18为本申请实施例提供的手表分别在Android系统和LiteOS操作系统安装 的流程示意图之二;
图19为本申请实施例提供的手表与手机建立通信连接的示意图;
图20中的(a)-(e)为本申请实施例提供的手表分别在Android系统和LiteOS操作系统安装的界面示意图之二;
图21为本申请实施例提供的应用程序安装装置的功能模块框图;
图22为本申请实施例提供的一种电子设备的硬件结构示意图;
图23为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
目前,随着终端技术的发展,电子设备已经成为人们工作生活的一部分。对于具有双核处理器的电子设备而言,各处理器均可以独立安装一个操作系统。各处理器的操作系统上均可以安装应用程序,以供用户使用。
例如,手表100安装有第一操作系统和第二操作系统。当手表100运行第一操作系统时,手表100处于第一预设模式(如智能手表模式);当手表100运行第二操作系统时,手表100处于第二预设模式(如运动手表模式)。手表100在第一操作系统和第二操作系统安装的过程可以如下:
如图1中的(a)所示,手表100在运行第一操作系统的情况下,显示系统桌面101,系统桌面101包括应用商店的图标102。如图1中的(b)所示,手表100响应于用户对应用商店的图标102的触发操作,显示第一界面103。第一界面103包括多个应用程序的图标。其中,各应用程序的图标的一侧具有第一控件104,第一控件104用于指示下载应用程序。仍如图1中的(b)所示,手表100可以响应于用户对的图标一侧的第一控件104的触发操作,从服务器下载/>的第一程序包。进而,手表100基于第一程序包在第一操作系统安装/>如图1中的(c)所示,在安装成功后,手表100在系统桌面101显示/>的图标105。
如图2中的(a)所示,系统桌面101还包括设置图标106。如图2中的(b)所示,手表100可以响应于用户对设置图标106的触发操作,显示设置列表界面107,设置列表界面107包括切换控件108,切换控件108用于切换手表100所处的模式。手表100可以响应于用户对切换控件108的触发操作,开始运行第二操作系统。如图2中的(c)所示,手表100还可以响应于用户对设置列表界面107的退出控件的触发操作,显示第二操作系统的系统桌面108。
进而,用户还需要经历如图1所示的操作,且手表100也需要重复执行与图1对应的步骤,才能在第二操作系统安装
可见,在上述的过程中,用户在手表100的操作步骤也比较繁琐,用户体验感低;且手表100也需要执行两次安装的完整步骤,比较浪费计算资源。
有鉴于此,本申请提供了一种应用程序安装方法,第一电子设备响应于对第一界面的第一控件的触发操作,下载携带有目标应用的第一程序包和第二程序包的数据包文件。进而,第一电子设备基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。
这样一来,用户仅需触发第一电子设备的第一界面的第一控件,即可下载包括第一程序包和第二程序包的数据包文件。进而,第一电子设备可以基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用,这样,可以减少用户的操作步骤。进而,减少了第一电子设备的执行步骤,节省了资源。
可以理解的是,上述的第一电子设备也可以称为终端,(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。电子设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)电子设备、增强现实(augmented reality,AR)电子设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对第一电子设备所采用的具体技术和具体设备形态不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的第一电子设备的结构进行介绍。示例性的,当第一电子设备为手机时,图3为本申请实施例提供的手机的结构示意图。
手机可以包括中央处理单元110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,传感器模块180,按键190,摄像头193,以及触控屏194等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对手机的具体限定。在本申请另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
中央处理单元110包括主处理器111和协处理器112。其中,主处理器111和协处理器112可以是独立的器件,也可以集成在一个芯片中。主处理器111中还可以设置存储器,用于存储指令和数据。
主处理器111与协处理器112之间可以通过SPI总线通信连接。主处理器111安装有第一操作系统,协处理器112安装有第二操作系统。当主处理器111运行第一操作系统时,手机处于第一预设模式;当协处理器112运行第二操作系统时,手机处于第二预设模式。其中,第一预设模式可以用于指示手机处于工作模式;第二预设模式可以用于指示手机处于生活模式。示例性地,第一操作系统可以为Android系统,第二操作系统可以为EMUI(EmotionUI)系统。其中,EMUI系统是基于Android进行开发的情感化操作系统,拥有简化的用户界面、新的手势导航和HiVision的“AI”功能。
手机的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在手机上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
无线通信模块160可以提供应用在手机上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。
手机通过GPU,触控屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接触控屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。
触控屏194用于显示图像,视频等。触控屏194包括显示面板。在一些实施例中,手机可以包括1个或N个触控屏194,N为大于1的正整数。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
手机的软件系统可以包括主处理器111安装的第一操作系统和协处理器112的安装的第二操作系统。图4为本申请实施例适用的手机的一种软件结构框图。分层架构将手机的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将第一操作系统和第二操作系统分为五层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Androidruntime)和系统库、硬件抽象层(hardware abstract layer,HAL)以及内核层(kernel)。
第一操作系统和第二操作系统的应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programminginterface,API)运行应用程序。如图4所示,应用程序包可以包括日历,地图,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信等应用程序。可以理解地,上述的每个应用程序的端口均可以用于接收数据。
第一操作系统的应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。第二操作系统的应用程序框架层包括程序管理器、日志管理器、远程管理器、网路协议管理器等
第一操作系统的系统库包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。第二操作系统的系统库包括传感器服务、输出/输入服务、蓝牙服务、文件管理系统服务等。
第一操作系统和第二操作系统的硬件抽象层,可以包含多个库模块,库模块如可以为摄像头库模块、马达库模块等。Android系统可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。
第一操作系统和第二操作系统的内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,马达驱动等,本申请实施例对此不做限制。可以理解地,显示驱动,摄像头驱动,音频驱动,传感器驱动,马达驱动等均可以视为一个驱动节点。上述的每个驱动节点均包括可以用于接收数据的接口。
另外,当第一电子设备为手表时,手表的结构可以为如图5所示。其中,手表可以包括中央处理单元210,外部存储器接口220,内部存储器221,充电管理模块240,电源管理模块241,天线1,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,传感器模块280,按键290,指示器292,摄像头293,以及显示屏294等。其中,传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,气压传感器280C,磁传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,温度传感器280J,触摸传感器280K,环境光传感器280L等。其中,手表中的部件的功能与上述的手机的部件的功能相同,在此不赘述。
中央处理单元210包括主处理器211和协处理器212。其中,主处理器211和协处理器212可以是独立的器件,也可以集成在一个芯片中。主处理器211中还可以设置存储器,用于存储指令和数据。
主处理器211与协处理器212之间可以通过SPI总线通信连接。主处理器211安装有第一操作系统,协处理器212安装有第二操作系统。当主处理器211运行第一操作系统时,手表处于第一预设模式,其中,第一预设模式可以用于指示手表处于智能手表模式;当协处理器212运行第二操作系统时,手表处于第二预设模式,其中,第二预设模式用于指示手表处于运动手表模式。示例性地,第一操作系统可以为Android系统,第二操作系统可以为LiteOS操作系统。
可以理解的是,本申请实施例示意的结构并不构成对手表的具体限定。在本申请另一些实施例中,手表可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请的技术术语解释:
APK文件:APK(android application package,APK)文件,即安卓应用程序包文件,是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成被Android系统能识别的文件才可以被运行,而能被Android系统识别并运行的文件格式便是“APK”。可以理解地,APK文件与Android系统匹配。
轻量级的程序包:即相对于普通的应用程序包(如APK文件)而言,功能相对单一、源代码简单不复杂的程序包。
Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境。Java虚拟机有完善的硬体架构,如处理器、堆栈、寄存器等。
LiteOS操作系统:LiteOS是在敏捷网络3.0中的一个轻量级的物联网操作系统,LiteOS体积只有10KB级,在LiteOS操作系统上可以按照各种轻量级的应用。LiteOS操作系统可以快速启动,互联互通,安全等关键能力,可以为开发者提供“一站式”完整软件平台,有效降低开发门槛、缩短开发周期。可以理解地,轻量级的应用与LiteOS操作系统匹配。
字节码:是一种包含执行程序、由一序列op代码/数据对组成的二进制文件。字节码是一种中间码,它比机器码更抽象,需要直译器转译后才能成为机器码的中间代码。
机器码:是电子设备可以直接读取运行的机器码,且运行速度快。
下面,以第一程序包为目标应用的APK文件、第二程序包为目标应用的轻量级的程序包为例,结合具体的实施例对本申请提供的应用程序安装方法进行说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
需要说明的是,在用户能够在服务器下载,携带第一程序包和第二程序包的数据包文件之前,需要开发人员基于第二电子设备200开发数据包文件。如此,下面结合图6-图11,说明第二电子设备200如何基于开发人员的操作,得到上述的数据包文件。如图6所示,本申请实施例提供的应用程序安装方法,包括:
S601:第二电子设备200显示第二界面。其中,第二界面包括第二控件,第二控件用于指示添加程序包。
第二电子设备200可以显示系统桌面,系统桌面包括打包工具的图标(附图7中未示)。如图7所示,第二电子设备200可以响应于开发人员对打包工具的图标的触发操作,显示第二界面202,第二界面202包括第二控件203,第二控件203用于指示添加程序包。
S602:第二电子设备200可以响应于对第二控件203的触发操作,选择并添加目标应用的APK文件和轻量级的程序包。
其中,APK文件和轻量级的程序包可以为基于java源代码编写的文件,且APK文件可以处于被压缩的状态。当然地,在另一些实施例中,APK文件也可以是处于未被压缩状态,在此不作限定。
其中,上述的S601-S602可以理解为第二电子设备200获取目标应用的APK文件和轻量级的程序包的过程。
S603:第二电子设备200响应于对第二界面201中的第三控件204的触发操作,解压APK文件。其中,第三控件204用于指示生成数据包文件。
示例地,第二电子设备200的打包工具可以向处于压缩状态的APK文件,发送解压指令。APK文件在接收到来自打包工具的解压指令后解压,得到解压后的APK文件。
可以理解地,在目标应用的APK文件处于未被压缩的状态时,上述的S603可以省略。
S604:第二电子设备200将APK文件中的java源代码编译为java机器码,得到编译后的APK文件。
示例性地,第二电子设备200的打包工具可以向APK文件发送编译指令。进而,如图8所示,APK文件响应于编译指令,将java源代码转换为java语法树;进而,APK文件将java语法树再转换为java字节码;最后,APK文件将java字节码再转换为java机器码。
需要说明的是,在另一些实施例中,若上述的S602获取的APK文件中内容为java机器码,则S604可以省略。
S605:第二电子设备200对轻量级的程序包进行预处理。
示例性地,S604的过程可以为:第二电子设备200的打包工具可以向轻量级的程序包发送预处理指令。轻量级的程序包接收到预处理指令后,执行预处理的操作。其中,预处理的方式可以包括但不限于:删除轻量级的程序包中,与APK文件共用的标准库;和/或调整轻量级的程序包的目标组织结构等方式。
S606:第二电子设备200对轻量级的程序包中的java源代码编译为java机器码,得到编译后的轻量级的程序包。
需要说明的是,S606的原理与上述的S604的原理相同,在此不赘述。
在另一些实施例中,若上述的S602获取的轻量级的程序包的内容为java机器码,则S604可以省略。
可以理解地,上述的S603-S604,与上述的S605-S606之间没有先后顺序。
S607:第二电子设备200压缩编译后的轻量级的程序包。
在另一些实施例中,也可以不压缩预处理后的轻量级的程序包。如此,上述的S607可以省略。
S608:第二电子设备200将压缩后的轻量级的程序包和编译后的APK文件打包,得到数据包文件。
可选地,第二电子设备200也可以压缩数据包文件。
可以理解地,上述的S601-S608为第二电子设备200如何基于开发人员的操作,得到数据包文件的过程。需要说明的是,上述的S601-S608可以省略。
示例性地,如图9所示,上述的S601-S608可以概括为:S901,打包工具向获取的目标应用的APK文件发送解压指令;S902,APK文件执行解压的操作;S903:APK文件将java源代码编译为java机器码;S904,打包工具向目标应用的轻量级的程序包发送预处理指令;S905,轻量级的程序包执行预处理的操作;S906,轻量级的程序包将java源代码编译为java机器码;S907,轻量级的程序包执行压缩的操作;S908,打包工具将APK文件和轻应用的程序包打包压缩,得到数据包文件。
可以理解地,在上述的S601-S608中,是以APK文件和轻量级的程序包均为java语言编写的文件为例说明的。需要说明的是,APK文件后续可以通过手表100的主处理器安装于Android系统,即java虚拟机,因此,APK文件通常为java语言编写的。可以理解地,以java语言编写的APK文件与java虚拟机之间能够兼容。而轻量级的程序包,后续可以通过手表的协处理器安装于LiteOS操作系统,手表的LiteOS操作系统可以是java虚拟机,也可以是js(javascript,js)虚拟机。如此,轻量级的程序包不仅可以是上述的java编写的文件,还可以是js语言编写的文件。
在另一些实施例中,若轻量级的程序包为js语言编写的文件时,而手表运行LiteOS操作系统为java虚拟机时,上述的S606可以替换为:
第二电子设备200将轻量级的程序包的js源代码,转换为java机器码。这样一来,可以使得第二电子设备200可以兼容对js应用进行处理,并交给第三方发布,使得轻量级的程序包后续可以安装于运行java虚拟机的LiteOS操作系统。
示例性地,如图10所示,第二电子设备200可以将轻量级的程序包的js源代码,转换为js语法树。进而,第二电子设备200将js语法树转换为js字节码;然后,第二电子设备200根据js字节码及预设的映射关系,将js字节码转换为java字节码。其中,预设的映射关系即js字节码与java字节码的对应关系。最后,第二电子设备200将java字节码转换为java机器码。
示例性地,预设的映射关系可以如表1所示。
表1
示例性地,js字节码可以为:
164 /*binary operators/*\
165 v(Add ImplicitRegisterUse::kReadwriteAccumulator,0perand Type::kreg,\
166 0perand Type::Kidx,\
167 v(Sub ImplicitRegisterUse::kReadwriteAccumulator,0perand Type::kreg,\
168 0perand Type::Kidx,\
示例地,java字节码可以为如下表2所示:
表2
在另一些实施例中,若轻量级的程序包为java语言编写的文件时,而运行LiteOS操作系统为js虚拟机时,上述的S606可以替换为:
第二电子设备200将轻量级的程序包的java源代码,转换为js机器码。这样一来,可以使得第二电子设备200可以兼容对轻量级的java应用进行处理,并交给第三方发布,使得轻量级的程序包后续可以安装于运行java虚拟机的LiteOS操作系统。其原理可以参照图10,在此不赘述。
需要说明的是,数据包文件在通过第三方发布到应用商店,供用户下载之前,还可以对数据包文件进行安全扫描,以提高数据包文件在被使用时的安全性。如图11所示,本申请实施例提供的应用程序安装方法还可以包括:
S1301:第二电子设备200显示第三界面,第三界面包括第四控件,其中,第四控件用于指示添加程序包。
第二电子设备200可以显示系统桌面,系统桌面包括安全扫描工具的图标(附图12中未示)。如图12所示,第二电子设备200可以响应于开发人员对安全扫描工具的图标的触发操作,显示第三界面205,第三界面205包括第四控件206,第四控件206用于指示添加程序包。
S1302:第二电子设备200可以响应于对第四控件206的触发操作,选择并添加数据包文件。
S1303:第二电子设备200响应于对第三界面205中的第五控件207的触发操作,解压数据包文件,得到轻量级的程序包和APK文件。其中,第五控件207用于指示对文件进行安全扫描。
S1304:第二电子设备200分别对轻量级的程序包和APK文件进行安全扫描,并输出扫描结果。
示例地,如图13所示,S1303-S1304的过程可以包括:S1501,安全扫描工具向数据包文件发送解压指令;S1502,数据包文件解压得到轻量级的程序包和APK文件;S1503,APK文件执行安全扫描的操作;S1504,轻量级的程序包执行安全扫描的操作;S1505,安全扫描工具接收来自轻量级的程序包和APK文件的扫描结果并输出。
可以理解地,上述的S1301-S1304为对数据包文件进行安全扫描的过程。可以理解地,若扫描结果用于指示安全性高时,则开发人员可以将数据包文件交给第三方发布到应用商店。这样一来,可以提高数据包文件的安全性。而且对第三方而言,仅需发布一个数据包文件即可,省时省力。如此,用户即可使用第一电子设备下载安装目标应用。
下面,以第一电子设备为手表100、目标应用为第一操作系统为Android系统(如A53架构)、以及第二操作系统为Lite OS操作系统(如M33架构、或者M4架构)为例,结合图14中的S1601-S1604介绍,手表100如何在Android系统和LiteOS操作系统安装/>的过程。示例性地,如图15所示,手表100包括主处理器和协处理器,其中,主处理器安装有重量级的java虚拟机(即Android系统),协处理器安装有轻量级的java虚拟机(即LiteOS操作系统)。
S1601:手表100显示第一界面,第一界面包括第一控件,第一控件用于指示下载
在手表100运行Android系统时,手表100处于第一预设模式。其中,第一预设模式可以理解为智能手表模式。
仍如图1中的(a)所示,手表100显示Android系统的系统桌面101,系统桌面101包括应用商店的图标102。仍如图1中的(b)所示,手表100响应于用户对应用商店的图标102的触发操作,显示第一界面103。第一界面103包括多个应用程序的图标。其中,各应用程序的图标的一侧具有第一控件104,第一控件104用于指示下载应用程序。
S1602:手表100响应于对第一控件的触发操作,从服务器下载的数据包文件。
手表100可以响应于用户对的图标一侧的第一控件104的触发操作,从服务器下载/>的数据包文件。
其中,数据包文件携带有的APK文件和轻量级的程序包。可以理解地,/>的APK文件适配Android系统,/>的轻量级的程序包适配LiteOS操作系统。
S1603:手表100解析数据包文件,得到的APK文件和轻量级的程序包。
S1604:手表100基于的APK文件,在Android系统安装/>以及基于轻量级的程序包,在Lite OS操作系统安装/>
如此,用户仅需触发手表100的第一界面103的第一控件104,即可下载携带APK文件和轻量级的程序包的数据包文件。进而,手表100可以基于APK文件,在Android系统安装以及基于轻量级的程序包,在Lite OS操作系统安装/>这样,可以减少用户的操作步骤。进而,减少了手表100的执行步骤,节省了资源。
示例地,如图16所示,上述的S1603-S1604可以通过如下子步骤实现:
S1801:手表100的主处理器可以解压处于压缩状态的数据包文件。
可以理解地,当数据包文件处于未压缩状态时,S1801可以省略。
S1802:手表100的主处理器剥离解压后的数据包文件,得到的APK文件和/> 的轻量级的程序包。
S1803:手表100的主处理器基于APK文件在Android系统安装微信。
S1804:手表100的主处理器判断是否在Android系统安装成功,如果是,则执行S1805。
S1805:手表100的主处理器向协处理器,传输的轻量级的程序包。
其中,手表100的主处理器可以通过SPI总线向协处理器,传输处于压缩状态的轻量级的程序包。这样一来,由于传输的数据量较小,且SPI总线为高速传输总线,可以节省传输的时间。
S1806:手表100的协处理器根据轻量级的程序包,在LiteOS操作系统安装
S1807:手表100的协处理器判断是否在LiteOS操作系统安装成功,如果是,则执行S1808,如果否,则执行S1809。
S1808:如图17中的(a)所示,手表100在Android系统的系统桌面101显示的图标105。
另外,如图17中的(a)所示,Android系统的系统桌面101还包括设置图标106。如图17中的(b)所示,手表100可以响应于用户对设置图标106的触发操作,显示设置列表界面107。设置列表界面107包括切换控件108,切换控件108用于切换手表100所处的模式。手表100可以响应于用户对切换控件108的触发操作,开始运行LiteOS操作系统,即手表100从处于智能手表模式切换到处于运动手表模式。
如图17中的(c)所示,手表100还可以响应于用户对设置列表界面107的退出控件的触发操作,显示LiteOS操作系统的系统桌面108。可以理解地,由于在LiteOS操作系统安装成功,LiteOS操作系统的系统桌面108也显示有/>的图标。
S1809:手表100的协处理器向主处理器发送第一通知,其中,第一通知用于指示删除已安装的
S1810:手表100的主处理器响应于第一通知,删除在Android系统已安装的
可以理解地,在安装失败后,Android系统的系统桌面101不会显示的图标105;LiteOS操作系统的系统桌面108也不会显示/>的图标105。另外,删除在Android系统已安装的/>可以节省存储空间。
需要说明的是,上述的S1807-S1810可以省略。这样一来,若在LiteOS操作系统安装失败,还能保持在Android系统安装的/>能够正常使用。
需要说明的是,上述的S1601-S1602是以执行主体为手表100为例说明的,在另一些实施例中,S1601-S1602的执行主体还可以为第三电子设备。例如,第三电子设备可以为手机或平板等设备,下面,以第三电子设备为手机300为例,并结合图18说明上述的S1601-S1602的可替换步骤:
S2001:手机300和手表100建立通信连接。
示例性地,如图19所示,手机300和手表100可以建立蓝牙连接或者,wifi连接等,在此不作限定。
S2002:手机300显示第四界面,第四界面包括第一控件。第一控件用于指示下载
如图20中的(a)所示,手机300显示系统桌面2101,系统桌面2101包括“运动健康”的图标2102。手机300响应于用户对“运动健康”的图标的触发操作,如图20中的(b)所示,显示第五界面2103,第五界面2103包括“设备”控件2104。手机300响应于用户对“设备”控件2104的触发操作,如图20中的(c)所示,显示第六界面2105,第六界面2105包括用于指示安装更多应用的控件2106。手机300响应于用户对控件2106的触发操作,如图20中的(d)所示,显示第四界面2207。在第四界面2107包括多个待安装的应用程序的图标,且每个应用程序的图标的一侧具有第一控件2108。
S2003:手机300响应于用户对一侧的安装控件208的触发操作,从服务器下载/>的数据包文件。
进而,如图20中的(e)所示,S2004:手机300向手表100发送数据包文件。
需要说明的是,在上述的实施例中,是以第一电子设备为手表100为例说明的,在另一些实施例中,第一电子设备还可以为手机、平板、路由、大屏电视、或者PC机等,在此不作限定。
需要说明的是,在上述的实施例中,是以目标应用为为例说明的,在另一些实施例中,目标应用还可以为/>或者/>等,在此不作限定。
需要说明的是,在上述的实施例中,是以手表的在Android系统的第一界面的第一控件,接收到用户的操作,分别在Android系统、LiteOS操作系统安装微信的;在另一些实施例中,还可以是在手机的Android系统的第一界面的第一控件,接收到用户的操作,分别在Android系统、EMUI系统安装微信,在此不作限定。
需要说明的是,在上述的实施例中,是以手表在Android系统的第一界面的第一控件,接收到用户的操作,分别在Android系统、LiteOS操作系统安装微信的;在另一些实施例中,还可以是在手表的LiteOS操作系统的第一界面的第一控件,接收到用户的操作,分别在Android系统、LiteOS操作系统安装微信,在此不作限定。
另外,上述实施例中提到的触发操作可以包括:点击操作、长按操作、以及手势触发操作等,在此不做限定。
如图21所示,本申请还提供了一种应用程序安装装置2100,应用于第一电子设备,第一电子设备安装有第一操作系统和第二操作系统。需要说明的是,本申请实施例所提供的应用程序安装装置2100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本申请实施例部分未提及之处,可参考上述的实施例中相应内容。
本申请提供的装置2100包括:显示单元2101,用于显示第一界面,第一界面包括第一控件,第一控件用于指示下载目标应用。通信单元2102,用于响应于对第一控件的触发操作,下载数据包文件,数据包文件携带有目标应用的第一程序包和第二程序包,其中,第一程序包适配第一操作系统,第二程序包适配第二操作系统。处理单元2103,用于解析数据包文件,得到第一程序包和第二程序包。处理单元2103,还用于基于第一程序包,在第一操作系统安装目标应用,以及基于第二程序包,在第二操作系统安装目标应用。
在一种可能的实施方式中,处理单元2103,具体用于第一电子设备基于第一程序包在第一操作系统安装目标应用。在第一操作系统安装目标应用成功时,基于第二程序包在第二操作系统安装目标应用。
进一步地,处理单元2103,还用于在第二操作系统安装目标应用失败时,删除在第一操作系统已安装的目标应用。
在一种可能的实施方式中,数据包文件处于压缩状态,处理单元2103,还用于解压数据包文件。
在一种可能的实施方式中,第一电子设备为穿戴设备,第一操作系统为Android系统,第二操作系统为LiteOS操作系统。或者,第一电子设备为手机,第一操作系统为Android系统,第二操作系统为Emotion UI系统。
示例性的,图22为本申请实施例提供的一种电子设备的硬件结构示意图,如图22所示,该电子设备包括处理器2201,通信线路2204以及至少一个通信接口(图22中示例性的以通信接口2202为例进行说明)。
处理器2201可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路2204可包括在上述组件之间传送信息的电路。
通信接口2202,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该电子设备还可以包括存储器2203。
存储器2203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路2204与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器2203用于存储执行本申请方案的计算机执行指令,并由处理器2201来控制执行。处理器2201用于执行存储器2203中存储的计算机执行指令,从而实现本申请实施例所提供的应用程序安装方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器2201可以包括一个或多个CPU,例如图22中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备可以包括多个处理器,例如图22中的处理器2201和处理器2205。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
示例性的,图23为本申请实施例提供的一种芯片的结构示意图。芯片230包括一个或两个以上(包括两个)处理器2310和通信接口2330。
在一些实施方式中,存储器2340存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
本申请实施例中,存储器2340可以包括只读存储器和随机存取存储器,并向处理器2310提供指令和数据。存储器2340的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
本申请实施例中,存储器2340、通信接口2330以及存储器2340通过总线系统2320耦合在一起。其中,总线系统2320除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图23中将各种总线都标为总线系统2320。
上述本申请实施例描述的方法可以应用于处理器2310中,或者由处理器2310实现。处理器2310可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2310中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2310可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器2310可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器2340,处理器2310读取存储器2340中的信息,结合其硬件完成上述方法的步骤。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种应用程序安装方法,其特征在于,应用于第一电子设备,所述第一电子设备安装有第一操作系统和第二操作系统,所述第一电子设备包括主处理器和协处理器,所述方法包括:
所述第一电子设备显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示下载目标应用;
所述第一电子设备响应于对所述第一控件的触发操作,下载数据包文件,所述数据包文件携带有所述目标应用的第一程序包和第二程序包,其中,所述第一程序包适配所述第一操作系统,所述第二程序包适配所述第二操作系统;
所述第一电子设备解析所述数据包文件,得到所述第一程序包和所述第二程序包;
所述主处理器基于所述第一程序包,在所述第一操作系统安装所述目标应用;
在所述第一操作系统安装所述目标应用成功时,所述主处理器向所述协处理器传输第二数据包;
所述协处理器基于所述第二程序包在所述第二操作系统安装所述目标应用;
在所述第一电子设备显示第一界面之前,所述方法还包括:
第二电子设备获取目标应用的所述第一程序包和所述第二程序包;
所述第二电子设备将所述第一程序包中的源代码编译为机器码,以及将所述第二程序包中的源代码编译为机器码;
所述第二电子设备将编译后的所述第一程序包和所述第二程序包打包,得到所述数据包文件;
所述第一程序包中的内容为java源代码,所述第二程序包中的内容为js源代码,所述第二电子设备将所述第一程序包中的源代码编译为机器码,以及将所述第二程序包中的源代码编译为机器码,包括:
所述第二电子设备将所述第一程序包中的java源代码编译为java机器码,以及将所述第二程序包中的js源代码编译为java机器码,使得所述第二程序包安装于运行java虚拟机的第二操作系统;
或者,
所述第一程序包中的内容为java源代码,所述第二程序包中的内容为java源代码,所述第二电子设备将所述第一程序包中的源代码编译为机器码,以及将所述第二程序包中的源代码编译为机器码,包括:
所述第二电子设备将所述第一程序包中的java源代码编译为java机器码,以及将所述第二程序包中的java源代码编译为js机器码,使得所述第二程序包安装于运行js虚拟机的第二操作系统。
2.根据权利要求1所述的方法,其特征在于,在所述基于所述第二程序包在所述第二操作系统安装所述目标应用之后,所述方法还包括:
在所述第二操作系统安装所述目标应用失败时,所述第一电子设备删除在所述第一操作系统已安装的所述目标应用。
3.根据权利要求1所述的方法,其特征在于,所述主处理器基于SPI总线向所述协处理器传输处于压缩状态的第二数据包。
4.根据权利要求1所述的方法,其特征在于,所述数据包文件处于压缩状态,在所述第一电子设备解析所述数据包文件,得到所述第一程序包和所述第二程序包之前,所述方法还包括:
所述第一电子设备解压所述数据包文件。
5.根据权利要求1所述的方法,其特征在于,在所述第二电子设备将编译后的所述第一程序包和所述第二程序包打包,得到所述数据包文件之后,所述方法还包括:
所述第二电子设备解析所述数据包文件,得到第一程序包和第二程序包;
所述第二电子设备分别对所述第一程序包和所述第二程序包进行安全扫描,并输出扫描结果。
6.根据权利要求1-5任一所述的方法,其特征在于,
所述第一电子设备为穿戴设备,所述第一操作系统为Android系统,所述第二操作系统为LiteOS操作系统;
或者,所述第一电子设备为手机,所述第一操作系统为Android系统,所述第二操作系统为Emotion UI系统。
7.一种应用程序安装方法,其特征在于,所述方法包括:
第三电子设备与第一电子设备建立通信连接,其中,所述第一电子设备安装有第一操作系统和第二操作系统,所述第一电子设备包括主处理器和协处理器;
所述第三电子设备显示第四界面,所述第四界面包括第一控件,所述第一控件用于指示下载目标应用;
所述第三电子设备响应于对所述第一控件的触发操作,下载数据包文件,所述数据包文件携带有所述目标应用的第一程序包和第二程序包,其中,所述第一程序包适配所述第一操作系统,所述第二程序包适配所述第二操作系统;
所述第三电子设备向所述第一电子设备发送所述数据包文件;
所述第一电子设备解析所述数据包文件,得到所述第一程序包和所述第二程序包;
所述主处理器基于所述第一程序包,在所述第一操作系统安装所述目标应用;
在所述第一操作系统安装所述目标应用成功时,所述主处理器向所述协处理器传输第二数据包;
所述协处理器基于所述第二程序包在所述第二操作系统安装所述目标应用;
在所述第三电子设备显示第四界面之前,所述方法还包括:
第二电子设备获取目标应用的所述第一程序包和所述第二程序包;
所述第二电子设备将所述第一程序包中的源代码编译为机器码,以及将所述第二程序包中的源代码编译为机器码;
所述第二电子设备将编译后的所述第一程序包和所述第二程序包打包,得到所述数据包文件;
所述第一程序包中的内容为java源代码,所述第二程序包中的内容为js源代码,所述第二电子设备将所述第一程序包中的源代码编译为机器码,以及将所述第二程序包中的源代码编译为机器码,包括:
所述第二电子设备将所述第一程序包中的java源代码编译为java机器码,以及将所述第二程序包中的js源代码编译为java机器码,使得所述第二程序包安装于运行java虚拟机的第二操作系统;
或者,
所述第一程序包中的内容为java源代码,所述第二程序包中的内容为java源代码,所述第二电子设备将所述第一程序包中的源代码编译为机器码,以及将所述第二程序包中的源代码编译为机器码,包括:
所述第二电子设备将所述第一程序包中的java源代码编译为java机器码,以及将所述第二程序包中的java源代码编译为js机器码,使得所述第二程序包安装于运行js虚拟机的第二操作系统。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述电子设备执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得计算机执行如权利要求1至6任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至6任一项所述的方法。
CN202210112005.8A 2022-01-29 2022-01-29 应用程序安装方法和电子设备 Active CN115543351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210112005.8A CN115543351B (zh) 2022-01-29 2022-01-29 应用程序安装方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210112005.8A CN115543351B (zh) 2022-01-29 2022-01-29 应用程序安装方法和电子设备

Publications (2)

Publication Number Publication Date
CN115543351A CN115543351A (zh) 2022-12-30
CN115543351B true CN115543351B (zh) 2023-09-12

Family

ID=84723826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210112005.8A Active CN115543351B (zh) 2022-01-29 2022-01-29 应用程序安装方法和电子设备

Country Status (1)

Country Link
CN (1) CN115543351B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155753A (zh) * 2016-08-22 2016-11-23 广东欧珀移动通信有限公司 一种应用程序安装方法、装置和终端
CN106325908A (zh) * 2015-06-30 2017-01-11 北京金山安全软件有限公司 一种应用程序包安装方法及应用程序包安装装置
CN106897152A (zh) * 2017-02-27 2017-06-27 北京珠穆朗玛移动通信有限公司 一种多系统应用程序管理方法及移动终端
CN111949314A (zh) * 2020-08-20 2020-11-17 苏州朗动网络科技有限公司 应用安装包的生成方法、装置、服务器和存储介质
CN112631622A (zh) * 2020-12-29 2021-04-09 Oppo广东移动通信有限公司 应用安装方法、装置、服务器及计算机可读介质
CN112882694A (zh) * 2021-01-29 2021-06-01 中国建设银行股份有限公司 一种程序编译方法、装置、电子设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325908A (zh) * 2015-06-30 2017-01-11 北京金山安全软件有限公司 一种应用程序包安装方法及应用程序包安装装置
CN106155753A (zh) * 2016-08-22 2016-11-23 广东欧珀移动通信有限公司 一种应用程序安装方法、装置和终端
CN106897152A (zh) * 2017-02-27 2017-06-27 北京珠穆朗玛移动通信有限公司 一种多系统应用程序管理方法及移动终端
CN111949314A (zh) * 2020-08-20 2020-11-17 苏州朗动网络科技有限公司 应用安装包的生成方法、装置、服务器和存储介质
CN112631622A (zh) * 2020-12-29 2021-04-09 Oppo广东移动通信有限公司 应用安装方法、装置、服务器及计算机可读介质
CN112882694A (zh) * 2021-01-29 2021-06-01 中国建设银行股份有限公司 一种程序编译方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN115543351A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
CN111684778B (zh) 应用功能的实现方法及电子设备
CN111818669A (zh) 移动终端及其数据传输方法
CN112395098B (zh) 应用程序接口调用方法、装置、存储介质和电子设备
CN113783966B (zh) 数据传输方法、装置、可读介质及电子设备
CN112068903A (zh) 应用程序的加载方法、应用程序的加载装置、介质与设备
CN114168460A (zh) 混合开发中前端代码的远程调试方法、设备及存储介质
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN113835928A (zh) 应用的备份和恢复方法、设备、存储介质和程序产品
CN115543351B (zh) 应用程序安装方法和电子设备
CN114675786A (zh) 一种大容量存储挂载方法、装置、终端及介质
CN115334604A (zh) 一种终端设备、网络控制方法和存储介质
CN115002548A (zh) 电视平台应用接口调用方法、装置、终端设备及存储介质
CN111382381B (zh) 一种用户数据共享方法、装置、移动终端及存储介质
CN111813496A (zh) 一种软件管理方法、装置、终端及存储介质
CN117216428B (zh) 一种网页资源请求方法、终端设备及计算机可读存储介质
CN110855539B (zh) 设备发现方法、装置及存储介质
CN115080059B (zh) 边缘计算方法、装置和边缘服务器
CN118585294A (zh) 应用调用方法及电子设备
CN112887372B (zh) 兼容数传图传的通信系统、方法、装置、设备和存储介质
CN117082480B (zh) 基于蓝牙通信的数据处理方法、设备及存储介质
CN117707453B (zh) 一种节点信息的读取方法、设备及存储介质
CN117118819B (zh) 一种第三方应用的运行场景的定位方法和电子设备
CN117724726A (zh) 一种数据处理方法和相关装置
CN113296873B (zh) 镜像构建方法和装置、终端设备和计算机存储介质
CN114281350B (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
GR01 Patent grant
GR01 Patent grant