CN115469873A - 安卓系统下的编译方法、终端和管理系统平台 - Google Patents

安卓系统下的编译方法、终端和管理系统平台 Download PDF

Info

Publication number
CN115469873A
CN115469873A CN202110655241.XA CN202110655241A CN115469873A CN 115469873 A CN115469873 A CN 115469873A CN 202110655241 A CN202110655241 A CN 202110655241A CN 115469873 A CN115469873 A CN 115469873A
Authority
CN
China
Prior art keywords
plug
compiling
script
terminal
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
CN202110655241.XA
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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202110655241.XA priority Critical patent/CN115469873A/zh
Priority to PCT/CN2022/093332 priority patent/WO2022257710A1/zh
Publication of CN115469873A publication Critical patent/CN115469873A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种安卓系统下的编译方法、终端、管理系统平台、计算机设备和可读存储介质,编译方法用于终端,包括:在运行内存中加载待编译工程对应的脚本文件,以在运行内存中构建脚本文件对应的映射文件;运行与脚本文件相关联的插件;接收第一输入,并接收管理系统平台发送的配置文件;通过插件,根据第一输入和配置文件中的一者或多者,确定第一编译数据;通过第一编译数据,对映射文件进行修改,以通过修改后的映射文件对待编译工程进行编译。本发明提出的方法解决了平台和开发人员同时修改工程依赖时造成冲突的问题。

Description

