CN113434210A - 一种插件加载控制方法、系统、终端设备及存储介质 - Google Patents

一种插件加载控制方法、系统、终端设备及存储介质 Download PDF

Info

Publication number
CN113434210A
CN113434210A CN202110700721.3A CN202110700721A CN113434210A CN 113434210 A CN113434210 A CN 113434210A CN 202110700721 A CN202110700721 A CN 202110700721A CN 113434210 A CN113434210 A CN 113434210A
Authority
CN
China
Prior art keywords
plug
information
conflict
loaded
dex file
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
CN202110700721.3A
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.)
Shenzhen Coocaa Network Technology Co Ltd
Original Assignee
Shenzhen Coocaa Network Technology 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 Shenzhen Coocaa Network Technology Co Ltd filed Critical Shenzhen Coocaa Network Technology Co Ltd
Priority to CN202110700721.3A priority Critical patent/CN113434210A/zh
Publication of CN113434210A publication Critical patent/CN113434210A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Abstract

本发明提供了一种插件加载控制方法、系统、终端设备及存储介质,通过监控终端系统内是否发生插件安装冲突事件;若是,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;控制将所述第二插件的资源信息移除,并加载第一插件至加载完成。本实施例中当加载插件出现当前加载插件与之前加载完成的插件有冲突时,则控制移除之前已经加载完成的插件,再对当前需要加载的插件进行加载,从而避免了当前插件安装失败的问题,也解决了多个插件冲突导致应用崩溃或者资源混乱,导致设备无法正常使用的问题。

Description

