前言
近期,我在研究Android项目在Android Studio中的架构体系。突然间发现Gradle这套构建系统还是很强大的。想必做安卓的朋友们都了解,Gradle是Android Studio标配的App构建系统,想要熟练使用Android Studio进行Android开发,必须对Gradle有一定程度的认知。如果对Gradle还不熟悉的朋友,建议先学习一下Gradle的基础知识和基本结构,此处我就不和大家做介绍了。
另外呢,我想在这里补充讲一下Android应用程序的构建过程,其实Android应用程序的构建过程还是非常复杂的。主要构建过程大致可以分为以下几步:
首先,需要将所有的资源文件打包编译,在R文件中引用;接着,需要把所有的java代码打包编译,通过dex工具编译成dalvik字节码;然后,将所有的文件打包成APK文件;在APK文件最终安装在设备之前,还需要一个debug或者release的签名文件对APK进行签名操作。
Gradle基础
干货
现在开始我们直接切入正题,想必大家都有过这样的经历,拿到一个新项目,第一个出现在我们面前的疑问肯定是:我该怎么搭建这个项目的框架呢?或者公司的老项目,我如何重构以前的老项目架构呢?或者其他的各种情况,总之问题就是我该如何迈出极其重要的第一步?
今天和大家探讨的架构知识点之一:在Android Studio中如何自定义Android BuildConfig配置文件?
同时,我会把我们重构项目的架构和第三方依赖包和大家做一个简单的分享。有其他问题的朋友可以在文末留言,也可以私发我邮件,有空的前提下我会第一时间回复大家。
Gradle开发中经常会涉及到很多相同的配置,例如:不同module中都要配置compileSdkVersion、buildToolsVersion等变量值,我们把这些公共的配置项称为共享变量。一般情况下,它们的取值应该保持一致,如果让每一个module自己管理这些配置的值,则可能会导致不同的module取值不同,也可能会遇到修改每个配置项的时候需要到每个module中都修改一遍。为了解决类似的问题,我们在项目的根目录下定义了一个build_config.gradle的配置文件,在项目根目录的build.gradle中直接引入我们配置的build_config.gradle配置文件。
如何设置共享变量请看下图:
自定义共享变量当我们编写完自定义的gradle files,如何在Android Studio中实时保持同步呢?请看下图:
实时同步我们的gradle files文件另外给大家介绍一下我们的AS中可以执行的一些gradle任务在哪?请看下图:
gradle任务窗另外再给大家介绍一下,一个最常用的需求配置,我们的应用如何配置服务器不同版本的API URL?请看下图:
配置服务器不同版本的API URL如何使用这些自定义的共享变量?请看下图:
引入自定义共享变量如何引入我们的自定义build_config.gradle配置文件?请看下图:
引入我们的自定义build_config.gradle配置文件优点:共享变量和第三方依赖包的集中管理、便于查看和维护
下面和大家分享一下我们项目中的框架配置,学习共勉。有疑问,欢迎留言互动。
对于第三方依赖包的版本号的约定如下,具体的版本号和使用语法规则可以下载源文件进行查看,有部分第三方依赖的jar包或者插件已经不是最新版本,各位朋友在使用之前可以查看github最新的版本号和使用规则。根据自己项目的需求,适当添加所需的第三方类库。请看下图:
在dependencies具体引入第三方的依赖包在其他Module的build.gradle中如何引用共享变量和第三方的依赖包?请看下图:
引入第三方的依赖包以上就是对如何在Android Studio的Gradle体系中配置自定义的Build Config文件实现集中管理共享变量做了一个简单的介绍,同时也对我们的项目中采用的一些主流的第三方依赖库做了一个简单的呈现。下面直接贴出项目里使用的自定义的BuildConfig文件,有兴趣的朋友可以下载查看。
大眼杰克 jxiaolee@aliyun.com
选择自己所爱的,爱自己所选择的!
网友评论