CN115981614B - 项目工程的模块化处理方法、电子设备及计算机存储介质 - Google Patents

项目工程的模块化处理方法、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN115981614B
CN115981614B CN202310160858.3A CN202310160858A CN115981614B CN 115981614 B CN115981614 B CN 115981614B CN 202310160858 A CN202310160858 A CN 202310160858A CN 115981614 B CN115981614 B CN 115981614B
Authority
CN
China
Prior art keywords
target
function module
resource
project
plug
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
CN202310160858.3A
Other languages
English (en)
Other versions
CN115981614A (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.)
Meiyun Zhishu Technology Co ltd
Original Assignee
Meiyun Zhishu 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 Meiyun Zhishu Technology Co ltd filed Critical Meiyun Zhishu Technology Co ltd
Priority to CN202310160858.3A priority Critical patent/CN115981614B/zh
Publication of CN115981614A publication Critical patent/CN115981614A/zh
Application granted granted Critical
Publication of CN115981614B publication Critical patent/CN115981614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种项目工程的模块化处理方法、电子设备及计算机存储介质。该模块化处理方法包括:为项目工程配置插件脚本,以在插件脚本中注册项目工程的资源整合规则;为项目工程的目标功能模块新建目标目录,并基于资源整合规则将历史功能模块中的代码整合至目标目录下;遍历项目工程的所有目录,将目标目录下的子目录与编译参数进行关联,得到配置文件;基于配置文件为目标功能模块建立资源依赖;基于资源依赖编译项目工程。通过上述方式,本申请能够提高项目工程的模块化处理的效率。

Description

