提高安卓项目编译速度的方法及系统与流程

文档序号:12120076阅读:399来源:国知局
提高安卓项目编译速度的方法及系统与流程

本发明涉及安卓软件开发领域,具体是涉及一种提高安卓项目编译速度的方法及系统。



背景技术:

下面先简单介绍一些与安卓软件开发有关的专业术语。

Aar库:Aar(Android Archive,安卓的档案库)包是一个Android库项目的二进制归档文件。文件扩展名是.Aar,但文件本身是具有以下条目的一个简单zip文件:

第三方安卓项目库源码:第三方安卓项目的开源代码库的源码。

Maven:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Nexus:通用开源的一套maven仓库管理工具。

IDE:Integrated Development Environment,集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

Android Studio(安卓开发套件):一个Android集成开发工具,基于IntelliJ IDEA(软件名称),类似Eclipse ADT(软件名称),Android Studio提供了集成的Android开发工具用于开发和调试。

Gradle(软件名称):一个基于Apache Ant(软件名称)和Apache Maven(软件名称)概念的项目自动化建构工具。它使用一种基于Groovy(软件名称)的特定领域语言DSL来声明项目设置,抛弃了基于XML(Extensible Markup Language,可扩展标记语言)的各种繁琐配置。

在安卓软件开发过程中通常会引入第三方库文件,传统的编译方法是引入第三方库源码,在编译项目的时候,将所有第三方的源码全部编译一遍。由于编译了全部的源码文件,所以在编译阶段随着第三方库的引入数量的不断增加,导致编译文件的数量不断增多,最终会使得编译时间变得非常长。但是,在软件开发和调试阶段需要不断的进行编译调试,导致开发人员需要等待很长的编译时间,因此开发效率较低。



技术实现要素:

本发明的目的是为了克服上述背景技术的不足,提供一种提高安卓项目编译速度的方法及系统,能够省去在编译阶段编译大量第三方安卓项目库源码的时间,提高编译速度,有效提高开发人员的开发效率。

本发明提供一种提高安卓项目编译速度的方法,包括以下步骤:

S1、搭建本地maven仓库;

S2、将第三方安卓项目库源码编译成第三方Aar库文件;

S3、将编译出来的第三方Aar库文件上传到本地maven仓库;

S4、将第三方安卓项目的依赖修改为依赖本地maven仓库的第三方Aar库文件。

在上述技术方案的基础上,步骤S1中,搭建本地maven仓库的流程如下:

步骤101、下载nexus源代码文件的压缩包;

步骤102、将下载的压缩包解压到本地磁盘的全英文路径的目录下;

步骤103、启动本地的nexus服务;

步骤104、进入nexus的配置界面,对maven仓库进行配置。

在上述技术方案的基础上,步骤S2具体包括以下步骤:

步骤201、通过网络获取到第三方安卓项目开源库源码,并将库源码下载到本地磁盘上,导入第三方安卓项目开源库源码;

步骤202、对导入的第三方安卓项目开源库源码进行编译,得到第三方Aar库文件。

在上述技术方案的基础上,步骤S3具体包括以下步骤:

步骤301、添加上传脚本文件;

步骤302、将上传脚本中的上传网络地址修改为本地maven仓库的上传地址;

步骤303、调用上传脚本中的上传任务,上传本地编译出来的第三方Aar库文件。

在上述技术方案的基础上,步骤S4具体包括以下步骤:

步骤401、将本地maven仓库添加进编译库;

步骤402、修改项目库引用关系,去掉原始项目的依赖,将第三方安卓项目的依赖修改为依赖本地maven仓库中的第三方Aar库文件。

本发明还提供一种提高安卓项目编译速度的系统,该系统包括仓库搭建单元、编译单元、上传单元、依赖修改单元,其中:

所述仓库搭建单元用于:搭建本地maven仓库;

所述编译单元用于:将第三方安卓项目库源码编译成第三方Aar库文件;

所述上传单元用于:将编译出来的第三方Aar库文件上传到本地maven仓库;

所述依赖修改单元用于:将第三方安卓项目的依赖修改为依赖本地maven仓库的第三方Aar库文件。

在上述技术方案的基础上,所述仓库搭建单元搭建本地maven仓库的流程如下:

步骤101、下载nexus源代码文件的压缩包;

步骤102、将下载的压缩包解压到本地磁盘的全英文路径的目录下;

步骤103、启动本地的nexus服务;

步骤104、进入nexus的配置界面,对maven仓库进行配置。

在上述技术方案的基础上,所述编译单元将第三方安卓项目库源码编译成第三方Aar库文件的流程如下:

步骤201、通过网络获取到第三方安卓项目开源库源码,并将库源码下载到本地磁盘上,导入第三方安卓项目开源库源码;