安卓系统下的编译方法、终端和管理系统平台
技术领域
本发明涉及编译领域,具体而言,涉及一种安卓系统下的编译方法、终端、管理系统平台、计算机设备和可读存储介质。
背景技术
在相关技术中,构建安卓工程需要使用如Gradle脚本进行,在构建过程中,如果需要修改构建参数和工程依赖,则必须要对Gradle脚本的文件本体进行修改,因此当平台和开发人员都对Gradle脚本的文件进行修改时,就会出现互相影响,造成冲突。因此,如何在不修改脚本文件的情况下修改构建参数和工程依赖,是亟待解决的技术问题。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的修改构建参数和工程依赖时必须修改脚本文件的技术问题。
为此,本发明的第一方面提出了一种安卓系统下的编译方法。
本发明的第二方面提出了一种终端。
本发明的第三方面提出了一种编译方法。
本发明的第四方面提出了一种管理系统平台。
本发明的第五方面提出了一种计算机设备。
本发明的第六方面提出了一种可读存储介质。
有鉴于此,根据本发明的第一方面,提出了一种安卓系统下的编译方法,用于终端,包括:在运行内存中加载待编译工程对应的脚本文件,以在运行内存中构建脚本文件对应的映射文件;运行与脚本文件相关联的插件;接收第一输入,并接收管理系统平台发送的配置文件;通过插件,根据第一输入和配置文件中的一者或多者,确定第一编译数据;通过第一编译数据,对映射文件进行修改,以通过修改后的映射文件对待编译工程进行编译。
本发明提出的编译方法,首先将与待编译工程对应的脚本加载到运行内存中,使该脚本能够运行,其中,该脚本是编译脚本,能够编译待编译工程,加载脚本后,在运行内存中生成与该脚本对应的映射文件,之后运行与脚本相关联的插件,该插件能够修改脚本在运行内存中生成的映射文件。然后分别接收研发人员在终端输入的第一输入,以及管理系统平台发送的配置文件,其中,第一输入和配置文件均包含待编译工程的工程依赖的信息。通过插件,根据第一输入和配置文件或二者中的一个,能够确定第一编译数据,第一编译数据包含了最终确定的工程依赖的信息,最后根据第一编译数据对映射文件进行修改,使映射文件中包含最终确定的工程依赖的信息,通过修改后的映射文件对待编译工程进行编译,此时待编译工程的工程依赖即为最终确定的工程依赖。本发明提出的编译方法,当需要修改工程依赖时,直接修改脚本在内存中的映射,达到在不修改脚本的前提下修改工程依赖的效果,有效解决了现有技术中平台和研发人员同时修改编译脚本导致冲突的问题,避免由于冲突导致编译失败,提高了开发效率。
另外,根据本发明上述技术方案提出的安卓系统下的编译方法,还可以具有以下技术特征:
在一种可能的设计中,脚本为Gradle脚本,插件为Gradle插件。
在该设计中,Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开元工具,支持传递性依赖管理,而不需要远程仓库或者pom.xml和ivy.xml配置文件,能够构建安卓工程。本发明中的脚本为Gradle脚本,插件为Gradle插件,也就是基于Gradle框架编写的脚本和插件,其中Gradle脚本能够编译待编译的安卓工程,而Gradle插件能够修改Gradle脚本在内存中的映射。Gradle插件可以自主编写,并且能够在不同的工程之间复用,提高了开发效率。
在一种可能的设计中,接收第一输入,包括:在插件处于运行状态的情况下,通过插件接收第一输入。
在该设计中,接收第一输入的步骤具体包括,在插件处于运行状态的情况下,通过插件接收第一输入。也就是首先将与脚本相关联的插件加载到运行内存中,并使该插件运行,当插件对应的进程运行时,能够通过插件接收来自终端的第一输入,进而根据接收到的第一输入及配置文件确定第一编译数据,以修改脚本在运行内存中的映射。
根据本发明的第二方面,提出了一种终端,用于安卓系统下的编译,包括:运行单元,用于在运行内存中加载待编译工程对应的脚本文件,以在运行内存中构建脚本文件对应的映射文件;运行单元还用于,运行与脚本文件相关联的插件;终端接收单元,用于接收第一输入,并接收管理系统平台发送的配置文件;编译单元,用于通过插件,根据第一输入和配置文件中的一者或多者,确定第一编译数据;编译单元还用于,通过第一编译数据,对映射文件进行修改,以通过修改后的映射文件对待编译工程进行编译。
具体地,终端包括运行单元、终端接收单元和编译单元,运行单元能够将与待编译工程对应的脚本加载到运行内存中,使该脚本能够运行,其中,该脚本是编译脚本,能够编译待编译工程,加载脚本后,在运行内存中生成与该脚本对应的映射文件,运行单元还能够运行与脚本相关联的插件,该插件能够修改脚本在运行内存中生成的映射文件。接收单元能够分别接收研发人员在终端输入的第一输入,以及管理系统平台发送的配置文件,其中,第一输入和配置文件均包含待编译工程的工程依赖的信息。通过插件,根据第一输入和配置文件或二者中的一个,编译单元能够确定第一编译数据,第一编译数据包含了最终确定的工程依赖的信息,最后编译单元能够根据第一编译数据对映射文件进行修改,使映射文件中包含最终确定的工程依赖的信息,通过修改后的映射文件对待编译工程进行编译,此时待编译工程的工程依赖即为最终确定的工程依赖。本发明提出的终端,用于安卓系统下的编译,当需要修改工程依赖时,直接修改脚本在内存中的映射,达到在不修改脚本的前提下修改工程依赖的效果,有效解决了现有技术中平台和研发人员同时修改编译脚本导致冲突的问题,避免由于冲突导致编译失败,提高了开发效率。
另外,根据本发明上述技术方案提出的终端,还可以具有以下技术特征:
在一种可能的设计中,脚本为Gradle脚本,插件为Gradle插件。
在该设计中,Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开元工具,支持传递性依赖管理,而不需要远程仓库或者pom.xml和ivy.xml配置文件,能够构建安卓工程。本发明中的脚本为Gradle脚本,插件为Gradle插件,也就是基于Gradle框架编写的脚本和插件,其中Gradle脚本能够编译待编译的安卓工程,而Gradle插件能够修改Gradle脚本在内存中的映射。Gradle插件可以自主编写,并且能够在不同的工程之间复用,提高了开发效率。
在一种可能的设计中,终端接收单元在插件处于运行状态的情况下,通过插件接收第一输入。
在该设计中,终端接收单元在插件处于运行状态的情况下,通过插件接收第一输入。也就是首先由运行单元将与脚本相关联的插件加载到运行内存中,并使该插件运行,当插件对应的进程运行时,终端接收单元能够通过插件接收来自终端的第一输入,进而使编译单元根据接收到的第一输入及配置文件确定第一编译数据,以修改脚本在运行内存中的映射。
根据本发明的第三方面,提出了一种安卓系统下的编译方法,用于管理系统平台,包括:在终端的运行内存中构建有脚本文件对应的映射文件的情况下,读取运行内存中的插件;接收第二输入;根据第二输入确定第二编译数据;根据第二编译数据生成插件对应的配置文件;将配置文件发送至终端,以使终端通过插件根据配置文件获取第二编译数据,并通过第二编译数据对映射文件进行修改。
具体地,本发明第三方面提出的编译方法,用于管理系统平台,当终端的运行内存中构建有脚本文件对应的映射文件时,也就是在终端的脚本文件被加载到内存中的情况下,插件也加载到内存中,此时读取运行内存中的插件。接收来自平台的第二输入并根据第二输入确定第二编译数据,其中第二编译数据包含了在系统管理平台端修改的待编译工程的工程依赖的信息,然后根据第二编译数据生成所读取的插件对应的配置文件,并将生成的配置文件发送至终端,以使终端能够根据配置文件获取第二编译数据,并根据第一输入以及由配置文件获取的第二编译数据对脚本对应的映射文件进行修改。
根据本发明的第四方面,提出了一种管理系统平台,包括:读取单元,用于在终端的运行内存中构建有脚本文件对应的映射文件的情况下,读取运行内存中的插件;平台接收单元,用于接收第二输入;构建单元,用于根据第二输入确定第二编译数据;构建单元还用于根据第二编译数据生成插件对应的配置文件;发送单元,用于将配置文件发送至终端,以使终端通过插件根据配置文件获取第二编译数据,并通过第二编译数据对映射文件进行修改。
具体地,管理系统平台包括读取单元、平台接收单元、构建单元和发送单元,其中当终端的运行内存中构建有脚本文件对应的映射文件时,也就是在终端的脚本文件被加载到内存中的情况下,插件也加载到内存中,此时读取单元能够读取运行内存中的插件。而平台接收单元能够接收来自平台的第二输入,构建单元根据第二输入确定第二编译数据,其中第二编译数据包含了在系统管理平台端修改的待编译工程的工程依赖的信息,然后根据第二编译数据生成所读取的插件对应的配置文件,最后由发送单元将生成的配置文件发送至终端,以使终端能够根据配置文件获取第二编译数据,并根据第一输入以及由配置文件获取的第二编译数据对脚本对应的映射文件进行修改。
根据本发明的第五方面,提供了一种计算机设备,包括处理器和存储器,处理器用于执行存储器中存储的程序或指令时实现如上述第一方面或第三方面的任一设计的编译方法的推荐方法的步骤,因而具备该编译方法的全部有益效果,在此不再赘述。
根据本发明的第六方面,提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述第一方面或第三方面的任一设计的编译方法的步骤,因而具备该编译方法的全部有益效果,在此不再赘述。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明第一方面的一个实施例的编译方法的流程示意图;
图2示出了本发明第二方面的一个实施例的终端的结构示意图;
图3示出了本发明第三方面的一个实施例的编译方法的流程示意图;
图4示出了本发明第四方面的一个实施例的管理系统平台的结构示意图;
图5示出了本发明第二方面的终端和第四方面的管理系统平台的交互示意图;
图6示出了本发明第五方面的一个实施例的计算机设备的结构示意图。其中,图2、图4和图6中附图标记与部件名称之间的对应关系为:
100终端,110运行单元,120终端接收单元,130编译单元,200管理系统平台,210读取单元,220平台接收单元,230构建单元,240发送单元,300计算机设备,310处理器,320存储器。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本发明第一方面的实施例,提出一种安卓系统下的编译方法,用于终端100,图1示出了本发明第一方面的一个实施例的编译方法的流程示意图。其中,该方法包括:
S101,在运行内存中加载待编译工程对应的脚本文件,以在运行内存中构建脚本文件对应的映射文件;
S102,运行与脚本文件相关联的插件;
S103,接收第一输入,并接收管理系统平台发送的配置文件;
S104,通过插件,根据第一输入和配置文件中的一者或多者,确定第一编译数据;
S105,通过第一编译数据,对映射文件进行修改,以通过修改后的映射文件对待编译工程进行编译。
本发明实施例提出的编译方法,首先将与待编译工程对应的脚本加载到运行内存中,使该脚本能够运行,其中,该脚本是编译脚本,能够编译待编译工程,加载脚本后,在运行内存中生成与该脚本对应的映射文件,之后运行与脚本相关联的插件,该插件能够修改脚本在运行内存中生成的映射文件。然后分别接收研发人员在终端100输入的第一输入,以及管理系统平台200发送的配置文件,其中,第一输入和配置文件均包含待编译工程的工程依赖的信息。通过插件,根据第一输入和配置文件或二者中的一个,能够确定第一编译数据,第一编译数据包含了最终确定的工程依赖的信息,最后根据第一编译数据对映射文件进行修改,使映射文件中包含最终确定的工程依赖的信息,通过修改后的映射文件对待编译工程进行编译,此时待编译工程的工程依赖即为最终确定的工程依赖。本发明提出的编译方法,当需要修改工程依赖时,直接修改脚本在内存中的映射,达到在不修改脚本的前提下修改工程依赖的效果,有效解决了现有技术中平台和研发人员同时修改编译脚本导致冲突的问题,避免由于冲突导致编译失败,提高了开发效率。
在一些实施例中,脚本为Gradle脚本,插件为Gradle插件。
在该实施例中,Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开元工具,支持传递性依赖管理,而不需要远程仓库或者pom.xml和ivy.xml配置文件,能够构建安卓工程。本发明中的脚本为Gradle脚本,插件为Gradle插件,也就是基于Gradle框架编写的脚本和插件,其中Gradle脚本能够编译待编译的安卓工程,而Gradle插件能够修改Gradle脚本在内存中的映射。Gradle插件可以自主编写,并且能够在不同的工程之间复用,提高了开发效率。
在一些实施例中,接收第一输入,包括:在插件处于运行状态的情况下,通过插件接收第一输入。
在该实施例中,接收第一输入的步骤具体包括,在插件处于运行状态的情况下,通过插件接收第一输入。也就是首先将与脚本相关联的插件加载到运行内存中,并使该插件运行,当插件对应的进程运行时,能够通过插件接收来自终端100的第一输入,进而根据接收到的第一输入及配置文件确定第一编译数据,以修改脚本在运行内存中的映射。
如图2所示,本发明的第二方面提出了一种终端100,用于安卓系统下的编译,包括:运行单元110,用于在运行内存中加载待编译工程对应的脚本文件,以在运行内存中构建脚本文件对应的映射文件;运行单元110还用于,运行与脚本文件相关联的插件;终端接收单元120,用于接收第一输入,并接收管理系统平台200发送的配置文件;编译单元130,用于通过插件,根据第一输入和配置文件中的一者或多者,确定第一编译数据;编译单元130还用于,通过第一编译数据,对映射文件进行修改,以通过修改后的映射文件对待编译工程进行编译。
本发明实施例提出的终端100包括运行单元110、终端接收单元120和编译单元130,运行单元110能够将与待编译工程对应的脚本加载到运行内存中,使该脚本能够运行,其中,该脚本是编译脚本,能够编译待编译工程,加载脚本后,在运行内存中生成与该脚本对应的映射文件,运行单元110还能够运行与脚本相关联的插件,该插件能够修改脚本在运行内存中生成的映射文件。接收单元能够分别接收研发人员在终端100输入的第一输入,以及管理系统平台200发送的配置文件,其中,第一输入和配置文件均包含待编译工程的工程依赖的信息。通过插件,根据第一输入和配置文件或二者中的一个,编译单元130能够确定第一编译数据,第一编译数据包含了最终确定的工程依赖的信息,最后编译单元130能够根据第一编译数据对映射文件进行修改,使映射文件中包含最终确定的工程依赖的信息,通过修改后的映射文件对待编译工程进行编译,此时待编译工程的工程依赖即为最终确定的工程依赖。本发明提出的终端100,用于安卓系统下的编译,当需要修改工程依赖时,直接修改脚本在内存中的映射,达到在不修改脚本的前提下修改工程依赖的效果,有效解决了现有技术中平台和研发人员同时修改编译脚本导致冲突的问题,避免由于冲突导致编译失败,提高了开发效率。
另外,根据本发明上述技术方案提出的终端100,还可以具有以下技术特征:
在一些实施例中,脚本为Gradle脚本,插件为Gradle插件。
在该实施例中,Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开元工具,支持传递性依赖管理,而不需要远程仓库或者pom.xml和ivy.xml配置文件,能够构建安卓工程。本发明中的脚本为Gradle脚本,插件为Gradle插件,也就是基于Gradle框架编写的脚本和插件,其中Gradle脚本能够编译待编译的安卓工程,而Gradle插件能够修改Gradle脚本在内存中的映射。Gradle插件可以自主编写,并且能够在不同的工程之间复用,提高了开发效率。
在一些实施例中,终端接收单元120在插件处于运行状态的情况下,通过插件接收第一输入。
在该实施例中,终端接收单元120在插件处于运行状态的情况下,通过插件接收第一输入。也就是首先由运行单元110将与脚本相关联的插件加载到运行内存中,并使该插件运行,当插件对应的进程运行时,终端接收单元120能够通过插件接收来自终端100的第一输入,进而使编译单元130根据接收到的第一输入及配置文件确定第一编译数据,以修改脚本在运行内存中的映射。
本发明的第三方面提出了一种安卓系统下的编译方法,用于管理系统平台200,包括:在终端100的运行内存中构建有脚本文件对应的映射文件的情况下,读取运行内存中的插件;接收第二输入;根据第二输入确定第二编译数据;根据第二编译数据生成插件对应的配置文件;将配置文件发送至终端100,以使终端100通过插件根据配置文件获取第二编译数据,并通过第二编译数据对映射文件进行修改。
图3示出了本发明第三方面的一个实施例的编译方法的流程示意图。
其中,该方法包括:
S301,在终端的运行内存中构建有脚本文件对应的映射文件的情况下,读取运行内存中的插件;
S302,接收第二输入;
S303,根据第二输入确定第二编译数据;
S304,根据第二编译数据生成插件对应的配置文件;
S305,将配置文件发送至终端,以使终端通过插件根据配置文件获取第二编译数据,并通过第二编译数据对映射文件进行修改。
具体地,本发明第三方面提出的编译方法,用于管理系统平台200,当终端100的运行内存中构建有脚本文件对应的映射文件时,也就是在终端100的脚本文件被加载到内存中的情况下,插件也加载到内存中,此时读取运行内存中的插件。接收来自平台的第二输入并根据第二输入确定第二编译数据,其中第二编译数据包含了在系统管理平台端修改的待编译工程的工程依赖的信息,然后根据第二编译数据生成所读取的插件对应的配置文件,并将生成的配置文件发送至终端100,以使终端100能够根据配置文件获取第二编译数据,并根据第一输入以及由配置文件获取的第二编译数据对脚本对应的映射文件进行修改。
如图4所示,本发明的第四方面提出了一种管理系统平台200,包括:读取单元210,用于在终端100的运行内存中构建有脚本文件对应的映射文件的情况下,读取运行内存中的插件;平台接收单元220,用于接收第二输入;构建单元230,用于根据第二输入确定第二编译数据;构建单元230还用于根据第二编译数据生成插件对应的配置文件;发送单元240,用于将配置文件发送至终端100,以使终端100通过插件根据配置文件获取第二编译数据,并通过第二编译数据对映射文件进行修改。
具体地,管理系统平台200包括读取单元210、平台接收单元220、构建单元230和发送单元240,其中当终端100的运行内存中构建有脚本文件对应的映射文件时,也就是在终端100的脚本文件被加载到内存中的情况下,插件也加载到内存中,此时读取单元210能够读取运行内存中的插件。而平台接收单元220能够接收来自平台的第二输入,构建单元230根据第二输入确定第二编译数据,其中第二编译数据包含了在系统管理平台端修改的待编译工程的工程依赖的信息,然后根据第二编译数据生成所读取的插件对应的配置文件,最后由发送单元240将生成的配置文件发送至终端100,以使终端100能够根据配置文件获取第二编译数据,并根据第一输入以及由配置文件获取的第二编译数据对脚本对应的映射文件进行修改。
图5示出了本发明第二方面的终端100和第四方面的管理系统平台200的交互示意图,如图所示,管理系统平台200能够接收修改配置的输入,其中个,修改配置包括对第二编译数据,读取在内存中运行的Gradle插件,并根据读取到的Gradle插件将修改配置写入安卓工程的配置文件并发送至终端100使终端能够通过读取配置文件而获取第二编译数据;在终端100进行编译操作,首先将Gradle脚本和Gradle插件加载到内存中,在Gradle插件处于运行状态的情况下,接收来自管理系统平台200的配置文件以获取第二编译数据,并且接收研发人员在终端输入的第一输入,根据第一输入和第二编译数据中的一个或多个,确定第一编译数据,根据第一编译数据修改Gradle脚本在内存中的映射并完成编译过程,通过修改Gradle脚本在内存中的映射而不是修改脚本的方式,避免了在管理系统平台200和终端100同时修改Gradle脚本导致冲突的问题。
如图6所示,本发明第五方面的实施例提出了一种计算机设备300,包括处理器310和存储器320,处理器310用于执行存储器320中存储的程序或指令时实现如上述第一方面或第三方面的任一设计的编译方法的推荐方法的步骤,因而具备该编译方法的全部有益效果,在此不再赘述。
本发明第六方面的实施例提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器310执行时实现如上述第一方面或第三方面的任一实施例的编译方法的步骤,因而具备该编译方法的全部有益效果,在此不再赘述。可读存储介质可以包括能够存储或传输信息的任何介质。可读存储介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的网络被下载。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者计算机设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者计算机设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者计算机设备中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和计算机设备的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种安卓系统下的编译方法,用于终端,其特征在于,包括:
在运行内存中加载待编译工程对应的脚本文件,以在所述运行内存中构建所述脚本文件对应的映射文件;
运行与所述脚本文件相关联的插件;
接收第一输入,并接收管理系统平台发送的配置文件;
通过所述插件,根据所述第一输入和所述配置文件中的一者或多者,确定第一编译数据;
通过所述第一编译数据,对所述映射文件进行修改,以通过修改后的所述映射文件对所述待编译工程进行编译。
2.根据权利要求1所述的编译方法,其特征在于:
所述脚本为Gradle脚本;
所述插件为Gradle插件。
3.根据权利要求1所述的编译方法,其特征在于,所述接收第一输入,包括:
在所述插件处于运行状态的情况下,通过所述插件接收所述第一输入。
4.一种终端,用于安卓系统下的编译,其特征在于,所述终端包括:
运行单元,用于在运行内存中加载待编译工程对应的脚本文件,以在所述运行内存中构建所述脚本文件对应的映射文件;
所述运行单元还用于,运行与所述脚本文件相关联的插件;
终端接收单元,用于接收第一输入,并接收管理系统平台发送的配置文件;
编译单元,用于通过所述插件,根据所述第一输入和所述配置文件中的一者或多者,确定第一编译数据;
所述编译单元还用于,通过所述第一编译数据,对所述映射文件进行修改,以通过修改后的所述映射文件对所述待编译工程进行编译。
5.根据权利要求4所述的编译终端,其特征在于:
所述脚本为Gradle脚本;
所述插件为Gradle插件。
6.根据权利要求4所述的编译终端,其特征在于:
所述终端接收单元在所述插件处于运行状态的情况下,通过所述插件接收所述第一输入。
7.一种安卓系统下的编译方法,用于管理系统平台,其特征在于,包括:
在终端的运行内存中构建有脚本文件对应的映射文件的情况下,读取所述运行内存中的插件;
接收第二输入;
根据所述第二输入确定第二编译数据;
根据所述第二编译数据生成所述插件对应的配置文件;
将所述配置文件发送至所述终端,以使所述终端通过所述插件根据所述配置文件获取所述第二编译数据,并通过所述第二编译数据对所述映射文件进行修改。
8.一种管理系统平台,其特征在于,所述管理系统平台包括:
读取单元,用于在终端的运行内存中构建有脚本文件对应的映射文件的情况下,读取所述运行内存中的插件;
平台接收单元,用于接收第二输入;
构建单元,用于根据第二输入确定第二编译数据;
所述构建单元还用于根据所述第二编译数据生成所述插件对应的配置文件;
发送单元,用于将所述配置文件发送至所述终端,以使所述终端通过所述插件根据所述配置文件获取所述第二编译数据,并通过所述第二编译数据对所述映射文件进行修改。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述处理器用于执行存储器中存储的程序或指令时实现如权利要求1至3、7中任意一项所述编译方法的步骤。
10.一种可读存储介质,其上存储有程序或指令,其特征在于:所述程序或指令被处理器执行时实现如权利要求1至3、7中任意一项所述编译方法的步骤。
CN202110655241.XA 2021-06-11 2021-06-11 安卓系统下的编译方法、终端和管理系统平台 Pending CN115469873A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110655241.XA CN115469873A (zh) 2021-06-11 2021-06-11 安卓系统下的编译方法、终端和管理系统平台
PCT/CN2022/093332 WO2022257710A1 (zh) 2021-06-11 2022-05-17 安卓系统下的编译方法、终端和管理系统平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110655241.XA CN115469873A (zh) 2021-06-11 2021-06-11 安卓系统下的编译方法、终端和管理系统平台