项目工程的模块化处理方法、电子设备及计算机存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种项目工程的模块化处理方法、电子设备及计算机存储介质。
背景技术
随着计算机应用开发技术的发展,对于单个应用程序的应用功能越来越多的情况,若全部代码均存储在单一项目工程中,将存在代码逻辑混乱、无法进行单元测试以及单一功能在第二个项目工程中无法轻易复用等问题。
现有的模块化处理方案虽然可以解决上述问题,但是存在项目工程开发效率低等问题,例如在对较大的已有项目工程进行改造时需要进行全面更改的问题,现有的模块化处理方案需要把项目工程重新梳理,推翻旧的项目工程,重新以新的项目工程的结构方式进行模块化,耗费的时间长。
发明内容
本申请提出一种项目工程的模块化处理方法、电子设备及计算机存储介质,能够提高项目工程的模块化处理的效率。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种项目工程的模块化处理方法,该模块化处理方法包括:为项目工程配置插件脚本,以在插件脚本中注册项目工程的资源整合规则;为项目工程的目标功能模块新建目标目录,并基于资源整合规则将历史功能模块中的代码整合至目标目录下;遍历项目工程的所有目录,将目标目录下的子目录与编译参数进行关联,得到配置文件;基于配置文件为目标功能模块建立资源依赖;基于资源依赖编译项目工程。
其中,为项目工程配置插件脚本,以在插件脚本中注册项目工程的资源整合规则,包括:在项目工程中根目录下的插件脚本中添加项目工程的各个功能模块之间的资源整合规则;在项目工程中功能模块目录下的插件脚本中添加目标功能模块的资源整合规则。
其中,将目标目录下的子目录与编译参数进行关联,包括:将目标目录下的源码、资源文件、注册文件及接口定义语言文件与应用程序编程接口的参数进行关联。
其中,基于配置文件为目标功能模块建立资源依赖,包括:基于编译参数为目标功能模块获取资源目录和目标代码。
其中,基于配置文件为功能模块建立资源依赖,还包括:确定目标功能模块是否需要依赖所述历史功能模块;若是,则执行基于编译参数为目标功能模块获取资源目录和目标代码的步骤。
其中,基于配置文件为目标功能模块建立资源依赖,还包括:确定历史功能模块的权限状态;响应于权限状态为有权限时,执行基于编译参数为目标功能模块获取资源目录和目标代码的步骤。
其中,确定历史功能模块的权限状态,包括:确定flavors参数是否与当前flavor相等;若是,则确定历史功能模块的权限状态为有权限。
其中,确定历史功能模块的权限状态,包括:确定config参数是否为1;若是,则确定历史功能模块的权限状态为有权限。
其中,模块化处理方法还包括:采用groovy编程语言实现上述模块化处理方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供了一种电子设备,电子设备包括处理器以及与处理器连接的存储器,其中,存储器中存储有程序数据,处理器执行存储器存储的程序数据,以执行实现上述任一项的模块化处理方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供了一种计算机可读存储介质,其内部存储有程序指令,程序指令被执行以实现上述任一项的模块化处理方法。
本申请的有益效果是:区别于现有技术的情况,当处理现有项目工程时,首先为项目工程配置插件脚本,并在项目工程的目标功能模块目录下新建目标目录,然后基于资源整合规则将历史功能模块中的代码整合至目标目录下,并遍历项目工程的所有目录,将目标目录下的子目录与编译参数进行关联,得到配置文件,基于配置文件为目标功能模块建立资源依赖,并基于资源依赖编译项目工程。因此,本申请只需要在插件脚本配置资源整合规则,就能将历史功能模块中的代码整合至现有项目工程的新建的目标目录下,并通过建立目标目录下的子目录与编译参数之间的关联,实现对项目工程的功能模块建立资源依赖,从而快速完成现有项目工程调整,且能够实现功能模块的相互调用,减少安装包的体积。
附图说明
图1是本申请项目工程的模块化处理方法一实施例的流程示意图;
图2是本申请项目工程的模块化处理方法另一实施例的流程示意图;
图3是本申请电子设备一实施例的结构示意图;
图4是本申请计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请首先提出了一种项目工程的模块化处理方法,如图1所示,图1是本申请项目工程的模块化处理方法一实施例的流程示意图。本实施例模块化处理方法具体包括以下步骤:
步骤S11:为项目工程配置插件脚本,以在插件脚本中注册项目工程的资源整合规则。
插件脚本可以存储在build.gradle文件中。
本实施例的build.gradle文件不仅包含项目工程构建所需的常规脚本,还包括项目工程的资源整合规则对应的脚本。
例如,可以使用安卓的构建环境AndroidStudio或构建工具Gradle为项目工程配置插件脚本。其中,Gradle能够构建应用程序,Gradle的构建包括编译、打包等过程。利用Gradle中的classpath语句能够将历史功能模块进行拆分及拼凑,并能够指定及构建资源整合规则,资源整合规则用于指定如何对历史功能模块进行拆分及拼凑,以得到项目工程所需的代码。
功能模块的目录下存在一个build.gradle文件,代表了该功能模块的构建脚本,它定义了应用于该功能模块的构建规则。在项目工程的根目录下也存在一个build.gradle文件,它代表了整个项目工程的构建,其中定义了适用于这个项目工程中所有功能模块的构建规则。
可选地,本实施例为项目工程配置根目录插件脚本,即使用在项目工程中根目录下的插件脚本;其中,目录插件脚本包括第一资源整合规则,第一资源整合规则用于指定是否启用目标功能模块的资源整合规则。进一步地,为项目工程配置功能模块插件脚本,即使用在项目工程中目标功能模块目录下的插件脚本;其中,功能模块插件脚本包括目标功能模块的资源整合规则。
具体地,本实施例在项目工程的根目录对应build.gradle文件中添加第一资源整合规则,并在项目工程的目标功能模块目录对应的build.gradle文件中添加目标功能模块的资源整合规则,能够为整个项目工程建立资源整合规则。
例如,可以利用classpath语句在项目工程的根目录对应的build.gradle文件中添加第一资源整合规则,即在根目录对应的build.gradle文件中添加包含classpath语句的代码,classpath语句能够将历史功能模块进行拆分及拼凑,并能够指定及构建资源整合规则。设置classpath能够使构建环境AndroidStudio分辨在哪些目录下可以找到执行功能模块的应用程序所需要的类或者包。
apply plugin是一种二进制插件,被打包在一个Jar包里并独立发布,利用applyplugin语句在项目工程的目标功能模块目录(即app目录)对应的build.gradle文件中添加目标功能模块内部的资源整合规则,即在目标功能模块目录对应的build.gradle文件中添加以下代码:
apply plugin:'mission-pins-plugin'
其中,mission-pins-plugin即plugin id,plugin id为Jar包的名称。该代码可以引入二进制插件apply plugin,在项目工程的目标功能模块目录对应的build.gradle文件中添加目标功能模块的资源整合规则。
本实施例中项目工程的模块化处理方法能够对已有项目的结构进行快速调整,配置文件中嵌入两行代码指定脚本后仅通过对代码的拷贝挪动即可完成对模块化的调整。
步骤S12:为项目工程的目标功能模块新建目标目录,并基于资源整合规则将历史功能模块中的代码整合至目标目录下。
例如,在项目工程的根目录下的应用目录下新建目标目录p_xxx或目标目录src,即目标功能模块对应的目录。其中,目标目录p_xxx或目标目录src包括多个子目录。历史功能模块为已建立的功能模块,基于资源整合规则将历史功能模块(即历史app)中的代码整合至目标目录p_xxx或目标目录src下,能够实现对功能模块的划分及整合。
若项目工程中存在多个目标功能模块,则为每个目标功能模块都新建目标目录,基于资源整合规则去获取对应的代码。
步骤S13:遍历项目工程的所有目录,将目标目录下的子目录与编译参数进行关联,得到配置文件。
具体地,可以将目标目录下的源码、资源文件、注册文件及接口定义语言文件与目标功能模块的应用程序编程接口的参数进行关联。
构建工具Gradle作用于构建过程中,通过原有的领域特定语言(Domain-SpecificLanguage,DSL)语法指定项目工程需要构建的源码、资源文件、注册文件、Android接口定义语言(Android InterfaceDefinition Language,AIDL)文件等内容。AIDL是安卓的接口定义语言,客户端和服务端可以通过AIDL定义的编程接口来达成共识,以便通过进程间通讯完成相互通讯。SourceSets是安卓官方系统中的应用程序编程接口。构建工具Gradle通过设置SourceSets进行指定已是单一模块的代码是否需要编译进安装包。编译参数为SourceSets中的参数。
例如,遍历项目工程的项目目录结构,以遍历项目工程的所有目录。将遍历得到的目标目录对应的历史功能模块确定为需要打包进入安装包的代码及资源文件,并通过设置SourceSets来实现对源码/资源文件/注册文件/AIDL文件等文件的指定,确定上述各个历史功能模块的代码是否需要编译进安装包,指定后能够正常获取资源,以使目标目录下的子目录与编译参数进行关联,进而得到配置文件。
通过上述方式,能够将历史功能模块解耦,且对功能进行配置化控制,从而优化安装包,缩小其体积。
步骤S14:基于配置文件为目标功能模块建立资源依赖。
目标目录下的子目录与编译参数进行关联后获取配置文件,读取配置文件,为需要打包进安装包的各个目标功能模块建立资源依赖。
可选地,本实施例可以基于编译参数为需要打包进安装包的各个目标功能模块获取资源目录和目标代码。
可选地,本实施例还可以在基于编译参数为目标功能模块获取资源目录和目标代码之前,确定目标功能模块是否需要依赖历史功能模块;若是,则基于编译参数为目标功能模块获取资源目录和目标代码。
可选地,本实施例还可以在基于编译参数为目标功能模块获取资源目录和目标代码之前,确定历史功能模块的权限状态;响应于权限状态为有权限时,再去基于编译参数为目标功能模块获取资源目录和目标代码,以避免不必要的获取操作及资源浪费。
可以分别针对上述所需的各个历史功能模块进行依赖状态及权限状态的判断。
在其它实施例中,可以在目标功能模块依赖历史功能模块且历史功能模块的权限状态为有权限时,再去基于配置文件为目标功能模块建立资源依赖。
例如,针对每个目标功能模块,在上述步骤中可以对目标功能模块的依赖状态及历史功能模块的权限状态进行配置。
在目标目录下,configuration.json文件中配置信息如:"f_meeting":1,可以对相应的音视频库建立资源依赖。
例如,目标功能模块是否需要依赖历史功能模块由f_meeting决定。当f_meeting为0时,目标功能模块无法与历史功能模块建立资源依赖;当f_meeting为1时,基于编译参数为目标功能模块获取资源目录和目标代码,可以对相应的音视频库建立资源依赖。
可以通过目标目录下的configuration.json文件中配置信息“flavors”确定历史功能模块的权限状态。
可选地,本实施例中确定历史功能模块的权限状态包括:确定flavors参数是否与当前flavor相等;若是,则确定历史功能模块的权限状态为有权限。
例如,插件脚本中提供flavorDepend函数,根据flavorDepend函数中的flavors参数判断是否跟当前flavor相等,若是,则确定历史功能模块的权限状态为有权限。
可选地,本实施例中确定历史功能模块的权限状态包括:确定config参数是否为1;若是,则确定历史功能模块的权限状态为有权限。
例如,插件脚本中提供flavorDepend函数,根据flavorDepend函数中的config参数判断配置文件中是否为1,若是,则确定历史功能模块的权限状态为有权限。
在其它实施例中,项目工程的模块化处理方法中确定历史功能模块的权限状态可以同时满足确定flavors参数是否与当前flavor相等及确定config参数是否为1。
本实施例基于上述依赖状态及权限状态的配置确定是否需要进一步通过SourceSets获取该目标功能模块资源目录和目标代码,即是否真正建立资源依赖。
步骤S15:基于资源依赖编译项目工程。
基于资源依赖中配置文件记录的资源依赖关系、编译选项等信息调取相关组件代码进行项目工程的编译,将编译后生成的二进制产物以及对应编译产物的归档清单进行统一的标记及打包,并上传至上位机进行集中存储。
例如,可以在项目工程的根目录下执行lunch命令来选择当前编译平台,该命令可以直接对应功能参数,也可以让编译平台显示菜单以供选择。对项目工程进行编译可以执行make或者mm等命令进行编译,如采用soong编译系统直接执行目标目录下的android.mk或者android.bp脚本,基于资源依赖中配置文件记录的资源依赖关系、编译选项等信息调取相关组件代码进行项目工程的编译。
通过上述方式,当开发项目工程时,首先为项目工程配置插件脚本,并在项目工程的目标功能模块目录下新建目标目录,然后基于资源整合规则将历史功能模块中的代码整合至目标目录下,并遍历项目工程的所有目录,将目标目录下的子目录与编译参数进行关联,得到配置文件,基于配置文件为目标功能模块建立资源依赖,并基于资源依赖编译项目工程。因此,本申请只需要在插件脚本配置资源整合规则,就能将历史功能模块中的代码整合至项目工程的新建的目标目录下,并通过建立目标目录下的子目录与编译参数之间的关联,实现对项目工程的目标功能模块建立资源依赖,从而快速完成项目工程的建立或者调整,且能够实现目标功能模块的相互调用,减少安装包的体积。
可选地,本实施例可以采用groovy编程语言实现上述模块化处理方法。
使用groovy编程语言构建的groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。由于groovy编程语言运行在Java虚拟机上的特性,可以使用其他非Java语言编写的库。在安卓的构建环境中使用groovy编程语言能够避免与安卓系统不兼容的问题。基于groovy编程语言实现上述项目工程的模块化处理方法的目的在于通过添加变量、属性来控制需要打入安装包的源码、资源文件及注册文件,灵活性较高,提高对项目工程模块化处理的速度。
在一应用场景中,如图2所示,图2是本申请项目工程的模块化处理方法另一实施例的流程示意图,本实施例中项目工程的模块化处理方法为安卓的android基于groovy进行代码模块化的方案。
其中,模块命名规则是把同一目标功能模块的代码文件组合到一起,令项目工程的文件及代码有规律可循,使应用程序具有良好的可读性,从而方便项目的维护和扩展。在项目工程运行groovy脚本后,根据模块命名规则确定编译进安装包的代码。利用设置SourceSets对源码、资源文件、注册文件、AIDL文件等文件进行指定,确定已是单一历史功能模块的代码是否需要编译进安装包,以使目标目录下的子目录与编译参数进行关联,进而得到配置文件。在配置文件中,依据项目依赖关系及资源确定编译进安装包的代码,将代码打包进入安装包后,利用构建环境androidstudio进行正常的编译过程。本实施例的项目工程的模块化处理方法实现代码逻辑的分离,能够对项目工程中的已有项目进行快速调整,令各个功能模块间可以相互调用,且能够优化安装包,减少其体积。
本申请进一步提出一种电子设备,如图3所示,图3是本申请电子设备一实施例的结构示意图,该电子设备300包括处理器301及与处理器301连接的存储器302。
处理器301还可以称为CPU(Central Processing Unit,中央处理单元)。处理器301可能是一种集成电路芯片,具有信号的处理能力。处理器301还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器302用于存储处理器301运行所需的程序数据。
处理器301还用于执行存储器302存储的程序数据以实现上述项目工程的模块化处理方法。
本申请进一步提出一种计算机存储介质。如图4所示,图4是本申请计算机存储介质一实施例的结构示意图。
本申请实施例的计算机存储介质400内部存储有程序指令410,程序指令410被执行以实现上述项目工程的模块化处理方法。
其中,程序指令410可以形成程序文件以软件产品的形式存储在上述存储介质中,以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
本实施例计算机存储介质400可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机存储介质中。电子设备的处理器从计算机存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述各方法实施例中的步骤。
另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的机构、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (6)

