一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用程序的运行方法、电子设备及存储介质与流程

2022-08-10 17:20:38 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种应用程序的运行方法、电子设备及存储介质。


背景技术:

2.在智能终端上,用户可以通过第三方应用程序(application,app)满足自身的使用需求。为了方便用户使用,提高用户的使用体验,往往可以通过app功能插件化的方法来实现一些对应的功能。
3.但是在插件化app中,由于插件化对应的插件加载的延后特性,插件化app并不能在启动时主动实现对插件的注册,使得插件化app插件对应的功能无法正常注册,从而影响插件化app的正常运行,进而无法满足用户的功能需求,影响用户体验。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种应用程序的运行方法、电子设备及存储介质。
5.第一方面,本公开提供了一种应用程序的运行方法,包括:
6.响应于检测到对应用程序的启动操作,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件;
7.将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件;
8.将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,目标类文件为子程序包对应的功能类文件,目标文件名为在功能注册时可被识别的文件名;
9.根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序。
10.第二方面,本公开提供了一种电子设备,包括处理器和存储器,存储器用于存储可执行指令,可执行指令使处理器执行以下操作:
11.响应于检测到对应用程序的启动操作,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件;
12.将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件;
13.将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,目标类文件为子程序包对应的功能类文件,目标文件名为在功能注册时可被识别的文件名;
14.根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序。
15.第三方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面的应用程序的运行方法。
16.本公开实施例提供的技术方案与现有技术相比具有如下优点:
17.本公开实施例的应用程序的运行方法、电子设备及存储介质,能够检测并响应用户对应用程序的启动操作之后,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件,接着将该第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件,然后将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,进而根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序,由于目标类文件为子程序包对应的功能类文件,而目标文件名为在功能注册时可被识别的文件名,因此,能够基于可被识别的目标文件名,实现对目标类文件对应的目标功能的注册,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
附图说明
18.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
19.图1示出了本公开实施例提供的一种应用程序的运行方法的流程示意图;
20.图2示出了本公开实施例提供的另一种应用程序的运行方法的流程示意图;
21.图3示出了本公开实施例提供的一种内容提供者功能注册方法的流程示意图;
22.图4示出了本公开实施例提供的一种内容接收者功能注册方法的流程示意图;
23.图5示出了本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
24.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
25.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
26.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
27.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
28.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
29.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
30.本公开实施例提供了一种的应用程序的运行方法、电子设备及存储介质。
31.下面,首先结合图1对本公开实施例提供的应用程序的运行方法进行说明。
32.本公开实施例提供的应用程序的运行方法,可以由能够运行应用程序的电子设备。其中,该电子设备可以包括但不限于诸如智能手机、笔记本电脑、个人数字助理(pda)、平板电脑(pad)、便携式多媒体播放器(pmp)、车载终端(例如车载导航终端)、可穿戴设备等的移动终端,以及诸如数字tv、台式计算机、智能家居设备等的固定终端。
33.图1示出了本公开实施例提供的一种应用程序的运行方法的流程示意图。
34.如图1所示,该应用程序的运行方法可以包括如下步骤。
35.s110、响应于检测到对应用程序的启动操作,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件。
36.在本公开实施例中,用户想启动电子设备中的应用程序时,可以向电子设备输入对该应用程序的启动操作。电子设备在检测到启动操作之后,可以响应于启动操作,加载该应用程序中的子程序包,进而得到该子程序包对应的第一可执行文件。
37.在本公开实施例中,启动操作可以是任意的能够触发电子设备启动应用程序的操作。
38.可选的,启动操作可以是针对应用程序的程序图标的手势控制操作(如点击、长按、双击等)、语音控制操作、表情控制操作,在此不作限制。
39.在本公开实施例中,应用程序可以是待启动的应用程序。
40.可选的,应用程序可以是任意的插件式应用程序。例如,应用程序可以为插件式的电子书应用程序、视频播放应用程序、导航应用程序、游戏应用程序以及聊天应用程序等,在此不做限制。
41.其中,插件式应用程序是由一些动态的独立模块构成的应用程序,每个独立模块均可以实现至少一种服务功能。插件式应用程序的各个独立模块能够满足一定的插件协议,并能够借助主程序实现主程序和独立模块之间、以及独立模块之间的通讯。
42.可选地,一个子程序包可以为应用程序中的一个模块对应的程序包。
43.可选地,第一可执行文件可以为安装得到的任意类型的能够被执行实现子程序包对应的插件模块功能的文件。例如,第一可执行文件可以为dex文件,dex文件可以为多个类(class)文件的集合。
44.具体地,电子设备在检测到用户对应用程序的启动操作之后,可以响应于该启动操作,加载该应用程序中包括的子程序包,进而获得该子程序包对应的第一可执行文件。
45.下面对电子设备加载子程序包的方法进行详细说明。
46.可选地,s110中的加载子程序包,得到子程序包对应的第一可执行文件,可以具体包括:下载子程序包对应的安装包文件;基于安装包文件安装子程序包,得到子程序包对应的第一可执行文件。
47.在本公开实施例中,电子设备可以基于子程序包的下载信息,下载该子程序包对应的安装包文件,并基于该安装包文件安装子程序包,从而得到子程序包对应的的第一可执行文件。
48.可选地,下载信息可以为用于下载子程序包的信息。例如,可以包括子程序包的名称、子程序包的下载地址等。
49.可选地,安装包文件可以包括子程序包安装的所有文件。
50.具体地,电子设备可以基于子程序包的下载信息,来下载该子程序包对应的安装包文件,接着对安装包文件进行解压,进而电子设备可以在解压后的安装包文件中查找并获取到第一可执行文件。
51.由此,在本公开实施例中,电子设备可以对子程序包进行加载,以实现对插件式应用程序中的相关模块的加载。
52.s120、将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件。
53.在本公开实施例中,电子设备在获得第一可执行文件之后,可以将第一可执行文件与应用程序对应的第二可执行文件进行合并操作,得到第三可执行文件,以得到应用程序对应的完整可执行文件,使得在一个可执行文件中即可调用应用程序的全部文件。
54.可选地,s120可以具体包括:查找应用程序对应的第二可执行文件;将第一可执行文件添加至第二可执行文件的文件夹中,得到第三可执行文件。
55.在本公开实施例中,电子设备在获得第一可执行文件之后,还可以查找应用程序中的主程序包,并获得该主程序包对应的第二可执行文件,进而将第一可执行文件和第二可执行文件进行合并,即将第一可执行文件添加至第二可执行文件的文件夹中,得到第三可执行文件。
56.可选地,第二可执行文件与第一可执行文件相似,第二可执行文件可以为主程序包中的dex可执行文件,此处不再赘述。
57.可选地,第三可执行文件可以为将第一可执行文件和第二可执行文件合并后得到的dex可执行文件。
58.具体地,电子设备在获得第一可执行文件之后,还可以在应用程序对应的所有文件中查找第二可执行文件,即查找主程序包对应的第二可执行文件,并在查找到第二可执行文件后获取该第二可执行文件,接着将第一可执行文件添加至第二可执行文件的文件夹中,即将第一可执行文件dex文件中多个类(class)文件添加到第二可执行文件dex文件中多个类(class)文件之后,使得第一可执行文件与第二可执行文件进行合并,从而得到第三可执行文件。
59.由此,在本公开实施例中,电子设备将第一可执行文件与第二可执行文件进行合并,得到第三可执行文件,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
60.s130、将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,目标类文件为子程序包对应的功能类文件,目标文件名为在功能注册时可被识别的文件名。
61.在本公开实施例中,电子设备在得到第三可执行文件之后,可以将第三可执行文件中的目标类文件的文件名更新为目标文件名,该目标类文件可以为第三可执行文件中子程序包对应的功能类文件,进而可以得到第四可执行文件。
62.可选地,目标类文件可以为子程序包对应的功能类文件。目标类文件可以用于注册目标功能。
63.可选地,功能类文件可以为用于实现指定功能的文件。
64.可选地,目标功能可以为通过应用程序能够实现的功能。以应用程序为插件化的
电子书应用程序为例,目标功能可以为电子书朗读功能、电子书翻功能等。
65.可选地,目标文件名可以为在对功能类文件进行注册时可被电子设备识别的文件名。
66.具体地,电子设备在获取到第三可执行文件之后,可以先确定子程序包中需要进行注册的目标功能,基于该目标功能确定对应的功能类文件,即对应的目标类文件,接着对目标类文件的文件名进行更新,使得目标类文件的文件名更新为可以在进行功能注册时能够被电子设备识别的目标文件名,进而得到更新后的第四可执行文件。
67.s140、根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序。
68.在本公开实施例中,电子设备在获得第四可执行文件之后,可以注册第四可执行文件中文件名更新后的目标类文件对应的目标功能,从而基于该目标功能运行应用程序。
69.具体地,电子设备在获得第四可执行文件之后,可以基于目标文件名,对第四可执行文件中的目标类文件进行调用并注册,从而得到目标类文件对应的目标功能,进而基于该目标功能运行应用程序。
70.由此,在本公开实施例中,能够检测并响应用户对应用程序的启动操作之后,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件,接着将该第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件,然后将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,进而根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序,由于目标类文件为子程序包对应的功能类文件,而目标文件名为在功能注册时可被识别的文件名,因此,能够基于可被识别的目标文件名,实现对目标类文件对应的目标功能的注册,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
71.在本公开一些实施例中,电子设备在接收到启动操作之后,还需要检测应用程序中是否存在待加载的子程序包,并基于检测结果,确定是否需要加载对应的子程序包,下面进行详细说明。
72.可选地,在加载应用程序中的子程序包,得到子程序包对应的第一可执行文件之前,该应用程序的运行方法还可以包括:检测应用程序中是否存在待加载的子程序包。
73.在本公开实施例中,电子设备在加载应用程序中的子程序包,得到子程序包对应的第一可执行文件之前,可以先检测该应用程序中是否存在待加载的子程序包。
74.可选地,待加载的子程序包可以为启动应用程序需要加载的子程序包。
75.具体地,电子设备在检测到启动操作之后,可以对应用程序中的所有子程序包的加载状态进行检测,如果存在加载状态为未加载的子程序包,则确定存在未加载的子程序包,否则,确定不存在未加载的子程序包。
76.进一步地,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件,可以具体包括:在检测到应用程序中存在子程序包的情况下,加载子程序包,得到子程序包对应的第一可执行文件。
77.在本公开实施例中,电子设备在对应用程序中是否存在待加载的子程序包进行检测之后,若检测到该应用程序中存在待加载的子程序包,电子设备可以加载该子程序包,进而得到该子程序包对应的第一可执行文件。
78.在另一些实施例中,电子设备在对应用程序中是否存在待加载的子程序包进行检
测之后,在未检测到该应用程序中存在待加载的子程序包的情况下,电子设备可以直接运行应用程序,无需加载子程序包对应的目标类文件和注册目标类文件对应的目标功能。
79.由此,在本公开实施例中,电子设备只在应用程序中存在待加载的子程序包时,进行加载该子程序包,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
80.在本公开另一些实施例中,电子设备可以基于反射机制实现对该第三可执行文件中的目标类文件的文件名的更新,下面进行详细说明。
81.可选地,s130可以具体包括:
82.s1301、基于反射机制,调用子程序包。
83.在本公开实施例中,电子设备在获取到第三可执行文件之后,可以基于反射机制,调用子程序包。
84.可选地,反射机制可以用于调用子程序包对应的属性信息和构造方法。
85.具体地,电子设备在获取到第三可执行文件之后,可以通过反射机制,得到第三可执行文件中多个class类文件,获取class类文件对应的属性信息和构造方法,基于该属性信息和构造方法创建class类对应的对象,从而调用子程序包。
86.s1302、对子程序包进行解析,得到子程序包中的目标功能列表,目标功能列表包括目标功能。
87.在本公开实施例中,电子设备在对子程序包对应的属性信息和构造方法进行调用之后,对子程序包进行解析,从而得到子程序包中包括目标功能的目标功能列表。
88.具体地,电子设备在对子程序包对应的属性信息和构造方法进行调用之后,可以根据属性信息和构造方法对子程序包进行拆解分析,将子程序包对应的安装包拆分成多个文件包,并在多个文件包汇总查询存放目标功能列表的文件包,从而从查询到的文件包中提取目标功能对应的目标功能列表。
89.s1303、基于目标功能列表,将第三可执行文件中的目标功能对应的目标类文件的文件名更新为目标文件名,得到第四可执行文件。
90.在本公开实施例中,电子设备在获取到子程序包中包括目标功能的目标功能列表止之后,基于目标功能列表,可以将第三可执行文件中目标功能对应的目标类文件的文件名更新为目标文件名,从而得到第四可执行文件。
91.具体地,电子设备在获取到子程序包中包括目标功能的目标功能列表止之后,可以根据该目标功能列表中包括的目标功能,确定目标功能对应的目标类文件,将目标类文件的文件名进行更新,使得目标类文件的文件名更新为目标文件名,从而得到第四可执行文件。
92.进一步地,s1303可以具体包括:基于目标功能列表,确定目标功能的功能名称;在第三可执行文件中,查询具有功能名称的目标类文件;将目标类文件的文件名中的包名由子程序包对应的第一包名变更为应用程序对应的第二包名,以将目标类文件的文件名更新为目标文件名,得到第四可执行文件。
93.在本公开实施例中,电子设备在获取到子程序包中包括目标功能的目标功能列表止之后,可以基于该目标功能列表,确定该目标功能列表中包括的目标功能的功能名称,接着在第三可执行文件中,根据功能名称查找具有该功能名称的目标类文件,并在查询到目
标类文件之后,电子设备可以进行遍历,将该目标类文件的文件名中的包名由子程序包对应的第一包名变更为应用程序对应的第二包名,从而使得目标类文件的文件名更新为目标文件名,进而得到第四可执行文件。
94.可选地,包名可以为用于表征文件所属应用程序的名称。其中,第一包名可以用于表征该文件属于子程序包,第二包名可以用于表征该文件属于子程序包所述的应用程序。
95.具体地,电子设备在获取到子程序包中包括目标功能的目标功能列表止之后,遍历该目标功能列表,即先从目标功能列表中第一个目标功能开始,确定该第一个目标功能,并在第三可执行文件中查询第一个目标功能对应的目标类文件,将该目标类文件的文件名中的包名由子程序包对应的第一包名变更为应用程序对应的第二包名,接着从目标功能列表中确定第二个目标功能,并在第三可执行文件中查询第二个目标功能对应的目标类文件,将该目标类文件的文件名中的包名由子程序包对应的第一包名变更为应用程序对应的第二包名,依次进行更新,从而使得目标功能列表中的所有目标功能对应的目标类文件的文件名更新为应用程序对应的目标文件名,进而得到第四可执行文件。
96.由此,在本公开实施例中,将子程序包中目标功能对应的目标类文件的文件名进行更新为目标文件名,使得更新为目标文件名的目标类文件的文件名可以在注册的时候能够被识别,从而能够使目标类文件对应的目标功能成功注册,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
97.在本公开又一些实施例中,目标功能可以包括内容提供者功能和/或内容接收者功能。
98.在一些实施例中,目标功能可以包括内容提供者功能,目标功能对应的目标类文件可以包括内容提供者功能的类文件。
99.可选地,s140可以具体包括:获取目标功能对应的活动线程;通过活动线程,根据目标文件名调用第四可执行文件中的目标类文件,以注册目标功能。
100.在本公开实施例中,在电子设备获取到子程序包中包括目标功能的目标功能列表止之后,可以获取到该目标功能包括的内容提供者(content provider)功能,且目标功能对应的目标类文件中可以包括内容提供者功能对应的类文件。
101.进一步地,电子设备可以获取目标功能对应的活动线程,并通过该活动线程,根据目标文件名调用第四可执行文件中的目标类文件,来实现对目标功能的注册。
102.可选地,活动线程可以为对目标功能进行注册的线程。
103.具体地,电子设备在获取到目标功能之后,可以新建一个活动线程,接着获取到主线程(activitythread),该主线程可以为活动线程的入口,在获取到主线程之后,电子设备可以在该活动线程中调用一个组件,如contentprovider组件,并通过该组件调用目标文件名对应的第四可执行文件中的目标类文件,来注册目标功能。
104.由此,在本公开实施例中,电子设备可以实现对目标功能的注册,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
105.在另一些实施例中,目标功能可以包括内容接收者功能,目标类文件可以包括内容接收者功能的类文件。
106.可选地,根据目标文件名,注册目标类文件对应的目标功能,可以具体包括:通过应用程序对应的原生注册方式对第四可执行文件中的目标类文件对应的目标功能进行注
册。
107.在本公开实施例中,电子设备还可以获取到目标功能包括的内容接收者(broadcastreceiver)功能,且目标功能对应的目标类文件中可以包括内容接收者功能对应的类文件。
108.进一步地,电子设备可以通过应用程序对应的原生注册方式对第四可执行文件中的目标类文件对应的目标功能进行注册。
109.可选地,原生注册方式可以为broadcastreceiver动态注册方式。
110.具体地,电子设备在获取到第四可执行文件中的目标类文件之后,可以基于该目标类文件,通过原生注册方式对目标类文件对应的目标功能进行注册。
111.在又一些实施例中,目标功能可以包括内容提供者功能和内容接收者功能,目标功能对应的目标类文件可以包括内容提供者功能的类文件和内容接收者功能的类文件。
112.在本公开实施例中,在电子设备获取到子程序包中包括目标功能的目标功能列表止之后,电子设备可以获取到该目标功能包括的内容提供者(content provider)功能,且目标功能对应的目标类文件中可以包括内容提供者功能对应的类文件,并且电子设备还可以获取到目标功能包括的内容接收者(broadcastreceiver)功能,且目标功能对应的目标类文件中可以包括内容接收者功能对应的类文件。
113.进一步地,电子设备可以获取目标功能对应的活动线程,并通过该活动线程,根据目标文件名调用第四可执行文件中的目标类文件,来实现对目标功能的注册,还可以通过应用程序对应的原生注册方式对第四可执行文件中的目标类文件对应的目标功能进行注册,具体实施方式参照上文,此处不再赘述。
114.由此,在本公开实施例中,电子设备可以实现对目标功能的注册,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
115.下面结合图2和图3对内容提供者功能和内容接收者功能对应的具体流程进行详细说明。
116.图2示出了本公开实施例提供的一种内容提供者功能注册方法的流程示意图。
117.如图2所示,该内容提供者功能注册方法可以包括如下步骤。
118.s210、获取待加载的类。
119.在本公开实施例中,电子设备可以获取一个待加载的类。
120.可选地,待加载的类可以为用于加载类文件的类。例如,packageparser类。
121.s220、获取待加载的类对应的类文件。
122.在本公开实施例中,电子设备在获取到待加载的类之后,加载该类从而得到该待加载的类对应的类文件。
123.s230、获取类文件中包括内容提供者功能对应的列表文件。
124.在本公开实施例中,电子设备在获取到类文件之后,获取类文件中包括内容提供者功能的列表文件。
125.s240、获取列表文件中目标功能。
126.在本公开实施例中,电子设备在获取到列表文件之后,获取该列表文件中包括的目标功能。
127.s250、基于活动线程对目标功能进行注册。
128.在本公开实施例中,电子设备在获取到目标功能之后,基于活动线程对目标功能进行注册。
129.具体实施方式参照上文,此处不再赘述。
130.图3示出了本公开实施例提供的一种内容接收者功能注册方法的流程示意图。
131.如图3所示,该内容接收者功能注册方法可以包括如下步骤。
132.s310、新建目标接口。
133.在本公开实施例中,电子设备可以新建一个目标接口。
134.可选地,目标接口可以为用于实现对目标功能进行注册的接口。
135.s320、调用原生注册方法。
136.在本公开实施例中,电子设备在新建一个目标接口之后,可以调用应用程序中的原生注册方法。
137.s330、获取类文件中包括内容接收者功能对应的列表文件。
138.在本公开实施例中,电子设备在调用原生注册方法之后,获取类文件中包括内容接收者功能对应的列表文件。
139.s340、获取列表中目标功能文件。
140.在本公开实施例中,电子设备在获取到列表文件之后,获取该列表文件中包括的目标功能。
141.s350、基于原生注册方法对目标功能进行注册。
142.在本公开实施例中,电子设备在获取到目标功能之后,基于原生注册方法和目标接口,对目标功能进行注册。
143.具体实施方式参照上文,此处不再赘述。
144.下面结合图4对本公开实施例提供的应用程序的运行方法进行示例性说明。
145.图4示出了本公开实施例提供的另一种应用程序的运行方法的流程示意图。
146.如图4所示,该应用程序的运行方法可以包括如下步骤。
147.s410、检测到对应用程序的启动操作。
148.在本公开实施例中,用户想启动电子设备中的应用程序时,可以向电子设备输入对该应用程序的启动操作。电子设备可以检测到该启动操作。
149.s420、检测应用程序中是否存在待加载的子程序包。
150.在本公开实施例中,电子设备在检测到启动操作之后,可以检测应用程序中是否存在待加载的子程序包。
151.s430、在检测到应用程序中存在子程序包的情况下,加载子程序包,得到子程序包对应的第一可执行文件。
152.在本公开实施例中,电子设备在对应用程序中是否存在待加载的子程序包进行检测之后,若检测到该应用程序中存在待加载的子程序包,电子设备可以加载该子程序包,进而得到该子程序包对应的第一可执行文件。
153.s440、查找应用程序对应的第二可执行文件。
154.在本公开实施例中,电子设备在得到第一可执行文件之后,还可以查找应用程序对应的第二可执行文件,并获取查找到的第二可执行文件。
155.s450、将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执
行文件。
156.在本公开实施例中,电子设备在得到第一可执行文件与第二可执行文件之后,可以将第一可执行文件添加至第二可执行文件的文件夹中,从而得到第三可执行文件。
157.s460、将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件。
158.在本公开实施例中,电子设备在得到第三可执行文件之后,可以将第三可执行文件中的目标类文件的文件名更新为目标文件名。从而得到第四可执行文件。
159.s470、若目标功能包括内容提供者功能,根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序。
160.在本公开实施例中,若目标功能包括内容提供者功能,电子设备可以根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序。
161.s480、若目标功能包括内容接收者功能,根据目标文件名,注册目标类文件对应的目标功能。
162.在本公开实施例中,若目标功能包括内容接收者功能,电子设备可以根据目标文件名,注册目标类文件对应的目标功能。
163.可选地,对于图4中各个步骤的详细说明参照上文,此处不再赘述。
164.由此,在本公开实施例中,能够实现对目标类文件对应的目标功能进行注册,使得应用程序可以正常运行,进而满足用户的功能需求,提升用户体验。
165.图5示出了本公开实施例提供的一种电子设备的结构示意图。
166.本公开实施例提供的电子设备可以包括但不限于诸如智能手机、笔记本电脑、pda、pad、pmp、车载终端(例如车载导航终端)、可穿戴设备等的移动终端,以及诸如数字tv、台式计算机、智能家居设备等的固定终端。
167.需要说明的是,图5示出的电子设备500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
168.该电子设备500传统上包括处理器510和以存储器520形式的计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器520具有用于执行上述笔记处理方法中的任何方法步骤的可执行指令(或程序代码)5211的存储空间521。例如,用于可执行指令的存储空间521可以包括分别用于实现上面的笔记处理方法中的各种步骤的各个可执行指令5211。这些可执行指令可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,光盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以具有与图5的电子设备500中的存储器520类似布置的存储段或者存储空间等。可执行指令可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本公开的笔记处理方法步骤的可执行指令,即可以由例如诸如处理器510之类的处理器读取的代码,这些代码当由电子设备500运行时,导致该电子设备500执行上面所描述的笔记处理方法中的各个步骤。
169.当然,为了简化,图5中仅示出了该电子设备500中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口、输入装置和输出装置等等的组件。除此之外,根据具体应
用情况,电子设备500还可以包括任何其他适当的组件。
170.本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本公开各实施例所提供的应用程序的运行方法。
171.该计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电链接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
172.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
173.在本公开实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—链接到用户计算机,或者,可以链接到外部计算机(例如利用因特网服务提供商来通过因特网链接)。
174.本技术公开了:
175.a1、一种应用程序的运行方法,其中,方法包括:
176.响应于检测到对应用程序的启动操作,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件;
177.将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件;
178.将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,目标类文件为子程序包对应的功能类文件,目标文件名为在功能注册时可被识别的文件名;
179.根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序。
180.a2、根据权利要求a1的方法,其中,在加载应用程序中的子程序包,得到子程序包对应的第一可执行文件之前,方法还包括:
181.检测应用程序中是否存在待加载的子程序包;
182.其中,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件,包括:
183.在检测到应用程序中存在子程序包的情况下,加载子程序包,得到子程序包对应的第一可执行文件。
184.a3、根据权利要求a2的方法,其中,加载子程序包,得到子程序包对应的第一可执行文件,包括:
185.下载子程序包对应的安装包文件;
186.基于安装包文件安装子程序包,得到子程序包对应的第一可执行文件。
187.a4、根据权利要求a1的方法,其中,将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件,包括:
188.查找应用程序对应的第二可执行文件;
189.将第一可执行文件添加至第二可执行文件的文件夹中,得到第三可执行文件。
190.a5、根据权利要求a1的方法,其中,将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,包括:
191.基于反射机制,调用子程序包;
192.对子程序包进行解析,得到子程序包中的目标功能列表,目标功能列表包括目标功能;
193.基于目标功能列表,将第三可执行文件中的目标功能对应的目标类文件的文件名更新为目标文件名,得到第四可执行文件。
194.a6、根据权利要求a5的方法,其中,基于目标功能列表,将第三可执行文件中的目标功能对应的目标类文件的文件名更新为目标文件名,得到第四可执行文件,包括:
195.基于目标功能列表,确定目标功能的功能名称;
196.在第三可执行文件中,查询具有功能名称的目标类文件;
197.将目标类文件的文件名中的包名由子程序包对应的第一包名变更为应用程序对应的第二包名,以将目标类文件的文件名更新为目标文件名,得到第四可执行文件。
198.a7、根据权利要求a1的方法,其中,目标功能包括内容提供者功能和/或内容接收者功能。
199.a8、根据权利要求a1的方法,其中,目标功能包括内容提供者功能,目标类文件包括内容提供者功能的类文件;
200.其中,根据第四可执行文件,注册目标类文件对应的目标功能,包括:
201.获取目标功能对应的活动线程;
202.通过活动线程,根据目标文件名调用第四可执行文件中的目标类文件,以注册目标功能。
203.a9、根据权利要求a1的方法,其中,目标功能包括内容接收者功能,目标类文件包括内容接收者功能的类文件;
204.其中,根据目标文件名,注册目标类文件对应的目标功能,包括:
205.通过应用程序对应的原生注册方式对第四可执行文件中的目标类文件对应的目标功能进行注册。
206.b10、一种电子设备,其中,包括处理器和存储器,存储器用于存储可执行指令,可执行指令使处理器执行以下操作:
207.响应于检测到对应用程序的启动操作,加载应用程序中的子程序包,得到子程序包对应的第一可执行文件;
208.将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件;
209.将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件,目标类文件为子程序包对应的功能类文件,目标文件名为在功能注册时可被识别的
文件名;
210.根据第四可执行文件,注册目标类文件对应的目标功能,以运行应用程序。
211.b11、根据权利要求b10的电子设备,其中,在加载应用程序中的子程序包,得到子程序包对应的第一可执行文件之前,可执行指令还使处理器执行:
212.检测应用程序中是否存在待加载的子程序包;
213.其中,在加载应用程序中的子程序包,得到子程序包对应的第一可执行文件时,可执行指令具体使处理器执行:
214.在检测到应用程序中存在子程序包的情况下,加载子程序包,得到子程序包对应的第一可执行文件。
215.b12、根据权利要求b11的电子设备,其中,在加载子程序包,得到子程序包对应的第一可执行文件时,可执行指令具体使处理器执行:
216.下载子程序包对应的安装包文件;
217.基于安装包文件安装子程序包,得到子程序包对应的第一可执行文件。
218.b13、根据权利要求b10的电子设备,其中,在将第一可执行文件与应用程序对应的第二可执行文件合并,得到第三可执行文件时,可执行指令具体使处理器执行:
219.查找应用程序对应的第二可执行文件;
220.将第一可执行文件添加至第二可执行文件的文件夹中,得到第三可执行文件。
221.b14、根据权利要求b10的电子设备,其中,在将第三可执行文件中的目标类文件的文件名更新为目标文件名,得到第四可执行文件时,可执行指令具体使处理器执行:
222.基于反射机制,调用子程序包;
223.对子程序包进行解析,得到子程序包中的目标功能列表,目标功能列表包括目标功能;
224.基于目标功能列表,将第三可执行文件中的目标功能对应的目标类文件的文件名更新为目标文件名,得到第四可执行文件。
225.b15、根据权利要求b14的电子设备,其中,在基于目标功能列表,将第三可执行文件中的目标功能对应的目标类文件的文件名更新为目标文件名,得到第四可执行文件时,可执行指令具体使处理器执行:
226.基于目标功能列表,确定目标功能的功能名称;
227.在第三可执行文件中,查询具有功能名称的目标类文件;
228.将目标类文件的文件名中的包名由子程序包对应的第一包名变更为应用程序对应的第二包名,以将目标类文件的文件名更新为目标文件名,得到第四可执行文件。
229.b16、根据权利要求b10的电子设备,其中,目标功能包括内容提供者功能/或内容接收者功能。
230.b17、根据权利要求b10的电子设备,其中,目标功能包括内容提供者功能,目标类文件包括内容提供者功能的类文件;
231.其中,在根据第四可执行文件,注册目标类文件对应的目标功能时,可执行指令具体使处理器执行:
232.获取目标功能对应的活动线程;
233.通过活动线程,根据目标文件名调用第四可执行文件中的目标类文件,以注册目
标功能。
234.b18、根据权利要求b10的电子设备,其中,目标功能包括内容接收者功能,目标类文件包括内容接收者功能的类文件;
235.其中,在根据目标文件名,注册目标类文件对应的目标功能时,可执行指令具体使处理器执行:
236.通过应用程序对应的原生注册方式对第四可执行文件中的目标类文件对应的目标功能进行注册。
237.c19、一种计算机可读存储介质,其中,存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现用上述权利要求a1-a9中任一项的应用程序的运行方法。
238.本公开的各个部件实施例可以全部或部分步骤以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开实施例的电子设备中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
239.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
240.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
241.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献