CN115756512A - 将客户端动态打包为安装包的方法、系统 - Google Patents
将客户端动态打包为安装包的方法、系统 Download PDFInfo
- Publication number
- CN115756512A CN115756512A CN202211388709.4A CN202211388709A CN115756512A CN 115756512 A CN115756512 A CN 115756512A CN 202211388709 A CN202211388709 A CN 202211388709A CN 115756512 A CN115756512 A CN 115756512A
- Authority
- CN
- China
- Prior art keywords
- module
- packaging
- client
- service function
- identifier
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种将客户端动态打包为安装包的方法、系统、设备及存储介质。方法包括以下步骤:步骤1、将客户端拆分为多个功能模块;步骤2、为每个功能模块建立打包开关标识;步骤3、根据业务需求设置功能模块的打包开关标识;步骤4、根据打包开关标识将所需功能模块打包组织为安装包;系统包括业务拆分模块、标识建立模块、需求设置模块、检测识别模块、主模块;设备及存储介质用于实现方法。本发明可根据实际的业务需求动态调整安装包的功能模块,可实现同一客户端的差异化安装,具有维护方便、成本低的优点。
Description
技术领域
本发明涉及客户端安装方法领域,具体是一种将客户端动态打包为安装包的方法、系统、设备及存储介质。
背景技术
客户端是安装于客户机上与服务端配合,为客户提供本地服务的程序,例如浏览器、QQ程序等。现有客户端的安装包开发过程中,常用的方式是将所有需求的业务功能都写入一个安装包中,这种方式存在的问题是随着业务功能的累计,会导致安装包体积越来越臃肿,各种业务功能耦合在一起也会导致后续维护不便,并且对于同一客户端无法实现差异化安装。
发明内容
本发明提供了一种将客户端动态打包为安装包的方法、系统、设备及存储介质,以解决现有技术客户端安装包开发过程中存在的问题。
为了达到上述目的,本发明所采用的技术方案为:
将客户端动态打包为安装包的方法,包括以下步骤:
步骤1、将客户端拆分为多个业务功能模块;
步骤2、为步骤1得到的每个业务功能模块分别建立可修改的打包开关标识;
步骤3、根据安装包的业务需求,将符合业务需求的业务功能模块的打包开关标识设置为第一标识,将不符合业务需求的业务功能模块的打包开关标识设置为第二标识;
步骤4、检测各个业务功能模块的打包开关标识,将打包开关标识设置为第一标识的各个功能模块打包组织为安装包。
进一步的,步骤1中各个业务功能模块彼此独立、互不关联。
进一步的步骤3中,打包开关标识的设置方式为本地设置。
进一步的步骤3中,打包开关标识的设置方式为远程设置。
进一步的步骤4中,基于关键字识别方法,检测识别打包开关标识为第一标识还是第二标识。
一种将客户端动态打包为安装包的系统,包括:
业务拆分模块,其根据客户端的业务功能将客户端拆分为多个业务功能模块;
标识建立模块,其为各个业务功能模块分别建立可修改的打包开关标识;
需求设置模块,其根据安装包业务需求,对业务功能模块的打包开关标识进行设置;
检测识别模块,其检测识别各个业务功能模块的名称及对应的打包开关标识;
主模块,其获取检测识别模块的检测识别结果,并基于检测识别结果调度相应的业务功能模块打包组织为安装包。
一种电子设备,包括处理器和存储器,所述存储器存储有可被处理器读取运行的程序指令,所述程序指令被处理器读取运行时,执行上述方法的步骤1-步骤4。
一种计算机可读存储介质,其存储有程序指令,所述程序指令被读取运行时,执行上述的步骤1-步骤4。
本发明中,根据客户端的业务功能将客户端分模块处理,由此实现按业务功能将客户端进行模块化拆分。然后为已经进行拆分好的功能模块建立可修改的标识,并根据安装包的业务需求设置功能模块的标识。最终,通过检测标识,识别符合业务需求的功能模块并打包组织为安装包。
与现有技术相比,本发明的有益效果为:
1、本发明可根据实际的业务需求,动态调整安装包的功能模块,由此无须将所有功能都集成于同一安装包中,进而可简化安装包体积。
2、本发明中,可针对不同业务需求,动态调整安装包所需的功能模块,因此可实现同一客户端的差异化安装,具有安装灵活可配的优点。
3、本发明中,各个功能模块彼此独立互不关联,由此安装包后续维护方便、成本低。
附图说明
图1是本发明方法实施例流程框图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
实施例一
如图1所示,本实施例以Android studio开发工具为例,对本发明一种将客户端动态打包为安装包的方法进行说明,包括以下步骤:
步骤1、通过开发工具Android studio编写客户端程序时,利用Android studio创建不同Module分模块处理,将客户端根据其业务功能创建为多个业务功能模块,其中Module类型创建为lib。多个功能模块与客户端的业务功能一一对应,每个业务功能模块分别实现客户端对应的业务,由此根据客户端的不同业务功能,将客户端拆分为多个业务功能模块。
Android Studio中通过Module分模块处理,可以将项目分成不同的模块,每个项目可以有一个或多个模块,并且一个模块可以依赖其他的模块,也可以是各个模块彼此独立。
具体的Module分模块处理时,通过对相关功能或业务的封装,拆分成多个高内聚低耦合的业务功能模块,利用settings.gradle文件中的include关键字,将拆分好的模块引入到编译序列中。
通过开发工具Android Studio的Module分模块处理,可保证各个业务功能模块的独立性,方便后续在打包过程中动态化添加或者移除。
步骤2、当多个业务模块产生后,通过开发工具Android Studio的gradle.property文件为每个业务功能模块建立可修改的打包开关标识,并通过gradle.property文件记录各个业务功能模块的打包开关标识。每个业务功能模块的打包开关标识为第一标识时允许被打包,每个业务功能模块的打包开关标识为第二标识时不允许被打包。
在使用Android Studio新建Android项目之后,在项目根目录下会默认生成一个gradle.properties文件,该文件是项目级别的Gradle配置文件,可以在里面做一些Gradle文件的全局性的配置。并且gradle.properties里面定义的属性是全局的,可以在各个模块的build.gradle里面直接引用.
具体的,gradle.property文件通过定义一个以“customProperty”标准开头的变量,来标识这是一个自定义的属性参数,此变量决定某个Module在打包时是否生成到最终的安装包中。
步骤3、根据安装包的业务需求,通过本地修改或远程修改方式,将符合业务需求的各个业务功能模块的打包开关标识修改设置为第一标识,将不符合业务需求的功能模块的打包开关标识设置为第二标识。
本实施例中,可由外层(gradle.properties文件)配置每个业务模块的打包开关标识,每个业务功能模块依据自己的打包开关标识决定是否参与编译,添加到最终生成的安装包中。也可以是打包平台如jenkins等远程动态配置每个业务模块的打包开关标识,由打包平台根据所需业务功能模块的开关状态,更加方便快捷的配置项目所需业务功模块。
具体的,当外层修改时,通过外层gradle.properties文件可全局访问的特性,在settings.gradle文件中使用外层变量的开关利用include关键字控制模块的编译开关。
当打包平台远程修改时,通过shell命令对外层文件修改,直接修改或替换外层gradle.properties文件中自定义属性开关的状态值,从而实现动态化模块编译进行打包。
步骤4、通过开发工具Android Studio的settings.gradle文件,利用include关键字检索方式检测各个业务功能模块名称及对应的打包开关标识,由此得到所有打包开关标识为第一标识的业务功能模块,这些功能模块即为参与编译打包的业务功能模块。settings.gradle是Gradle配置文件,如果有多个Module,可以在settings.gradle配置所有的Module项目。
具体的,settings.gradle文件通过使用gradle.properties定义好的以customProperty(防止与其他自定义字段冲突特定命名)开头的开关标识,利用该标识控制是否编译拆分好的Module,如需参与编译使用include关键字引入该Module,从而编译到最终的apk安装包中。
依据上述方式,可获得符合不同业务需求的不同业务功能模块,以生成最终可交付的客户端文件。
然后,通过开发工具Android Studio的build.gradle文件,将这些符合业务需求的打包开关标识为第一标识的业务功能模块编译打包为安装包,由此得到的安装包为符合当前业务需求的安装包。
实施例二
本实施例公开了一种实现实施例一所述方法的电子设备,例如计算机等,包括处理器和存储器。存储器中设有存储介质,存储介质中以代码方式存储有可被处理器读取运行的程序指令。
该程序指令包括业务拆分模块、标识建立模块、需求设置模块、检测识别模块、主模块。其中:
业务拆分模块根据客户端的业务功能将客户端拆分为多个功能模块,由此业务拆分模块运行时执行实施例一所述方法中的步骤1。
标识建立模块为各个功能模块分别建立可修改的打包开关标识,由此标识建立模块运行时执行实施例一所述方法中的步骤2。
需求设置模块根据安装包业务需求,对功能模块的打包开关标识进行设置;检测识别模块检测识别各个功能模块的名称及对应的打包开关标识。由此需求设置模块、检测识别模块运行时执行实施例一所述方法中的步骤3。
主模块获取检测识别模块的检测识别结果,并基于检测识别结果调度相应的功能模块打包组织为安装包。由此主模块运行时执行实施例一所述方法中的步骤4。
因此,本实施例中存储器的存储介质被处理器读取运行时,执行实施例一所述方法的步骤1-步骤4。
本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。
Claims (8)
1.将客户端动态打包为安装包的方法,其特征在于,包括以下步骤:
步骤1、将客户端拆分为多个业务功能模块;
步骤2、为步骤1得到的每个业务功能模块分别建立可修改的打包开关标识;
步骤3、根据安装包的业务需求,将符合业务需求的业务功能模块的打包开关标识设置为第一标识,将不符合业务需求的业务功能模块的打包开关标识设置为第二标识;
步骤4、检测各个业务功能模块的打包开关标识,将打包开关标识设置为第一标识的各个功能模块打包组织为安装包。
2.根据权利要求1所述的将客户端动态打包为安装包的方法,其特征在于,步骤1中各个业务功能模块彼此独立、互不关联。
3.根据权利要求1所述的将客户端动态打包为安装包的方法,其特征在于,步骤3中,打包开关标识的设置方式为本地设置。
4.根据权利要求1所述的将客户端动态打包为安装包的方法,其特征在于,步骤3中,打包开关标识的设置方式为远程设置。
5.根据权利要求1所述的将客户端动态打包为安装包的方法,其特征在于,步骤4中,基于关键字识别方法,检测识别打包开关标识为第一标识还是第二标识。
6.一种将客户端动态打包为安装包的系统,其特征在于,包括:
业务拆分模块,其根据客户端的业务功能将客户端拆分为多个业务功能模块;
标识建立模块,其为各个业务功能模块分别建立可修改的打包开关标识;
需求设置模块,其根据安装包业务需求,对业务功能模块的打包开关标识进行设置;
检测识别模块,其检测识别各个业务功能模块的名称及对应的打包开关标识;
主模块,其获取检测识别模块的检测识别结果,并基于检测识别结果调度相应的业务功能模块打包组织为安装包。
7.一种电子设备,包括处理器和存储器,所述存储器存储有可被处理器读取运行的程序指令,其特征在于,所述程序指令被处理器读取运行时,执行权利要求1-5中任意一项所述方法的步骤1-步骤4。
8.一种计算机可读存储介质,其存储有程序指令,其特征在于,所述程序指令被读取运行时,执行权利要求1-5中任意一项所述方法的步骤1-步骤4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211388709.4A CN115756512A (zh) | 2022-11-08 | 2022-11-08 | 将客户端动态打包为安装包的方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211388709.4A CN115756512A (zh) | 2022-11-08 | 2022-11-08 | 将客户端动态打包为安装包的方法、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115756512A true CN115756512A (zh) | 2023-03-07 |
Family
ID=85357399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211388709.4A Pending CN115756512A (zh) | 2022-11-08 | 2022-11-08 | 将客户端动态打包为安装包的方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756512A (zh) |
-
2022
- 2022-11-08 CN CN202211388709.4A patent/CN115756512A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113034095A (zh) | 结合rpa和ai的人机互动方法、装置、存储介质及电子设备 | |
CN107807815B (zh) | 分布式处理任务的方法和装置 | |
CN110727581B (zh) | 崩溃定位方法与电子设备 | |
US11699073B2 (en) | Network off-line model processing method, artificial intelligence processing device and related products | |
CN111400681B (zh) | 数据权限处理方法、装置及设备 | |
CN112363695B (zh) | Pmml文件及其运行时环境与工业软件的集成方法 | |
CN112019609B (zh) | 基于物联网的设备监控方法、装置、设备及计算机介质 | |
CN110928548B (zh) | 一种数据处理方法以及设备 | |
CN111258550A (zh) | 一种软件架构及软件架构开发方法 | |
CN113971110A (zh) | 接口测试方法、装置、设备与计算机可读存储介质 | |
CN114691161A (zh) | 基于Key-Value的软件系统配置方法、装置及电子设备 | |
CN114138363A (zh) | 程序数据调用方法、装置、设备及存储介质 | |
CN115756512A (zh) | 将客户端动态打包为安装包的方法、系统 | |
CN114168209A (zh) | 硬件操作方法及装置、存储介质及电子设备 | |
CN113849287A (zh) | 算法服务的处理方法、装置、电子设备及存储介质 | |
CN116302847B (zh) | 异常信息的动态采集方法、装置、计算机设备及介质 | |
US11977878B2 (en) | System and method for managing software services in building customized software | |
CN114595106B (zh) | 一种业务控制设备调测方法及装置 | |
CN113470701B (zh) | 音视频的编辑方法、装置、计算机设备及存储介质 | |
CN113032010B (zh) | 命令的传输控制方法、终端及计算机可读存储介质 | |
CN114490044A (zh) | 一种组件共享方法、装置、设备及介质 | |
CN106293877B (zh) | 一种虚拟机创建方法及系统 | |
CN112631760A (zh) | 一种线程创建方法、系统、装置及计算机存储介质 | |
CN113778608A (zh) | 开发、容器部署、识别、运行方法、装置、电子设备和存储介质 | |
CN118092579A (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 |