Publications (1)

Publication Number Publication Date
CN115469873A true CN115469873A (zh) 2022-12-13

Family

ID=84364582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110655241.XA Pending CN115469873A (zh) 2021-06-11 2021-06-11 安卓系统下的编译方法、终端和管理系统平台

Country Status (2)

Country Link
CN (1) CN115469873A (zh)
WO (1) WO2022257710A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541058A (zh) * 2023-04-12 2023-08-04 浙江优创信息技术有限公司 一种软件开发配置参数的管理系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204340A1 (en) * 2004-03-10 2005-09-15 Ruminer Michael D. Attribute-based automated business rule identifier and methods of implementing same
US20160154673A1 (en) * 2014-07-23 2016-06-02 Sitting Man, Llc Methods, systems, and computer program products for providing a minimally complete operating environment
US10146515B1 (en) * 2015-03-10 2018-12-04 Twitter, Inc. Live code updates
CN105607941A (zh) * 2015-11-25 2016-05-25 上海斐讯数据通信技术有限公司 一种安卓项目中配置编译的装置和方法
CN106250178B (zh) * 2016-07-26 2019-10-25 北京北森云计算股份有限公司 通过多语言云编译实现系统动态功能在线拦截扩展的方法
US20180107478A1 (en) * 2016-10-13 2018-04-19 Microsoft Technology Licensing, Llc Coding filter for shared source code
CN110347399B (zh) * 2019-05-31 2023-06-06 深圳绿米联创科技有限公司 数据处理方法、实时计算系统以及信息系统

