CN111966357A - 一种操作系统应用编译方法、装置及电子设备 - Google Patents
一种操作系统应用编译方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111966357A CN111966357A CN201910418759.4A CN201910418759A CN111966357A CN 111966357 A CN111966357 A CN 111966357A CN 201910418759 A CN201910418759 A CN 201910418759A CN 111966357 A CN111966357 A CN 111966357A
- Authority
- CN
- China
- Prior art keywords
- operating system
- file
- compiling
- development project
- system application
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000003068 static effect Effects 0.000 claims abstract description 104
- 238000004590 computer program Methods 0.000 claims description 14
- 230000001419 dependent effect Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 12
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/48—Incremental compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种操作系统应用编译方法、装置及电子设备,涉及计算机领域,能够解决使用makefile编译方式对操作系统应用开发项目进行编译时,编译效率低的问题。本发明的方法主要包括:在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种操作系统应用编译方法、装置及电子设备。
背景技术
随着计算机技术的快速发展,各式各样的智能终端进入人们的日常生活中。随着智能终端的普及,智能终端的操作系统也得到了快速发展。各个终端厂商对自己的产品进行开发时,通常需要开发终端相应的操作系统应用。
由于在源码环境下进行操作系统应用的开发过程中需要使用到很多软件开发工具包中不开放、系统新增自定义的应用程序编程接口API,因此现有技术中源码环境下进行操作系统应用的开发通常采用makefile编译方式。而使用makefile对操作系统应用开发项目进行编译时,与该开发项目依赖的其他项目也会一起编译,编译效率低。
发明内容
本发明涉及一种操作系统应用编译方法,以解决使用makefile编译方式对操作系统应用开发项目进行编译时,编译效率低的问题。
第一方面,本发明提供了一种操作系统应用编译方法,所述方法包括:
在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
第二方面,本发明提供了一种操作系统应用编译装置,包括:
添加模块,用于在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
复制模块,用于将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
预编译模块,用于使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
第三方面,本发明提供了一种车机终端操作系统应用编译装置,应用于具有安卓操作系统的车机终端,所述车机终端操作系统应用编译装置包括:
添加模块,用于在所述车机终端操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
复制模块,用于将所述配置项依赖的静态库文件复制到所述车机终端操作系统应用开发项目的目录下,所述静态库文件为所述车机终端操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
预编译模块,用于使用预编译方式对所述车机终端操作系统应用开发项目的目录下的静态库文件进行依赖。
第四方面,本发明提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的操作系统应用编译方法中的步骤。
第五方面,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的操作系统应用编译方法中的步骤。
本发明实施例,在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。由此可知,本发明采用gradle编译方式对操作系统应用进行编译,提高了编译的效率。
附图说明
为了更清楚地说明本申请的实施例的技术方案,下面将对本申请的实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。
图1表示本发明实施例提供的一种操作系统应用编译方法的流程图;
图2表示本发明实施例提供的另一种操作系统应用编译方法的流程图;
图3表示本发明实施例提供的一种操作系统应用编译方装置的结构图;
图4表示本发明实施例提供的另一种操作系统应用编译方装置的结构图;
图5表示本发明实施例提供的另一种操作系统应用编译方装置的结构图;
图6表示本发明实施例提供的一种车机终端操作系统应用编译方装置的结构图;
图7表示本发明实施例提供的另一种车机终端操作系统应用编译方装置的结构图;
图8表示本发明实施例提供的另一种车机终端操作系统应用编译方装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1是本发明实施例提供的一种操作系统应用编译方法的流程图,如图1所示,包括以下步骤:
步骤101,在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
可选的,所述操作系统可以是安卓操作。以安卓操作系统为例,gradle是一种基于groovy的特定领域语言(DSL)编写的一种自动化建构工具,groovy作为一种高级语言由Java代码实现。在安卓第三方应用项目的开发过程中,通常使用gradle作为编译方法。
具体的,在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项可以包括:
首先在项目开发工具例如Android Studio新建一个操作系统应用开发项目。在所述操作系统应用开发项目目录下的默认gradle配置文件的配置列表中添加一个配置项。所述配置项可以是一个自定义的标识,定义所述配置项可以绕过安卓gradle插件的权限,从而可以执行后续复制操作。
示例性的,在Android Studio中新建Android项目,在App目录下gradle配置文件中的configurations(配置列表)添加一个配置项:systemAppApi。
步骤102,将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
需要说明的是,通常在软件项目开发过程中,在执行一些操作或功能时需要依赖其他的操作或功能才能实现,这种就是软件项目开发中的依赖。
具体的,可以通过在所述操作系统应用开发项目目录下的默认gradle配置文件的配置列表中添加一个复制任务,通过执行所述复制任务从而将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件。
示例性的,在App目录下gradle配置文件中添加一个任务copyDependencies。任务(Task)的功能是根据dependencies(依赖表)复制出systemAppApi依赖的java静态库文件到指定的目录中。
步骤103,使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
所述预编译方式可以是CompileOnly方式。具体的,可以使用CompileOnly方式将操作所述操作系统应用开发项目的目录下的静态库文件与所述操作系统应用开发项目的目录下的其他文件建立依赖关系,从而避免gradle重复依赖。
本发明实施例,在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
示例性的,在App目录下gradle配置文件中添加一个任务(Task)copyDependencies。任务(Task)的功能是根据dependencies(依赖表)复制出systemAppApi依赖的java静态库文件到指定的目录中。
在App目录下gradle配置文件dependencies(依赖表)中根据system_api.properties添加上传到Maven库到对应依赖Java静态库的路径,使用compileOnly的方式进行依赖。
由此可知,本发明采用gradle编译方式对操作系统应用进行编译,提高了编译的效率。
请参见图2,图2是本发明实施例提供的另一种操作系统应用编译方法的流程图,如图2所示,包括以下步骤:
步骤201,编译所述操作系统应用开发项目的源码;
具体的,在开发操作系统应用时,编译整个操作系统应用开发项目的源码,生成相应的编译文件。
步骤202,获取编译后的所述操作系统应用开发项目的第一配置文件;其中,所述第一配置文件根据所述不开放的应用程序接口生成,所述第一配置文件包括所述不开放的应用程序接口的项目信息;
具体的,在开发操作系统应用时,软件开发工具包中有部分应用程序接口API是不开放权限的,根据这些不开放权限的应用程序接口API生成所述第一配置文件。所述项目信息可以包括不开放权限的应用程序接口API在源码中的项目名称、版本号等。在编译完整个操作系统应用开发项目的源码后,可以根据整个源码的编译文件读取所述操作系统应用开发项目的第一配置文件。
步骤203,根据所述第一配置文件生成对应的所述静态库文件。
其中,所述静态库文件可以是根据第一配置文件生成的Java静态依赖库。
可选的,在所述根据所述第一配置文件生成对应的所述静态库文件之后,还包括:将所述静态库文件上传到第一依赖库中。
示例性的,在开发Android系统应用时,先确定需要哪些Android SDK(软件开发工具包)中不开放的API,并形成system_api.properties配置文件。配置文件中包含所需要Android SDK中不开放API所在源码中的项目名称、版本。
编译整个源码,编译完成后读取system_api.properties,根据配置文件获取对应的Java静态依赖库,然后上传到maven仓库中。所述第一依赖库可以是maven仓库,也可以是Jcenter仓库
以上仅是示例性说明书,本发明实施例对此不作具体限定。
步骤204,在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
本实施例中步骤204与本发明第一实施例中的步骤101相同,在此不做赘述。
步骤205,将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
本实施例中步骤205与本发明第一实施例中的步骤102相同,在此不做赘述。
步骤206,使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
可选的,所述使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖包括:
获取所述静态库文件上传到所述第一依赖库中的路径;
将所述路径添加到所述gradle配置文件的配置列表中;
根据所述路径使用所述预编译的方式对所述静态库文件进行依赖。
具体的,预编译方式可以是CompileOnly方式。具体的,可以根据所述路径使用CompileOnly方式将操作所述操作系统应用开发项目的目录下的静态库文件与所述操作系统应用开发项目的目录下的其他文件建立依赖关系。
可选的,所述使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖之后,还包括:
使用所述配置项对开源依赖库进行依赖。
具体的,所述开源依赖库可以是第三方依赖库,例如除第一依赖库外其他操作系统应用开发项目需要使用的依赖库,从而使得开发人员更加方便的通过gradle更加方便的使用开源依赖库。
本发明实施例,通过将所述操作系统应用开发项目的源码下的不开放的应用程序接口进行解耦,能够使用gradle编译方式对操作系统应用进行编译,从而可以使用普通应用的编译方式来编译操作系统应用,提高了编译的效率,并且使得操作系统应用开发项目更加简单、高效、快捷。
可选的,在所述使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖之后,还包括:
根据所述第一配置文件和所述配置项导出所述操作系统应用开发项目的目录文件;所述目录文件包括源码、资源文件和依赖库;
在操作系统源码的目录下使用源码环境对目录文件进行编译。
具体的,可以根据所述第一配置文件、所述配置项分别导出源码、资源文件和依赖库,将所述源码、资源文件和依赖整合成一个目录文件。将整合生成的目录文件提交到操作系统源码的目录下使用源码环境对目录文件进行编译。
示例性的,执行copyDependencies任务,复制出相应的Java静态库文件。根据配置文件system_api.properties、App目录(Android module)gradle配置文件中“systemAppApi”、sourceSet等,导出项目的源码、资源文件、依赖库,并创建makefile。将导出的目录提交到Android系统源码相应的目录下就可以使用源码环境进行编译了。
可选的,还可以使用自定义的Gradle插件直接输出上述目录文件,还可以自动生成对应的makefile文件。
本发明实施例以Gradle编译方式开发完成后,可以直接导出兼容源码环境规范的目录文件,在编译整个操作系统应用开发项目时,使用提前编译好的所述操作系统应用开发项目的目录下的静态库文件,提高了整个操作系统应用开发项目的编译速度,避免每次需要重新编译操作系统应用。
请参见图3,图3是本发明实施例提供的一种操作系统应用编译装置的结构图,如图3所示,操作系统应用编译装置300包括:
添加模块301,用于在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
复制模块302,用于将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
预编译模块303,用于使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
本发明实施例,在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。由此可知,本发明采用gradle编译方式对操作系统应用进行编译,提高了编译的效率。
请参见图4,图4是本发明实施例提供的另一种操作系统应用编译装置的结构图,如图4所示,操作系统应用编译装置300还包括:
第一编译模块304,用于编译所述操作系统应用开发项目的源码;
获取模块305,用于获取编译后的所述操作系统应用开发项目的第一配置文件;所述第一配置文件根据所述不开放的应用程序接口生成,所述第一配置文件包括所述不开放的应用程序接口的项目信息;
生成模块306,用于根据所述第一配置文件生成对应的所述静态库文件。
可选的,操作系统应用编译装置300还包括:
上传模块,用于将所述静态库文件上传到第一依赖库中。
可选的,所述预编译模块303还用于:
获取所述静态库文件上传到所述第一依赖库中的路径;
将所述路径添加到所述gradle配置文件的配置列表中;
根据所述路径使用所述预编译的方式对所述静态库文件进行依赖。
可选的,所述操作系统应用编译装置300还包括:
依赖模块,用于使用所述配置项对开源依赖库进行依赖。
本发明实施例,通过将所述操作系统应用开发项目的源码下的不开放的应用程序接口进行解耦,能够使用gradle编译方式对操作系统应用进行编译,从而可以使用普通应用的编译方式来编译操作系统应用,提高了编译的效率,并且使得操作系统应用开发项目更加简单、高效、快捷。
请参见图5,图5是本发明实施例提供的另一种操作系统应用编译装置的结构图,如图5所示,操作系统应用编译装置300还包括:
导出模块307,用于根据所述第一配置文件和所述配置项导出所述操作系统应用开发项目的目录文件;所述目录文件包括源码、资源文件和依赖库;
第二编译模块308,用于在操作系统源码的目录下使用源码环境对目录文件进行编译。
本发明实施例以Gradle编译方式开发完成后,可以直接导出兼容源码环境规范的目录文件,在编译真整个操作系统应用开发项目时,使用提前编译好的所述操作系统应用开发项目的目录下的静态库文件,提高了整个操作系统应用开发项目的编译速度,避免每次需要重新编译操作系统应用。
请参见图6,图6是本发明实施例提供的一种车机终端操作系统应用编译装置的结构图,所述车机终端操作系统应用编译装置应用于具有安卓操作系统的车机终端,如图6所示,车机终端操作系统应用编译装置600包括:
添加模块601,用于在所述车机终端操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
复制模块602,用于将所述配置项依赖的静态库文件复制到所述车机终端操作系统应用开发项目的目录下,所述静态库文件为所述车机终端操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
预编译模块603,用于使用预编译方式对所述车机终端操作系统应用开发项目的目录下的静态库文件进行依赖。
本发明实施例,在所述车机终端操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;将所述配置项依赖的静态库文件复制到所述车机终端操作系统应用开发项目的目录下,所述静态库文件为所述车机终端操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;使用预编译方式对所述车机终端操作系统应用开发项目的目录下的静态库文件进行依赖。由此可知,本发明采用gradle编译方式对车机终端操作系统应用进行编译,提高了编译的效率。
请参见图7,图7是本发明实施例提供的另一种车机终端操作系统应用编译装置的结构图,如图7所示,车机终端操作系统应用编译装置600还包括:
第一编译模块604,用于编译所述车机终端操作系统应用开发项目的源码;
获取模块605,用于获取编译后的所述车机终端操作系统应用开发项目的第一配置文件;所述第一配置文件根据所述不开放的应用程序接口生成,所述第一配置文件包括所述不开放的应用程序接口的项目信息;
生成模块606,用于根据所述第一配置文件生成对应的所述静态库文件。
可选的,车机终端操作系统应用编译装置600还包括:
上传模块,用于将所述静态库文件上传到第一依赖库中。
可选的,所述预编译模块603还用于:
获取所述静态库文件上传到所述第一依赖库中的路径;
将所述路径添加到所述gradle配置文件的配置列表中;
根据所述路径使用所述预编译的方式对所述静态库文件进行依赖。
可选的,所述车机终端操作系统应用编译装置600还包括:
依赖模块,用于使用所述配置项对开源依赖库进行依赖。
本发明实施例,通过将所述车机终端操作系统应用开发项目的源码下的不开放的应用程序接口进行解耦,能够使用gradle编译方式对车机终端操作系统应用进行编译,从而可以使用普通应用的编译方式来编译车机终端操作系统应用,提高了编译的效率,并且使得车机终端操作系统应用开发项目更加简单、高效、快捷。
请参见图8,图8是本发明实施例提供的另一种车机终端操作系统应用编译装置的结构图,如图8所示,车机终端操作系统应用编译装置600还包括:
导出模块607,用于根据所述第一配置文件和所述配置项导出所述车机终端操作系统应用开发项目的目录文件;所述目录文件包括源码、资源文件和依赖库;
第二编译模块608,用于在操作系统源码的目录下使用源码环境对目录文件进行编译。
本发明实施例以Gradle编译方式开发完成后,可以直接导出兼容源码环境规范的目录文件,在编译整个车机终端操作系统应用开发项目时,使用提前编译好的所述车机终端操作系统应用开发项目的目录下的静态库文件,提高了整个车机终端操作系统应用开发项目的编译速度,避免每次需要重新编译车机终端操作系统应用。进一步的,本发明还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例所述的操作系统应用编译方法中的步骤。
进一步的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的操作系统应用编译方法中的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时一种实现操作系统应用编译方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (16)
1.一种操作系统应用编译方法,用于对操作系统应用开发项目的编译,其特征在于,包括:
在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
2.根据权利要求1所述的操作系统应用编译方法,其特征在于,所述在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项之前,还包括,
编译所述操作系统应用开发项目的源码;
获取编译后的所述操作系统应用开发项目的第一配置文件;其中,所述第一配置文件根据所述不开放的应用程序接口生成,所述第一配置文件包括所述不开放的应用程序接口的项目信息;
根据所述第一配置文件生成对应的所述静态库文件。
3.根据权利要求2所述的操作系统应用编译方法,其特征在于,所述根据所述第一配置文件生成对应的所述静态库文件之后,还包括,
将所述静态库文件上传到第一依赖库中。
4.根据权利要求3所述的操作系统应用编译方法,其特征在于,所述使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖包括:
获取所述静态库文件上传到所述第一依赖库中的路径;
将所述路径添加到所述gradle配置文件的配置列表中;
根据所述路径使用所述预编译的方式对所述静态库文件进行依赖。
5.根据权利要求1所述的操作系统应用编译方法,其特征在于,所述使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖之后,还包括:
使用所述配置项对开源依赖库进行依赖。
6.根据权利要求2-4任一项所述的操作系统应用编译方法,其特征在于,所述使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖之后,还包括:
根据所述第一配置文件和所述配置项导出所述操作系统应用开发项目的目录文件;所述目录文件包括源码、资源文件和依赖库;
在操作系统源码的目录下使用源码环境对目录文件进行编译。
7.一种操作系统应用编译装置,用于对操作系统应用开发项目的编译,其特征在于,所述操作系统应用编译装置包括:
添加模块,用于在所述操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
复制模块,用于将所述配置项依赖的静态库文件复制到所述操作系统应用开发项目的目录下,所述静态库文件为所述操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
预编译模块,用于使用预编译方式对所述操作系统应用开发项目的目录下的静态库文件进行依赖。
8.根据权利要求7所述的操作系统应用编译装置,其特征在于,所述操作系统应用编译装置还包括:
第一编译模块,用于编译所述操作系统应用开发项目的源码;
获取模块,用于获取编译后的所述操作系统应用开发项目的第一配置文件;所述第一配置文件根据所述不开放的应用程序接口生成,所述第一配置文件包括所述不开放的应用程序接口的项目信息;
生成模块,用于根据所述第一配置文件生成对应的所述静态库文件。
9.根据权利要求7所述的操作系统应用编译装置,其特征在于,所述操作系统应用编译装置还包括:
上传模块,用于将所述静态库文件上传到第一依赖库中。
10.根据权利要求9所述的操作系统应用编译装置,其特征在于,所述预编译模块还用于
获取所述静态库文件上传到所述第一依赖库中的路径;
将所述路径添加到所述gradle配置文件的配置列表中;
根据所述路径使用所述预编译的方式对所述静态库文件进行依赖。
11.根据权利要求8-10任一项所述的操作系统应用编译装置,其特征在于,所述操作系统应用编译装置还包括:
导出模块,用于根据所述第一配置文件和所述配置项导出所述操作系统应用开发项目的目录文件;所述目录文件包括源码、资源文件和依赖库;
第二编译模块,用于在操作系统源码的目录下使用源码环境对目录文件进行编译。
12.根据权利要求7所述的操作系统应用编译装置,其特征在于,所述操作系统应用编译装置还包括:
依赖模块,用于使用所述配置项对开源依赖库进行依赖。
13.一种车机终端操作系统应用的编译装置,用于具有安卓操作系统的车机终端,其特征在于,所述车机终端操作系统应用编译装置包括:
添加模块,用于在所述车机终端操作系统应用开发项目的gradle配置文件的配置列表中添加配置项;
复制模块,用于将所述配置项依赖的静态库文件复制到所述车机终端操作系统应用开发项目的目录下,所述静态库文件为所述车机终端操作系统应用开发项目中不开放的应用程序接口对应的静态库文件;
预编译模块,用于使用预编译方式对所述车机终端操作系统应用开发项目的目录下的静态库文件进行依赖。
14.根据权利要求13所述的车机终端操作系统应用的编译装置,其特征在于,所述车机终端操作系统应用编译装置还包括:
第一编译模块,用于编译所述车机终端操作系统应用开发项目的源码;
获取模块,用于获取编译后的所述车机终端操作系统应用开发项目的第一配置文件;所述第一配置文件根据所述不开放的应用程序接口生成,所述第一配置文件包括所述不开放的应用程序接口的项目信息;
生成模块,用于根据所述第一配置文件生成对应的所述静态库文件。
15.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的操作系统应用编译方法中的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的操作系统应用编译方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418759.4A CN111966357B (zh) | 2019-05-20 | 2019-05-20 | 一种操作系统应用编译方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418759.4A CN111966357B (zh) | 2019-05-20 | 2019-05-20 | 一种操作系统应用编译方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966357A true CN111966357A (zh) | 2020-11-20 |
CN111966357B CN111966357B (zh) | 2024-02-27 |
Family
ID=73357922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910418759.4A Active CN111966357B (zh) | 2019-05-20 | 2019-05-20 | 一种操作系统应用编译方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966357B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650498A (zh) * | 2020-12-21 | 2021-04-13 | 北京五八信息技术有限公司 | 静态库集成方法、装置、电子设备及存储介质 |
CN113721916A (zh) * | 2021-07-29 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种操作系统的编译方法、装置、设备及可读存储介质 |
CN113760351A (zh) * | 2021-03-24 | 2021-12-07 | 北京京东拓先科技有限公司 | 项目上传方法、装置、电子设备和计算机可读介质 |
CN114780070A (zh) * | 2022-06-21 | 2022-07-22 | 苏州万店掌网络科技有限公司 | 一种视频播放器功能扩展方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569868A (zh) * | 2016-11-09 | 2017-04-19 | 腾讯音乐娱乐(深圳)有限公司 | 一种基于Gradle的编译优化方法及装置 |
CN106681787A (zh) * | 2017-01-24 | 2017-05-17 | 东软集团股份有限公司 | 应用开发方法及装置 |
CN106886394A (zh) * | 2015-12-15 | 2017-06-23 | 五八同城信息技术有限公司 | 应用程序打包方法及装置 |
CN107301074A (zh) * | 2017-06-26 | 2017-10-27 | 中广热点云科技有限公司 | 在服务器上自动打包apk安装包的方法及系统 |
CN108052314A (zh) * | 2017-12-26 | 2018-05-18 | 无线生活(杭州)信息科技有限公司 | 一种基于Gradle的插件打包的方法及装置 |
CN108984203A (zh) * | 2018-06-08 | 2018-12-11 | 广东伊莱特电器有限公司 | 一种用于Android应用运行时数据采集的方法及其系统 |
CN109144521A (zh) * | 2018-09-28 | 2019-01-04 | 五八有限公司 | 生成静态库的方法、装置、计算机设备及可读存储介质 |
-
2019
- 2019-05-20 CN CN201910418759.4A patent/CN111966357B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886394A (zh) * | 2015-12-15 | 2017-06-23 | 五八同城信息技术有限公司 | 应用程序打包方法及装置 |
CN106569868A (zh) * | 2016-11-09 | 2017-04-19 | 腾讯音乐娱乐(深圳)有限公司 | 一种基于Gradle的编译优化方法及装置 |
CN106681787A (zh) * | 2017-01-24 | 2017-05-17 | 东软集团股份有限公司 | 应用开发方法及装置 |
CN107301074A (zh) * | 2017-06-26 | 2017-10-27 | 中广热点云科技有限公司 | 在服务器上自动打包apk安装包的方法及系统 |
CN108052314A (zh) * | 2017-12-26 | 2018-05-18 | 无线生活(杭州)信息科技有限公司 | 一种基于Gradle的插件打包的方法及装置 |
CN108984203A (zh) * | 2018-06-08 | 2018-12-11 | 广东伊莱特电器有限公司 | 一种用于Android应用运行时数据采集的方法及其系统 |
CN109144521A (zh) * | 2018-09-28 | 2019-01-04 | 五八有限公司 | 生成静态库的方法、装置、计算机设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
雨中星辰0: ""gradle拷贝依赖的jar包到指定位置"", pages 1, Retrieved from the Internet <URL:《https://www.jianshu.com/p/3a8a6c73137a》> * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650498A (zh) * | 2020-12-21 | 2021-04-13 | 北京五八信息技术有限公司 | 静态库集成方法、装置、电子设备及存储介质 |
CN112650498B (zh) * | 2020-12-21 | 2022-05-17 | 北京五八信息技术有限公司 | 静态库集成方法、装置、电子设备及存储介质 |
CN113760351A (zh) * | 2021-03-24 | 2021-12-07 | 北京京东拓先科技有限公司 | 项目上传方法、装置、电子设备和计算机可读介质 |
CN113721916A (zh) * | 2021-07-29 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种操作系统的编译方法、装置、设备及可读存储介质 |
CN113721916B (zh) * | 2021-07-29 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种操作系统的编译方法、装置、设备及可读存储介质 |
CN114780070A (zh) * | 2022-06-21 | 2022-07-22 | 苏州万店掌网络科技有限公司 | 一种视频播放器功能扩展方法、装置、设备及存储介质 |
CN114780070B (zh) * | 2022-06-21 | 2022-09-09 | 苏州万店掌网络科技有限公司 | 一种视频播放器功能扩展方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111966357B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3134809B1 (en) | Manual refinement of specialized classes | |
CN111966357B (zh) | 一种操作系统应用编译方法、装置及电子设备 | |
Lippman | Inside the C++ object model | |
CN106605212B (zh) | 在动态链接的运行时环境中的模块化共同版本管理 | |
KR101795844B1 (ko) | 런타임 시스템 | |
US5872977A (en) | Object-oriented method and apparatus for creating a makefile | |
CN110990019B (zh) | 一种Java类分析方法、装置、存储介质及电子设备 | |
CN105164641A (zh) | 扩展开发环境 | |
US20090125874A1 (en) | Method and system for creating projects in a rational application developer workspace | |
WO2020015191A1 (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
CN102455931B (zh) | 一种Android平台工程的开发方法及系统 | |
CN100492387C (zh) | 基于Keil C51的软件保护开发的方法和系统 | |
CN113076096A (zh) | 一种桌面应用程序开发方法、装置、设备及存储介质 | |
US9032359B1 (en) | Method and apparatus for modifying a platform-independent programming language build tool | |
Shute | Advanced JavaScript: Speed up web development with the powerful features and benefits of JavaScript | |
KR20040077410A (ko) | 마크업 내부에서 명시적으로 서브클래스를 정의하고이용하는 시스템 및 방법 | |
CN105005497A (zh) | 一种Java卡虚拟机中本地函数的调用方法及装置 | |
CN110941443A (zh) | 修改sdk中文件名的方法、装置及电子设备 | |
CN112328241A (zh) | 一种应用程序开发中创建Android库模块依赖关系的方法及装置 | |
CN114721647B (zh) | 一种基于无代码应用开发的面向对象编程方法 | |
CN116226921A (zh) | 一种脱敏处理方法及装置 | |
CN106778270B (zh) | 一种恶意应用程序的检测方法及系统 | |
CN113177292B (zh) | 一种通用的bim二次开发实现方法和装置 | |
CN112181398A (zh) | 配置文件处理装置、方法及存储介质 | |
Bachelet et al. | Designing expression templates with concepts |
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 |