CN114296742B - 安装包创建方法、装置、设备及介质 - Google Patents
安装包创建方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114296742B CN114296742B CN202210217791.8A CN202210217791A CN114296742B CN 114296742 B CN114296742 B CN 114296742B CN 202210217791 A CN202210217791 A CN 202210217791A CN 114296742 B CN114296742 B CN 114296742B
- Authority
- CN
- China
- Prior art keywords
- module
- isolated
- installation package
- target
- intelligent
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种安装包创建方法、装置、设备及介质,包括:将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。通过上述方案,能够实现将待隔离模块隔离的目的,以此减少编译时间,将不包含待隔离模块的目标模块打包为目标安装包,能够减少目标安装包的体积。
Description
技术领域
本发明涉及程序控制技术领域,特别涉及安装包创建方法、装置、设备及介质。
背景技术
在开发项目时通常会对整个项目的主模块进行编译和打包,例如开发一款APP(application),而APP项目中包括多个功能,每个功能都对应着一个模块。随着项目功能的增加,在开发该项目时将对需编译模块和无需编译模块均进行编译打包以获得目标安装包,因此造成整个APP的编译、打包时间增长,由于目标安装包中存在无需编译模块的冗余数据而导致目标安装包的体积过大。
综上可见,如何减少编译打包时间和安装包的体积是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种安装包创建方法、装置、设备及介质,能够有效减少编译打包时间和安装包的体积。其具体方案如下:
第一方面,本申请公开了一种安装包创建方法,包括:
将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;
利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;
利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。
可选的,所述将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块之后,还包括:
配置路由路径,并根据所述路由路径调用目标跳转代码,以便从主模块跳转至与所述待隔离模块对应的目标页面,实现所述待隔离模块和主模块之间的组件化。
可选的,所述利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,包括:
基于所述主模块和所述待隔离模块之间的关联标识信息判断是否满足隔离条件;
若满足隔离条件,则利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块。
可选的,所述利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块,包括:
为Gradle全局变量配置预设隔离标识,并基于所述预设隔离标识剔除所述主模块的配置文件中的所述待隔离模块。
可选的,所述利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制之后,还包括:
当所述目标模块和所述待隔离模块之间的关联状态被控制为依赖状态,则将所述目标模块和所述待隔离模块打包进安装包,以获得目标安装包。
可选的,所述将所述目标模块和所述待隔离模块打包进安装包,以获得目标安装包之后,还包括:
获取所述智能工具包的历史封装方法的类实例,并通过所述类实例获取所述智能工具包的初始化方法,然后通过预设调用方法调用所述初始化方法对所述智能工具包进行初始化。。
可选的,所述所述获取所述智能工具包的历史封装方法的类实例,并通过所述类实例获取所述智能工具包的初始化方法,包括:
获取到所述智能工具包的历史封装方法的初始化类路径,基于所述初始化类路径得到初始化类;
实例化所述初始化类,并基于所述初始化类获取所述待隔离模块的初始化方法。
第二方面,本申请公开了一种安装包创建装置,包括:
代码迁移模块,用于将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;
编译模块,用于利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;
关联状态控制模块,用于利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制;
安装包获取模块,用于当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的安装包创建方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的安装包创建方法的步骤。
可见,本申请首先将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。由此可见,本申请将智能工具包和基于智能工具包开发的功能代码迁移至待隔离模块,为后续将待隔离模块从主模块中隔离做准备;利用全局变量配置方式得到剔除待隔离模块的待编译模块,由于待编译模块中不包含待隔离模块,因此减少需编译的工作量,进而能够减少编译时间;利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,方法简单,降低对关联状态进行控制的复杂度;将目标模块和待隔离模块之间的关联状态被控制为互相独立状态,以便获得不包含待隔离模块的目标安装包,减少打包时间,并减少目标安装包的体积。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种安装包创建方法流程图;
图2为本申请公开的一种具体的安装包创建方法流程图;
图3为本申请公开的一种具体的安装包创建方法流程图;
图4为本申请公开的一种安装包创建装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在开发项目时通常会对整个项目的主模块进行编译和打包,例如开发一款APP(application),而APP项目中包括多个功能,每个功能都对应着一个模块。随着项目功能的增加,在开发该项目时将对需编译模块和无需编译模块均进行编译打包以获得目标安装包,因此造成整个APP的编译、打包时间增长,由于目标安装包中存在无需编译模块的冗余数据而导致目标安装包的体积过大。
为此本申请相应的提供了一种安装包创建方案,能够有效减少编译打包时间和安装包的体积。
参见图1所示,本发明实施例公开了一种安装包创建方法,包括:
步骤S11:将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块。
本实施例中,所述将智能工具包(Software Development Kit,即SDK)和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块之后,还包括:配置路由路径,并根据所述路由路径调用目标跳转代码,以便从主模块跳转至与所述待隔离模块对应的目标页面,实现所述待隔离模块和主模块之间的组件化。
步骤S12:利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块。
本实施例中,所述利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,包括:基于所述主模块和所述待隔离模块之间的关联标识信息判断是否满足隔离条件;若满足隔离条件,则利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块。
本实施例中,所述利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块,具体包括:为Gradle全局变量配置预设隔离标识,并基于所述预设隔离标识剔除所述主模块的配置文件中的所述待隔离模块。
步骤S13:利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。
可以理解的是,本实施例中,可以为Gradle全局变量配置预设独立标识,并基于预设独立标识将目标模块和待隔离模块之间的关联状态被控制为互相独立状态,然后仅将目标模块打包进安装包,以获得目标安装包。
可见,本申请首先将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。由此可见,本申请将智能工具包和基于智能工具包开发的功能代码迁移至待隔离模块,为后续将待隔离模块从主模块中隔离做准备;利用全局变量配置方式得到剔除待隔离模块的待编译模块,由于待编译模块中不包含待隔离模块,因此减少需编译的工作量,进而能够减少编译时间;利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,方法简单,降低对关联状态进行控制的复杂度;将目标模块和待隔离模块之间的关联状态被控制为互相独立状态,以便获得不包含待隔离模块的目标安装包,减少打包时间,并减少目标安装包的体积。
参见图2所示,本发明实施例公开了一种具体的安装包创建方法,包括:
步骤S21:将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块。
本实施例中,将智能工具包和基于智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块,为后续对待隔离模块实现隔离做准备。例如将涂鸦智能工具包和基于涂鸦智能工具包开发的功能代码迁移至位于万店掌APP的配置文件(setting.gradle)中的待隔离模块,其中待隔离模块可以为智控平台模块。
步骤S22:配置路由路径,并根据所述路由路径调用目标跳转代码,以便从主模块跳转至与所述待隔离模块对应的目标页面,实现所述待隔离模块和主模块之间的组件化。
本实施例中,配置路由路径,例如配置route路径,并根据配置的route路径,调用目标跳转代码,以便从万店掌APP主模块跳转至智控平台模块,其中实现代码如下所示:
@Route(path = RouterMap.IntelligentControl.ACTIVITY_URL_INTELLIGENT_CONTROL)
ARouter.getInstance().build(RouterMap.IntelligentControl.ACTIVITY_URL_INTELLIGENT_CONTROL).navigation();
步骤S23:利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块。
步骤S24:利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为依赖状态,则将所述目标模块和所述待隔离模块打包进安装包,以获得目标安装包。
本实施例中,所述将所述目标模块和所述待隔离模块打包进安装包,以获得目标安装包之后,还包括:获取所述智能工具包的历史封装方法的类实例,并通过所述类实例获取所述智能工具包的初始化方法,然后通过预设调用方法调用所述初始化方法对所述智能工具包进行初始化,因此能够避免破坏待隔离模块的隔离性。其中,可以利用Java的反射运行时特性获取所述智能工具包的历史封装方法的类实例。
本实施例中,所述获取所述智能工具包的历史封装方法的类实例,并通过所述类实例获取所述智能工具包的初始化方法,包括:获取到所述智能工具包的历史封装方法的初始化类路径,基于所述初始化类路径得到初始化类;实例化所述初始化类,并基于所述初始化类获取所述待隔离模块的初始化方法。例如,利用组件化后的智控平台模块将涂鸦智能工具包的流程封装成初始化方法函数,并利用invoke方法调用该初始化方法函数。其中初始化方法函数代码如下所示:
fun init(application: Application) {
TuyaCommercialLightingSdk.init(application)
TuyaPanelSDK.init(application, "7veddvvvd3xnh999uysm", "qj8iivvmmmajkm8dkdgkp8")
}
其中获取到所述智能工具包的历史封装方法的初始化类路径,基于所述初始化类路径得到初始化类;实例化所述初始化类,并找到该初始化类中的init初始化方法;设置初始化方法的可访问性,以便调用该初始化方法并传入类实例和参数。其中实现代码如下所示:
Class clazz = Class.forName("com.ovopark.intelligentcontrol.utils.TuyaInitUtils");
Object obj = clazz.newInstance();
Method declaredMethod = clazz.getDeclaredMethod("init",Application.class);
declaredMethod.setAccessible(true);
declaredMethod.invoke(obj, mBaseApplication);
由此可见,本申请将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块,为后续进行模块隔离做准备;利用组件化的方法实现主模块和待隔离模块之间的通信,方便项目开发,减少冗余数据;本申请可以将待隔离模块打包至安装包,并通过调用待隔离模块的初始化方法,避免破坏待隔离模块的隔离性。
参见图3所示,本发明实施例公开了一种具体的安装包创建方法,包括:
步骤S31:将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块。
步骤S32:为全局变量配置预设隔离标识,并基于所述预设隔离标识剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块。
可以理解的是,本实施例中,为全局变量配置预设隔离标识,并基于所述预设隔离标识剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块之后,还可以通过预设判断条件判断待编译模块中是否包含待隔离模块,因为如果待编译模块中包含待隔离模块,则在进行编译时对待隔离模块也进行编译,造成编译时间增长,所以通过预设判断条件判断待编译模块中是否包含待隔离模块这一步骤,能够判断出待隔离模块是否被隔离。例如万店掌APP中包含有很多功能模块的项目,当将智控平台模块(lib_intelligent_control)作为待隔离模块时,预设隔离标识可以为“false”,预设包含标识可以为“ture”,Gradle全局变量为“IS_LOAD_TUYA”,即“IS_LOAD_TUYA=ture”为待编译模块中包含待隔离模块,“IS_LOAD_TUYA=false”为待编译模块中包含待隔离模块,其中实现判断待隔离模块是否被隔离的代码如下所示:
if (IS_LOAD_TUYA.toBoolean()) {
include ':lib_intelligent_control'
}
步骤S33:对所述待编译模块进行编译以得到目标模块。
步骤S34:利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。
本实施例中,利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,可以理解的是,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态之后,可以设置预设判断条件判断目标模块与所述待隔离模块之间的关联状态是否为互相独立状态,以便后续当目标安装包中要求不包含待隔离模块时,提供可靠性,避免目标安装包中含有冗余数据的情况。例如判断目标模块和智控平台模块是否为相互独立状态,其中实现代码如下:
if (IS_LOAD_TUYA.toBoolean()) {
implementation project(':lib_intelligent_control')
}
由此可见,本申请利用全局变量配置方式实现了待编译模块和目标安装包中不包含待隔离模块,进而减少编译和打包的时间,并由于目标安装包中不包含待隔离模块的冗余数据,因此缩小了目标安装包的体积。
参见图4所示,本发明实施例公开了一种安装包创建装置,包括:
代码迁移模块11,用于将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;
编译模块12,用于利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;
关联状态控制模块13,用于利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制;
安装包获取模块14,用于当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。
可见,本申请首先将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。由此可见,本申请将智能工具包和基于智能工具包开发的功能代码迁移至待隔离模块,为后续将待隔离模块从主模块中隔离做准备;利用全局变量配置方式得到剔除待隔离模块的待编译模块,由于待编译模块中不包含待隔离模块,因此减少需编译的工作量,进而能够减少编译时间;利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,方法简单,降低对关联状态进行控制的复杂度;将目标模块和待隔离模块之间的关联状态被控制为互相独立状态,以便获得不包含待隔离模块的目标安装包,减少打包时间,并减少目标安装包的体积。
在一些具体实施例中,所述代码迁移模块11,包括:
模块组件化单元,用于配置路由路径,并根据所述路由路径调用目标跳转代码,以便从主模块跳转至与所述待隔离模块对应的目标页面,实现所述待隔离模块和主模块之间的组件化。
在一些具体实施例中,所述编译模块12,包括:
隔离条件判断单元,用于基于所述主模块和所述待隔离模块之间的关联标识信息判断是否满足隔离条件。
待编译模块获取单元,用于若满足隔离条件,则利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块。
隔离模块剔除单元,用于为Gradle全局变量配置预设隔离标识,并基于所述预设隔离标识剔除所述主模块的配置文件中的所述待隔离模块。
在一些具体实施例中,所述安装包获取模块14,包括:
第一安装包获取单元,用于当所述目标模块和所述待隔离模块之间的关联状态被控制为依赖状态,则将所述目标模块和所述待隔离模块打包进安装包,以获得目标安装包。
在一些具体实施例中,所述第一安装包获取单元,包括:
初始化单元,用于获取所述智能工具包的历史封装方法的类实例,并通过所述类实例获取所述智能工具包的初始化方法,然后通过预设调用方法调用所述初始化方法对所述智能工具包进行初始化。
初始化方法获取单元,用于获取到所述智能工具包的历史封装方法的初始化类路径,基于所述初始化类路径得到初始化类;实例化所述初始化类,并基于所述初始化类获取所述待隔离模块的初始化方法。
图5为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由计算机设备执行的安装包创建方法中的相关步骤。
本实施例中,电源23用于为计算机设备20上的各硬件设备提供工作电压;通信接口24能够为计算机设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制计算机设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由计算机设备20执行的安装包创建方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括计算机设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由安装包创建过程中执行的方法步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种安装包创建方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种安装包创建方法,其特征在于,包括:
将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;
利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;
利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制,当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。
2.根据权利要求1所述的安装包创建方法,其特征在于,所述将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块之后,还包括:
配置路由路径,并根据所述路由路径调用目标跳转代码,以便从主模块跳转至与所述待隔离模块对应的目标页面,实现所述待隔离模块和主模块之间的组件化。
3.根据权利要求1所述的安装包创建方法,其特征在于,所述利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,包括:
基于所述主模块和所述待隔离模块之间的关联标识信息判断是否满足隔离条件;
若满足隔离条件,则利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块。
4.根据权利要求1至3任一项所述的安装包创建方法,其特征在于,所述利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块,包括:
为Gradle全局变量配置预设隔离标识,并基于所述预设隔离标识剔除所述主模块的配置文件中的所述待隔离模块。
5.根据权利要求1所述的安装包创建方法,其特征在于,所述利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制之后,还包括:
当所述目标模块和所述待隔离模块之间的关联状态被控制为依赖状态,则将所述目标模块和所述待隔离模块打包进安装包,以获得目标安装包。
6.根据权利要求5所述的安装包创建方法,其特征在于,所述将所述目标模块和所述待隔离模块打包进安装包,以获得目标安装包之后,还包括:
获取所述智能工具包的历史封装方法的类实例,并通过所述类实例获取所述智能工具包的初始化方法,然后通过预设调用方法调用所述初始化方法对所述智能工具包进行初始化。
7.根据权利要求6所述的安装包创建方法,其特征在于,所述获取所述智能工具包的历史封装方法的类实例,并通过所述类实例获取所述智能工具包的初始化方法,包括:
获取到所述智能工具包的历史封装方法的初始化类路径,基于所述初始化类路径得到初始化类;
实例化所述初始化类,并基于所述初始化类获取所述待隔离模块的初始化方法。
8.一种安装包创建装置,其特征在于,包括:
代码迁移模块,用于将智能工具包和基于所述智能工具包开发的功能代码迁移至位于主模块的配置文件中的待隔离模块;
编译模块,用于利用全局变量配置方式剔除所述主模块的配置文件中的所述待隔离模块以得到待编译模块,并对所述待编译模块进行编译以得到目标模块;
关联状态控制模块,用于利用全局变量配置方式对所述目标模块与所述待隔离模块之间的关联状态进行控制;
安装包获取模块,用于当所述目标模块和所述待隔离模块之间的关联状态被控制为互相独立状态,则将所述目标模块打包进安装包,以获得目标安装包。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的安装包创建方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的安装包创建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217791.8A CN114296742B (zh) | 2022-03-08 | 2022-03-08 | 安装包创建方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217791.8A CN114296742B (zh) | 2022-03-08 | 2022-03-08 | 安装包创建方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114296742A CN114296742A (zh) | 2022-04-08 |
CN114296742B true CN114296742B (zh) | 2022-05-10 |
Family
ID=80978615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210217791.8A Active CN114296742B (zh) | 2022-03-08 | 2022-03-08 | 安装包创建方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114296742B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830981A (zh) * | 2012-09-12 | 2012-12-19 | 上海斐讯数据通信技术有限公司 | 一种用于嵌入式系统软件开发工具的实现方法 |
CN108595187A (zh) * | 2018-03-27 | 2018-09-28 | 北京美好人生伙伴信息技术有限公司 | 安卓安装包集成软件开发工具包的法、装置及存储介质 |
CN109885324A (zh) * | 2019-02-25 | 2019-06-14 | 北京达佳互联信息技术有限公司 | 一种应用程序安装包的处理方法、装置、终端及存储介质 |
CN112346774A (zh) * | 2019-08-06 | 2021-02-09 | 北京京东尚科信息技术有限公司 | 一种应用安装包的生成方法和装置 |
-
2022
- 2022-03-08 CN CN202210217791.8A patent/CN114296742B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830981A (zh) * | 2012-09-12 | 2012-12-19 | 上海斐讯数据通信技术有限公司 | 一种用于嵌入式系统软件开发工具的实现方法 |
CN108595187A (zh) * | 2018-03-27 | 2018-09-28 | 北京美好人生伙伴信息技术有限公司 | 安卓安装包集成软件开发工具包的法、装置及存储介质 |
CN109885324A (zh) * | 2019-02-25 | 2019-06-14 | 北京达佳互联信息技术有限公司 | 一种应用程序安装包的处理方法、装置、终端及存储介质 |
CN112346774A (zh) * | 2019-08-06 | 2021-02-09 | 北京京东尚科信息技术有限公司 | 一种应用安装包的生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114296742A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928038B2 (en) | Dynamically building locale objects or subsections of locale objects based on historical data | |
CA2768752C (en) | Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform | |
CN107045438B (zh) | 一种应用顶层视图处理方法、装置及组件 | |
KR20180054746A (ko) | 애플리케이션 컨테이너를 사용한 코드 및 종속 데이터의 전달 관리 | |
CN112463123B (zh) | 任务编译方法、装置、网络节点、系统及存储介质 | |
CN111343181B (zh) | 报文的处理方法,系统以及数据池和计算机可读存储介质 | |
CN112256421B (zh) | 通信处理方法、装置、存储介质及电子设备 | |
CN105183622A (zh) | 基于安卓系统的日志处理方法及装置 | |
CN110908707A (zh) | 一种资源打包方法、装置、服务器及存储介质 | |
CN112416571A (zh) | 工业物联网节点的资源管理方法、操作系统及管理装置 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN114296742B (zh) | 安装包创建方法、装置、设备及介质 | |
CN112835615A (zh) | 软件开发工具包的插件化处理方法、装置及电子设备 | |
CN115509531A (zh) | 基于前端技术的微前端实现方法、装置、终端及存储介质 | |
US10599493B2 (en) | Method and module in operating system for controlling hardware device | |
CN115794386A (zh) | 虚拟机的资源调用方法、设备及存储介质 | |
CN114881235A (zh) | 推理服务调用方法、装置、电子设备及存储介质 | |
CN114510334A (zh) | 类实例的调用方法、装置、电子设备及自动驾驶车辆 | |
CN112612460A (zh) | 接口的封装和调用方法、电子设备、及存储介质 | |
CN112463188A (zh) | 网卡固件自动化升级方法、装置及计算机可读存储介质 | |
CN106919436B (zh) | Dalvik虚拟机实现多任务的方法、装置及虚拟机 | |
CN115033826A (zh) | Web应用路由跳转方法、装置、设备及介质 | |
CN117312147A (zh) | 一种用例库服务框架的搭建方法、装置、设备及介质 | |
CN112631692B (zh) | 一种应用程序运行控制方法、装置和存储介质 | |
CN115758375A (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 |