1.一种项目工程的模块化处理方法,其特征在于,包括:
利用安卓平台为所述项目工程配置插件脚本,以在所述插件脚本中注册所述项目工程的资源整合规则;其中,所述插件脚本还包括所述项目工程构建所需的常规脚本;
为所述项目工程的目标功能模块新建目标目录,并基于所述资源整合规则将历史功能模块中的代码整合至所述目标目录下;其中,所述目标目录是在所述项目工程的根目录下新建的,所述历史功能模块是所述项目工程已建立的功能模块;
遍历所述项目工程的所有目录,将所述目标目录下的子目录与编译参数进行关联,得到配置文件;
基于所述配置文件为所述目标功能模块建立资源依赖;
基于所述资源依赖编译所述项目工程;
所述为所述项目工程配置插件脚本,以在所述插件脚本中注册所述项目工程的资源整合规则,包括:
为所述项目工程配置根目录插件脚本,其中,所述根目录插件脚本包括第一资源整合规则;其中,所述第一资源整合规则用于指定是否启用目标功能模块的资源整合规则;
为所述项目工程配置功能模块插件脚本,其中,所述功能模块插件脚本包括所述目标功能模块的资源整合规则;其中,所述目标功能模块的资源整合规则用于实现对所述历史功能模块的拆分及拼凑;
其中,所述基于所述配置文件为所述目标功能模块建立资源依赖,包括:
确定所述目标功能模块是否需要依赖所述历史功能模块;
若是,则基于所述编译参数为所述目标功能模块获取资源目录和目标代码;或者
确定所述历史功能模块的权限状态;
响应于所述权限状态为有权限时,则基于所述编译参数为所述目标功能模块获取资源目录和目标代码;
其中,所述确定所述历史功能模块的权限状态,包括:
所述插件脚本中配置flavorDepend函数;
根据所述flavorDepend函数中的flavors参数判断是否与当前flavor相等,若是,则确定所述历史功能模块的权限状态为有权限;或
判断所述flavorDepend函数中的config参数是否为1,若是,则确定所述历史功能模块的权限状态为有权限。
2.根据权利要求1所述模块化处理方法,其特征在于,所述将所述目标目录下的子目录与编译参数进行关联,包括:
将所述目标目录下的源码、资源文件、注册文件及接口定义语言文件与应用程序编程接口的参数进行关联。
3.根据权利要求1所述模块化处理方法,其特征在于,所述基于所述配置文件为所述目标功能模块建立资源依赖,包括:
基于所述编译参数为所述目标功能模块获取资源目录和目标代码。
4.根据权利要求1所述模块化处理方法,其特征在于,还包括:
采用groovy编程语言实现所述模块化处理方法。
5.一种电子设备,所述电子设备包括处理器以及与所述处理器连接的存储器,其特征在于,所述存储器中存储有程序数据,所述处理器执行所述存储器存储的所述程序数据,以执行实现权利要求1至4任一项所述的模块化处理方法。
6.一种计算机存储介质,其特征在于,其内部存储有程序指令,所述程序指令被执行以实现权利要求1至4任一项所述的模块化处理方法。
CN202310160858.3A 2023-02-24 2023-02-24 项目工程的模块化处理方法、电子设备及计算机存储介质 Active CN115981614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310160858.3A CN115981614B (zh) 2023-02-24 2023-02-24 项目工程的模块化处理方法、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310160858.3A CN115981614B (zh) 2023-02-24 2023-02-24 项目工程的模块化处理方法、电子设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN115981614A CN115981614A (zh) 2023-04-18
CN115981614B true CN115981614B (zh) 2023-07-07