一种插件加载控制方法、系统、终端设备及存储介质
技术领域
本发明涉及终端应用控制技术领域,尤其涉及的是一种插件加载控制方法、系统、终端设备及存储介质。
背景技术
由于安卓的插件化技术具有灵活、轻量化、动态化等优点,因此该项技术已经被普遍使用。该插件化技术适用于应用程序内少量自有模块的插件,若软件内一旦大量集成第三方SDK(软件开发工具包,Software Development Kit)之后,就会因为各种重复的so文件(so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据)和dex文件(dex文件是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据)导致信息资源冲突,无法实现插件的正常加载,且新老插件的兼容问题也越来越大,最终会导致各个应用程序的无法正常使用。
因此,现有技术有待于进一步的改进。
发明内容
鉴于上述现有技术中的不足之处,本发明的目的在于提供一种插件加载控制方法方法、终端设备及存储介质,克服由于系统中含有重复的so文件和dex文件导致插件无法正常加载的缺陷。
本发明实施例公开的方案如下:
第一方面,本实施例公开了一种插件加载控制方法,其中,所述方法包括:
监控终端系统内是否发生插件安装冲突事件;
若是,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;所述资源信息包括:ID信息、Dex文件信息和so文件信息;
控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息,并加载第一插件至加载完成。
可选的,所述控制将所述第二插件的文件移除的步骤包括:
基于反射注入的方式将与所述第二插件相对应的dex文件数组替换成与所述第一插件相对应的dex文件数组。
可选的,所述基于反注册的方式将所述第二插件中的dex文件数组替换成与所述第一插件相对应的dexElements数组的步骤包括:
记录宿主apk和各个应用的Dex文件在整个数组中的位置信息;
根据所述位置信息确定出与所述第一插件相对应的Dex文件数组;
将与所述第一插件相对应的Dex文件数组替换掉与所述第二插件相对应的dex文件数组。
可选的,所述根据所述位置信息确定出与所述第一插件相对应的dex文件数组的步骤包括:
重新生成与所述第二插件对应的dex文件数组,并移除其中的Dex文件;
对所述新生成的dex文件数组中反射注入与所述第一插件的dex文件,生成与所述第一插件对应的dex文件数组。
可选的,所述控制将所述第二插件的文件移除的步骤包括:
修改所述第一插件apk的ID信息;其中,所述第二插件apk的ID信息与所述第二插件apk的ID信息不同。
可选的,所述第一插件和第二插件含有相同的class类。
可选的,所述方法还包括:
判断插件加载时出现的冲突类型是否为so文件冲突;
若是,则忽略so文件冲突。
第二方面,本实施例公开了一种插件加载控制系统,其中,包括:
事件监控模块,用于监控终端系统内是否发生插件安装冲突事件;
信息获取模块,用于当发生冲突事件,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;所述资源信息包括:ID信息、Dex文件信息和so文件信息;
反射注入模块,用于控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息,并加载第一插件至加载完成。
第三方面,本实施例公开了一种终端设备,其中,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,以执行实现所述的插件加载控制方法的步骤。
第四方面,本实施例公开了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,以实现所述的插件加载控制方法的步骤。
有益效果,本发明提供了一种插件加载控制方法、系统、终端设备及存储介质,通过监控终端系统内是否发生插件安装冲突事件;若是,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;控制将所述第二插件的资源信息移除,并加载第一插件至加载完成。本实施例中当加载插件出现当前加载插件与之前加载完成的插件有冲突时,则控制移除之前已经加载完成的插件,再对当前需要加载的插件进行加载,从而避免了当前插件安装失败的问题,也解决了多个插件冲突导致应用崩溃或者资源混乱,导致设备无法正常使用的问题。
附图说明
图1是现有技术中插件加载冲突的原理示意图;
图2是本发明所提供的插件加载控制方法步骤流程图;
图3是本发明插件加载控制系统的原理框图;
图4是本发明实施例的终端设备的原理结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
插件化技术由于其动态化和灵活性等优点,在终端设备中普通使用,但是当终端设备中集成大量第三方SDK之后,则各个插件中可以存在重复的so文件和Dex文件,可能会导致插件加载时因为资源冲突,而加载失败,或者导致应用崩溃。如图1所示,当插件1和插件2有同样的类A,便会导致插件2无法加载到宿主apk内,当系统内插件之间重复的资源信息过多时,因此需要解决插件之间的兼容性问题。
本实施例为了解决各个插件之间的兼容问题,提出了一种基于反插件化的插件加载控制方法,通过在加载插件之前,将与待加载插件相冲突的插件删除,再执行当前待加载插件的加载操作,从而实现插件的顺利安装。
下面结合附图,对本发明所公开的方法做更为详细的解释。
示例性方法
本实施例公开了一种插件加载控制方法,如图2所示,所述方法包括:
步骤S1、监控终端系统内是否发生插件安装冲突事件。
若终端系统有待安装插件,则对当前待安装插件是否与系统内已安装插件之间含有重复的so文件和Dex文件进行判断,若有,则在加载当前待安装插件时会发生插件资源冲突事件,则执行下一步。若没有,则正常对当前待安装插件进行加载。
具体的,本步骤中判断待安装插件或待加载的插件与之前系统中已经安装的插件之间是否会出现资源冲突的方法包括:
将两个插件之间的资源信息进行比对,判断是否含有重复的so文件和Dex文件,或者直接判断两个插件对应的资源地址是否相同,以及判断两个插件是否为同一插件的不同版本,若为新旧版本,则判断出当加载新版本插件时,系统中保存有的旧版本会与该新版本之间出现资源冲突。
步骤S2、若系统内发生插件安装冲突事件,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;所述资源信息包括:ID信息、Dex文件信息和so文件信息。
若出现待安装插件与之前已安装插件之间出现资源冲突,则获取发生冲突的两个插件,在具体实施例中,分别将这两个插件命名为第一插件和第二插件,其中第一插件为当前需要安装到应用中的插件,第二插件为系统中已经安装的插件。获取两个插件的资源信息,并根据两者的资源信息判断本次冲突具体引起冲突的是何种信息引起。
步骤S3、控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息,并加载第一插件至加载完成。
当确定出本次冲突所对应的两个插件后,则控制将原系统内加载完成的第二插件的资源信息替换为当前需要加载的第一插件对应的资源信息,从而克服第一插件与第二插件之间资源信息冲突的问题。
插件化的关键部分包括:1、dex的注入;2、so文件的加载;3、资源的合并。完成这三部分基本上也就是完成了一个插件的注入。在注入了多个插件之后,很容易引起dex、资源的冲突,从而导致整个应用崩溃或者资源错乱。所以本发明的关键部分在于解决以上三部分的冲突问题。
具体的,将第二插件对应的资源信息移除,再进行第二插件的安装,从而避免了第一插件与第二插件之间的资源冲突。
具体的,所述控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息的步骤包括:
基于反射注入的方式将与所述第二插件相对应的dex文件数组替换成与所述第一插件相对应的dex文件数组。
即是,查找第二插件对应的Dex文件数组所在的位置,根据查找出的位置,将第二插件对应的Dex文件数组替换成与第一插件对应的Dex文件数组,从而实现了将第二插件对应的资源信息移除。
在具体实施例中,所述基于反注册的方式将所述第二插件中的dex文件数组替换成与所述第一插件相对应的dexElements数组的步骤包括:
记录宿主apk和各个应用的Dex文件在整个数组中的位置信息;
根据所述位置信息确定出与所述第一插件相对应的Dex文件数组;
其中,所述根据所述位置信息确定出与所述第一插件相对应的dex文件数组的步骤包括:
重新生成与所述第二插件对应的dex文件数组,并移除其中的Dex文件;
对所述新生成的dex文件数组中反射注入与所述第一插件的dex文件,生成与所述第一插件对应的dex文件数组。
将与所述第一插件相对应的Dex文件数组替换掉与所述第二插件相对应的dex文件数组。
进一步的,所述控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息的步骤包括:
修改所述第一插件apk的ID信息;其中,所述第二插件apk的ID信息与所述第二插件apk的ID信息不同。
插件对应的apk包括代码和资源,在apk编译过程中,dex工具将代码打包成.dex文件,资源文件会由aapt工具生成对应的ID,aapt在打包的时候组织成resources.arsc文件,resources.arsc文件是用来描述资源ID和资源位置配置信息,从18个维度描述了一个资源ID的配置信息(语言、分辨率等),就是资源ID和资源的索引表。资源的ID生成是有规则的,规则:0xPPTTNNNN,由8位16进制组成,其中:
PP段:表示资源的包空间:0x01表示系统资源空间,0x7f表示应用资源空间。TT段:表示资源类型。NNNN段:4个16进制表示资源id,一个apk中同一类型资源从0000开始递增。
为了避免两个插件之间发生因为资源ID相同而导致冲突,本步骤中,对第一插件对应的资源ID进行修改,将其修改为与原第二插件对应的资源ID不同,从而避免该类信息冲突。
在具体进行修改时,可以按照上述资源ID的生成规律,依次对各个待安装的可能或产生冲突的插件进行资源ID的修改。
进一步的,所述第一插件和第二插件含有相同的class类,由于具有相同的class类,从而资源冲突。
所述方法还包括:
判断插件加载时出现的冲突类型是否为so文件冲突;
若是,则忽略so文件冲突。
在插件安装的过程中,由于so文件本身不太可能重复,即使是重复加载也不会出现问题,因此若发现资源冲突中重复的资源为so文件,则做好保护即可,不用对其进行处理。
本实施例所给出方法步骤,通过上述三个方面进行处理,从而避免了待安装插件与之前已安装插件之间的资源冲突,实现了插件正常安装,因此解决了软件之间插件化的问题,为终端上应用程序的正常使用提供了基础。
下面以本实施例的具体应用为例,对上述方法做进一步更为详细的说明。
由于插件之间发生冲突的包括:ID冲突、Dex文件冲突和so文件冲突,因此在具体实施时,对上述三种信息进行处理。
1、资源ID的冲突。
由于正常编译的apk,资源的地址都是0x7f开头的,所以多个插件输入到宿主之后难免会出现重复的资源id。有重复的资源id之后就会出现资源错乱的问题。为了解决资源错乱的问题可以通过隔离资源地址来解决。强制插件的资源地址避开0x7f即可。
2、Dex文件的冲突。
Dex的注入通常是修改宿主的DexPathList里面的Element[]类型的dexElements来实现的,简单来说就是通过反射往宿主的dex路径中加入插件的dex路径。由此,我们可以得到一个反注入dex的方法。
a)在注入dex的时候记录宿主和每个应用的dex在整个dexElements数组里面的位置
b)在反注册的时候重新生成一个新的dexElements数组,去掉需要反注册的插件的dex部分。并重新记录所有插件dex在dexElements数组里面的位置
c)将新的dexElements数组通过反射替换掉应用的dexElements数组。
到这里就已经针对应用去掉了反注册的dex部分。
3、so的冲突。在插件过实现的过程中,so本身不太可能重复,即使是重复加载也不会出现问题,做好保护即可。
通过上述方式进行处理后,便完成插件的反注册,因此当检测到出现插件与插件的冲突时,只要通过上述方法反注册掉之前的插件再加载新插件即可解决冲突问题。
本实施例提出了一种反插件化的插件加载控制方法,通过移除与待安装插件相冲突的插件的方法,将待安装插件的资源反注入到系统中,从而解决了插件资源冲突的问题,为用户正常使用各种第三方应用提供了便利。
示例性设备
在上述插件加载控制方法的基础上,本实施例还公开了一种插件加载控制系统,如图3所示,包括:
事件监控模块310,用于监控终端系统内是否发生插件安装冲突事件;其功能如步骤S1所述。
信息获取模块320,用于当发生冲突事件,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;所述资源信息包括:ID信息、Dex文件信息和so文件信息;其功能如步骤S2所述。
反射注入模块330,用于控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息,并加载第一插件至加载完成,其功能如步骤S3所述。
在上述方法的基础上,本实施例还公开了一种终端设备,终端设备包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时,以执行插件加载控制方法的步骤。一种实施方式中,终端设备可以为手机、平板电脑或智能电视。
具体的,如图4所示,终端设备包括至少一个处理器(processor)20以及存储器(memory)22,还可以包括显示屏21、通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中所述方法的步骤。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的所述方法的步骤。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
另一方面,一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,以实现的所述方法的步骤。
本发明提供了一种插件加载控制方法、系统、终端设备及存储介质,通过监控终端系统内是否发生插件安装冲突事件;若是,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;控制将所述第二插件的资源信息移除,并加载第一插件至加载完成。本实施例中当加载插件出现当前加载插件与之前加载完成的插件有冲突时,则控制移除之前已经加载完成的插件,再对当前需要加载的插件进行加载,从而避免了当前插件安装失败的问题,也解决了多个插件冲突导致应用崩溃或者资源混乱,导致设备无法正常使用的问题。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种插件加载控制方法,其特征在于,所述方法包括:
监控终端系统内是否发生插件安装冲突事件;
若是,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;所述资源信息包括:ID信息、Dex文件信息和so文件信息;
控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息,并加载第一插件至加载完成。
2.根据权利要求1所述的方法,其特征在于,所述控制将所述第二插件的文件移除的步骤包括:
基于反射注入的方式将与所述第二插件相对应的dex文件数组替换成与所述第一插件相对应的dex文件数组。
3.根据权利要求2所述的方法,其特征在于,所述基于反注册的方式将所述第二插件中的dex文件数组替换成与所述第一插件相对应的dexElements数组的步骤包括:
记录宿主apk和各个应用的Dex文件在整个数组中的位置信息;
根据所述位置信息确定出与所述第一插件相对应的Dex文件数组;
将与所述第一插件相对应的Dex文件数组替换掉与所述第二插件相对应的dex文件数组。
4.根据权利要求3所述的方法,其特征在于,所述根据所述位置信息确定出与所述第一插件相对应的dex文件数组的步骤包括:
重新生成与所述第二插件对应的dex文件数组,并移除其中的Dex文件;
对所述新生成的dex文件数组中反射注入与所述第一插件的dex文件,生成与所述第一插件对应的dex文件数组。
5.根据权利要求1所述的方法,其特征在于,所述控制将所述第二插件的文件移除的步骤包括:
修改所述第一插件apk的ID信息;其中,所述第二插件apk的ID信息与所述第二插件apk的ID信息不同。
6.根据权利要求1所述的方法,其特征在于,所述第一插件和第二插件含有相同的class类。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
判断插件加载时出现的冲突类型是否为so文件冲突;
若是,则忽略so文件冲突。
8.一种插件加载控制系统,其特征在于,包括:
事件监控模块,用于监控终端系统内是否发生插件安装冲突事件;
信息获取模块,用于当发生冲突事件,则获取相冲突的第一插件和第二插件的资源信息;其中,所述第一插件信息为待加载插入到系统系统内的插件,第二插件为系统内已加载插入的插件;所述资源信息包括:ID信息、Dex文件信息和so文件信息;
反射注入模块,用于控制将所述第二插件的资源信息替换为所述第一插件对应的资源信息,并加载第一插件至加载完成。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,以执行实现上述权利要求1-7任一项所述的插件加载控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,以实现如权利要求1-7任一项所述的插件加载控制方法的步骤。
CN202110700721.3A 2021-06-23 2021-06-23 一种插件加载控制方法、系统、终端设备及存储介质 Pending CN113434210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110700721.3A CN113434210A (zh) 2021-06-23 2021-06-23 一种插件加载控制方法、系统、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110700721.3A CN113434210A (zh) 2021-06-23 2021-06-23 一种插件加载控制方法、系统、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN113434210A true CN113434210A (zh) 2021-09-24