Also Published As

Publication number Publication date
WO2022257710A1 (zh) 2022-12-15

Similar Documents

Publication Publication Date Title
CN109933348B (zh) 一种电子控制单元中Bootloader的更新方法和装置
US10642607B2 (en) Determination apparatus and determination method
CN107391104B (zh) 一种客户端与react native代码的更新依赖管理方法、装置及系统
CN110673853B (zh) 一种编译方法、装置及系统
CN113050929B (zh) 一种基于Hyperledger Fabric的智能合约开发运维一体化平台
CN103186463B (zh) 确定软件的测试范围的方法和系统
CN112148278A (zh) 可视化的区块链智能合约框架及智能合约开发部署方法
CN113312046A (zh) 子应用页面处理方法、装置和计算机设备
CN102955698A (zh) 基于多终端的软件开发的处理方法和装置
CN113238795A (zh) 组件发布方法、装置、电子设备、存储介质及程序产品
CN112015371B (zh) 一种非嵌入式软件平台下的软件开发装置
US11481245B1 (en) Program inference and execution for automated compilation, testing, and packaging of applications
CN111752841A (zh) 单测模拟方法、装置、设备与计算机可读存储介质
CN115469873A (zh) 安卓系统下的编译方法、终端和管理系统平台
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN114490103A (zh) 一种操作系统接口调用方法、装置以及电子设备
CN116893960A (zh) 代码质量检测方法、装置、计算机设备和存储介质
CN115826958A (zh) 运行环境动态管理的在线算法开发方法、系统及设备
CN116643728A (zh) 一种软件构建方法、计算机可读存储介质及电子设备
CN114816418A (zh) 一种嵌入式操作系统的搭建方法、装置、设备和介质
CN115509545A (zh) 一种ios应用的打包构建方法及装置
CN114816475A (zh) 一种嵌入式操作系统的更新方法、装置、设备和介质
CN113535138B (zh) 软件项目打包方法及相关设备
CN113934405A (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