步骤202、对导入的第三方安卓项目开源库源码进行编译,得到第三方Aar库文件。

在上述技术方案的基础上,所述上传单元将编译出来的第三方Aar库文件上传到本地maven仓库的流程如下:

步骤301、添加上传脚本文件;

步骤302、将上传脚本中的上传网络地址修改为本地maven仓库的上传地址;

步骤303、调用上传脚本中的上传任务,上传本地编译出来的第三方Aar库文件。

在上述技术方案的基础上,所述依赖修改单元将第三方安卓项目的依赖修改为依赖本地maven仓库的第三方Aar库文件的流程如下:

步骤401、将本地maven仓库添加进编译库;

步骤402、修改项目库引用关系,去掉原始项目的依赖,将第三方安卓项目的依赖修改为依赖本地maven仓库中的第三方Aar库文件。

与现有技术相比,本发明的优点如下:

本发明搭建本地maven仓库,分离第三方安卓项目的库源码,将分离的所有第三方安卓项目库源码编译成第三方Aar库文件,上传到本地maven仓库中,通过本地maven仓库的形式对第三方Aar库文件进行版本管理。在项目编译阶段,直接引入本地maven仓库中已经编译好的第三方Aar库文件,不用再去编译所有第三方安卓项目库源码,能够省去在编译阶段编译大量第三方安卓项目库源码的时间,提高编译速度,有效提高开发人员的开发效率。

附图说明

图1是本发明实施例中提高安卓项目编译速度的方法的流程图。

图2是本发明实施例中搭建本地maven仓库的流程图。

图3是本发明实施例中将第三方安卓项目库源码编译成第三方Aar库文件的流程图。

图4是本发明实施例中上传本地编译出来的第三方Aar库文件的流程图。

图5是本发明实施例中修改原来项目的依赖的流程图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

参见图1所示,本发明实施例提供一种提高安卓项目编译速度的方法,包括以下步骤:

S1、搭建本地maven仓库;

S2、将第三方安卓项目库源码编译成第三方Aar库文件;

S3、将编译出来的第三方Aar库文件上传到本地maven仓库;

S4、将第三方安卓项目的依赖修改为依赖本地maven仓库的第三方Aar库文件。

参见图2所示,步骤S1中,搭建本地maven仓库的流程如下:

步骤101、下载nexus源代码文件的压缩包;

步骤102、将下载的压缩包解压到本地磁盘的全英文路径的目录下;

步骤103、启动本地的nexus服务;

步骤104、进入nexus的配置界面,对maven仓库进行配置。

参见图3所示,步骤S2具体包括以下步骤:

步骤201、通过网络获取到第三方安卓项目开源库源码,并将库源码下载到本地磁盘上,导入第三方安卓项目开源库源码;

步骤202、对导入的第三方安卓项目开源库源码进行编译,得到第三方Aar库文件。

参见图4所示,步骤S3具体包括以下步骤:

步骤301、添加上传脚本文件;

步骤302、将上传脚本中的上传网络地址修改为本地maven仓库的上传地址;

步骤303、调用上传脚本中的上传任务,上传本地编译出来的第三方Aar库文件。

参见图5所示,步骤S4具体包括以下步骤:

步骤401、将本地maven仓库添加进编译库;

步骤402、修改项目库引用关系,去掉原始项目的依赖,将第三方安卓项目的依赖修改为依赖本地maven仓库中的第三方Aar库文件。

本发明还提供一种提高安卓项目编译速度的系统,该系统包括仓库搭建单元、编译单元、上传单元、依赖修改单元,其中:

仓库搭建单元用于:搭建本地maven仓库;

编译单元用于:将第三方安卓项目库源码编译成第三方Aar库文件;

上传单元用于:将编译出来的第三方Aar库文件上传到本地maven仓库;

依赖修改单元用于:将第三方安卓项目的依赖修改为依赖本地maven仓库的第三方Aar库文件。

参见图2所示,仓库搭建单元搭建本地maven仓库的流程如下:

步骤101、下载nexus源代码文件的压缩包;

步骤102、将下载的压缩包解压到本地磁盘的全英文路径的目录下;

步骤103、启动本地的nexus服务;

步骤104、进入nexus的配置界面,对maven仓库进行配置。

参见图3所示,编译单元将第三方安卓项目库源码编译成第三方Aar库文件的流程如下:

步骤201、通过网络获取到第三方安卓项目开源库源码,并将库源码下载到本地磁盘上,导入第三方安卓项目开源库源码;

步骤202、对导入的第三方安卓项目开源库源码进行编译,得到第三方Aar库文件。

参见图4所示,上传单元将编译出来的第三方Aar库文件上传到本地maven仓库的流程如下:

步骤301、添加上传脚本文件;

步骤302、将上传脚本中的上传网络地址修改为本地maven仓库的上传地址;

步骤303、调用上传脚本中的上传任务,上传本地编译出来的第三方Aar库文件。

参见图5所示,依赖修改单元将第三方安卓项目的依赖修改为依赖本地maven仓库的第三方Aar库文件的流程如下:

步骤401、将本地maven仓库添加进编译库;

步骤402、修改项目库引用关系,去掉原始项目的依赖,将第三方安卓项目的依赖修改为依赖本地maven仓库中的第三方Aar库文件。

下面通过一个具体案例进行详细描述。

实际应用中,提高安卓项目编译速度的方法包括以下步骤:

S1、搭建本地maven仓库

Nexus是一个开源软件,主要功能是搭建本地的maven仓库管理平台。由于该软件是一个开元项目,具体搭建和使用详细文档官方网站都有详细描述,本文中仅做简要叙述搭建过程。

参见图2所示,搭建本地maven仓库的流程如下:

步骤101、在官网http://www.sonatype.org/nexus/下载nexus源代码文件的zip压缩包。

步骤102、将下载的zip压缩包解压到本地磁盘的全英文路径的目录下。注意:此处要全英文路径,其他非英文语言可能会造成路径编码异常导致服务启动失败。

步骤103、双击解压目录中的console-nexus.bat文件,这个文件主要功能是启动本地的nexus服务,双击后就能正常启动本地服务了。

步骤104、服务启动以后,就可以通过在浏览器中输入http://localhost:8081/nexus/,进入nexus的配置界面,对maven仓库进行配置,主要配置选项包括配置maven仓库的存储路径以及maven仓库的名称等。

S2、将第三方安卓项目库源码编译成第三方Aar库文件

本地maven仓库搭建完成以后,将本地项目中引用的所有第三方安卓项目库源码全部编译成Aar库文件。由于所有第三方安卓项目库源码编译成Aar库文件的方式是一样的,此处仅以一个第三方安卓项目库源码为例进行说明,其他第三方安卓项目库源码编译成第三方Aar库文件可以使用同一套方案。

由于Aar库文件是Google公司针对Android平台推出的一套全新的库打包方案,需要使用Google公司提供的Android开发IDE工具Android Studio。

具体实施步骤参见图3所示:

步骤201、首先通过网络获取到第三方安卓项目开源库源码,并将库源码下载到本地磁盘上。由于Aar包是google定义的一个独特的打包方式,需要通过AndroidStudio来进行编译。

将下载下来的第三方安卓项目开源库源码导入到AndroidStudio中进行单独编译,具体导入方式如下:选择File->new->ImportProject的方式来导入第三方安卓项目开源库源码。其他方式导入有可能会引起编译不通过的问题。

步骤202、第三方安卓项目开源库源码导入后,可以通过Build->MakeProject方法,对导入的第三方安卓项目开源库源码进行编译,得到第三方Aar库文件;编译完成后,可以在源码目录的build文件夹下发现编译出来的第三方Aar库文件。

S3、将编译出来的第三方Aar库文件上传到本地maven仓库,具体步骤参见图4所示:

步骤301、添加上传脚本文件,该上传脚本文件属于通用的上传脚本,此处不做详细描述,认为是一个已有技术直接拿过来进行使用。

步骤302、上传脚本中唯一一个需要修改的地方就是上传网络地址,由于是搭建的本地服务器,所以需要修改其中上传服务器的地址,将上传脚本中的上传网络地址修改为本地maven仓库的上传地址。

步骤303、上传脚本中定义了一个upload(上传)任务,我们通过命令gradle upload就能够调用上传脚本中的upload任务,执行上传本地编译出来的第三方Aar库文件了。

S4、将第三方安卓项目的依赖修改为依赖本地maven仓库的第三方Aar库文件,具体步骤参见图5所示:

步骤401、为了在编译本地项目的时候去本地maven仓库进行查询,所以需要将本地maven仓库添加进编译库,具体添加方法如下:

maven(){

url"http://192.168.5.148:8081/repository/douyu/"

}

添加完成以后,所有第三方安卓项目都会去上面的本地maven仓库中去查询对应的第三方Aar库文件。

步骤402、修改项目库引用关系,去掉原始项目的依赖,将第三方安卓项目的依赖修改为依赖本地maven仓库中的第三方Aar库文件。

原来项目是直接依赖源码项目,这样在编译的时候就会去把依赖的源码项目也进行编译一遍。

原来项目依赖方式的语法格式:compile project(':PushSDK')

修改后,本地maven仓库依赖方式的语法格式:compile'com.douyu:PushSDK:1.0.0'

本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。

说明书中未详细描述的内容为本领域技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1