Family

ID=77753588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110700721.3A Pending CN113434210A (zh) 2021-06-23 2021-06-23 一种插件加载控制方法、系统、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN113434210A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310387A (zh) * 2000-02-21 2001-08-29 英业达股份有限公司 资源重复时的动态定位方法
CN101639777A (zh) * 2009-09-07 2010-02-03 李元 一种构件的即插即用方法、应用及其系统
US8091096B1 (en) * 2008-04-10 2012-01-03 Xerox Corporation Minimizing plug-in DLL repeat instantiation
US20140282471A1 (en) * 2013-03-14 2014-09-18 Bitvore Corp. Dynamically Loaded Plugin Architecture
US20160092246A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Reverse dependency injection in a system with dynamic code loading
CN107122200A (zh) * 2016-02-25 2017-09-01 博雅网络游戏开发(深圳)有限公司 加载插件sdk的方法、系统及客户端
US10110635B1 (en) * 2016-09-28 2018-10-23 Amazon Technologies, Inc. Device policy composition and management system
CN110308949A (zh) * 2019-06-28 2019-10-08 深圳市酷开网络科技有限公司 插件化框架的实现方法、装置及计算机可读存储介质
US20190392136A1 (en) * 2018-06-25 2019-12-26 Vmware, Inc. Sandboxing of software plug-ins
CN111258587A (zh) * 2020-01-17 2020-06-09 苏宁云计算有限公司 一种安卓应用插件化的实现方法、装置、设备及存储介质
CN111782340A (zh) * 2020-06-29 2020-10-16 中国工商银行股份有限公司 一种基于字节码的数据处理方法、装置、设备及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310387A (zh) * 2000-02-21 2001-08-29 英业达股份有限公司 资源重复时的动态定位方法
US8091096B1 (en) * 2008-04-10 2012-01-03 Xerox Corporation Minimizing plug-in DLL repeat instantiation
CN101639777A (zh) * 2009-09-07 2010-02-03 李元 一种构件的即插即用方法、应用及其系统
US20140282471A1 (en) * 2013-03-14 2014-09-18 Bitvore Corp. Dynamically Loaded Plugin Architecture
US20160092246A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Reverse dependency injection in a system with dynamic code loading
CN107122200A (zh) * 2016-02-25 2017-09-01 博雅网络游戏开发(深圳)有限公司 加载插件sdk的方法、系统及客户端
US10110635B1 (en) * 2016-09-28 2018-10-23 Amazon Technologies, Inc. Device policy composition and management system
US20190392136A1 (en) * 2018-06-25 2019-12-26 Vmware, Inc. Sandboxing of software plug-ins
CN110308949A (zh) * 2019-06-28 2019-10-08 深圳市酷开网络科技有限公司 插件化框架的实现方法、装置及计算机可读存储介质
CN111258587A (zh) * 2020-01-17 2020-06-09 苏宁云计算有限公司 一种安卓应用插件化的实现方法、装置、设备及存储介质
CN111782340A (zh) * 2020-06-29 2020-10-16 中国工商银行股份有限公司 一种基于字节码的数据处理方法、装置、设备及系统