Family

ID=85974459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310160858.3A Active CN115981614B (zh) 2023-02-24 2023-02-24 项目工程的模块化处理方法、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN115981614B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795080A (zh) * 2019-10-21 2020-02-14 山东舜知信息科技有限公司 一种基于数据库注释的代码自动生成系统及构建方法
CN112527306A (zh) * 2020-10-27 2021-03-19 百果园技术(新加坡)有限公司 项目开发中模块的独立化实现方法、装置、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080102B2 (en) * 2019-03-13 2021-08-03 Michael Changcheng Chen System and method for developing modularized application
CN111367510B (zh) * 2020-02-24 2024-03-19 腾讯音乐娱乐科技(深圳)有限公司 一种安卓功能模块开发的方法及装置
CN113377342B (zh) * 2020-02-25 2024-01-19 南昌节点汇智科技有限公司 一种项目构建方法、装置、电子设备及存储介质
CN114911471A (zh) * 2022-04-02 2022-08-16 苏州万店掌网络科技有限公司 一种软件工程构建方法、系统及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795080A (zh) * 2019-10-21 2020-02-14 山东舜知信息科技有限公司 一种基于数据库注释的代码自动生成系统及构建方法
CN112527306A (zh) * 2020-10-27 2021-03-19 百果园技术(新加坡)有限公司 项目开发中模块的独立化实现方法、装置、设备及介质