Similar Documents

Publication Publication Date Title
US8250543B2 (en) Software tracing
US7962832B2 (en) Method for detecting memory error
CN110209520B (zh) 一种提高ssd测试效率的方法、装置、计算机设备及存储介质
US10579513B2 (en) Test run control method and apparatus
CN108664394B (zh) 一种内存泄露过程追溯方法及装置
CN111124921B (zh) 内存越界的检测方法、装置、设备和存储介质
WO2004010295A2 (en) Method and apparatus for instrumentation on/off
US20110265072A1 (en) Dynamic Installation of Files for Running Programs
CN113434210A (zh) 一种插件加载控制方法、系统、终端设备及存储介质
CN112199272A (zh) 一种智能终端的测试方法、装置、终端设备及介质
CN113272785B (zh) 一种挂载文件系统的方法、终端设备及存储介质
CN115033873A (zh) 一种动态注入方法及装置
CN106897588B (zh) 一种标签函数的处理方法及装置
CN112578772A (zh) 电子控制单元的数据处理方法及相关装置
CN111785316A (zh) 一种克服擦除干扰的方法、系统、存储介质和终端
CN112579113A (zh) 应用程序的升级方法、装置、存储介质及终端
CN111488282B (zh) 业务功能处理方法、装置、电子设备及存储介质
CN116775147B (zh) 一种可执行文件处理方法、装置、设备及存储介质
CN107678838B (zh) 一种跟踪虚拟机操作的方法、装置及虚拟机管理平台
CN109885402B (zh) 测试函数输出数据溢出的方法、终端设备及存储介质
CN107632934B (zh) 一种C-sharp中函数复制方法及装置
CN114356366A (zh) 一种虚拟机的沙箱引擎更新方法、装置、设备和介质
CN116301607A (zh) 一种存储区域的擦除方法、擦除装置及终端设备
CN106502755B (zh) 一种检查Linux内核模块未知符号的方法及装置
CN117289870A (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