Also Published As

Publication number Publication date
CN115981614A (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN106559438B (zh) 一种基于目标网络平台的程序上传方法和装置
US7640542B2 (en) Managing midlet suites in OSGI environment
US8856805B2 (en) Virtual channel for embedded process communication
CN109918055B (zh) 一种应用程序的生成方法及设备
CN105490860A (zh) 部署应用程序运行环境的方法、装置及系统
CN110321131B (zh) 业务组件打包方法、系统及服务器
CN106569880B (zh) 一种Android应用间动态共享资源的方法及系统
US20070282801A1 (en) Dynamically creating and executing an application lifecycle management operation
US20070083925A1 (en) Method for improving bundle control in an OSGi environment
US20060074952A1 (en) System and method to enable platform personality migration
EP4310667A1 (en) Ai application deployment method, and related platform, cluster, medium and program product
CA3167549A1 (en) Method and apparatus for authority control, computer device and storage medium
CN113835713B (zh) 源码包下载方法、装置、计算机设备和存储介质
CN108268261B (zh) 一种智能终端的ui定制方法、存储介质及智能终端
CN113467790A (zh) 软件打包方法、装置及可读存储介质
CN115981614B (zh) 项目工程的模块化处理方法、电子设备及计算机存储介质
CN113448793A (zh) 一种兼容多操作系统的系统监控方法及装置
CN116755788A (zh) 一种线上规则修改方法、装置、设备及存储介质
CN110806891A (zh) 嵌入式设备软件版本的生成方法及装置
CN116540994A (zh) React项目配置化生成路由的方法、控制装置及存储介质
JP6001199B2 (ja) アンドロイドアプリケーションのタイゼン導入可能パッケージ自動変換方法及びこのためのコンピュータ読み取り可能な記録媒体
CN106778270B (zh) 一种恶意应用程序的检测方法及系统
CN111290740B (zh) 应用程序的开发方法、装置、计算机设备和存储介质
WO2019157891A1 (zh) 应用安装方法、应用安装包的生成方法
CN114281341A (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