Android项目中gradle的执行流程

目录
  • gradle文件执行流程
  • 自定义gradle文件的导入方法
  • gradle中定义的变量如何被java代码使用

gradle文件执行流程

做过Android开发的同学都知道 ,Android项目中存在三个gradle文件,那你是否知道他们的执行流程呢?请看下面这张图:

为了验证结论

的正确性,我们采用输出字符串的验证方式:

输出结果如下:

自定义gradle文件的导入方法

上面所阐述的三个 gradle 文件是由系统来管理的,那我们能创建gradle文件吗?答案是肯定的。

那我们创建的 gradle 文件如何引入呢?详细说明请看下图:

第一步:创建 yiqi.gradle 文件

ext { //ext 不能掉
    //定义一个字符串
    firstName = "yiqi"
    //定义一个集合
    firstList = ['a', 'b']
    //定义一个map
    firstMap = ['k1': 'v1', 'k2': 'v2']
}

第二步:在project下的 build.gradle 文件中引入自定义 yiqi.gradle 文件

第三步:使用变量

注意: 自定义gradle文件中 ext{} 不能少

gradle中定义的变量如何被java代码使用

第一步:在gradle中定义一个变量

    //定义一个字符串
    firstName = "yiqi"
    //定义一个集合
    firstList = ['a', 'b']
    //定义一个map
    firstMap = [k1: 'v1', 'k2': 'v2']
    //定义一个整型
    firstInt = 10
    //定义一个bool
    firstBool = false
    //定义一个double
    firstDouble = 10.25

第二步:配置自动生成java代码的配置代码 =》 主要用到 buildConfigField 这个代码

注意: buildConfigField() 方法中的三个参数都是字符串类型,否则会报错

第三步:点击 clean Project 然后点击 make Project

我们可以在BuildConfig这个自动构建的类里面看到我们配置的信息,这些个字段我们是可以在正式代码中使用的

到此这篇关于Android项目中gradle的执行流程的文章就介绍到这了,更多相关Android gradle执行流程内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android自定义Gradle插件的详细过程

    一.Gradle 我们知道在我们现在使用Android Stduio开发Android项目的时候,Android Studio是基于Gradle来帮助我们构建,管理项目的. Gradle:Gradle是一个项目构建工具,用来帮助我们管理项目的依赖.打包.发布.部署等工作. Gradle是通过如build.gradle这种gradle脚本来进行项目构建的,所以我们对项目的构建配置都是可以写在gradle构建脚本中. gradle构建脚本使用的是Groovy语言,Groovy语言也是一种jvm语言,

  • Android项目中gradle的执行流程

    目录 gradle文件执行流程 自定义gradle文件的导入方法 gradle中定义的变量如何被java代码使用 gradle文件执行流程 做过Android开发的同学都知道 ,Android项目中存在三个gradle文件,那你是否知道他们的执行流程呢?请看下面这张图: 为了验证结论 的正确性,我们采用输出字符串的验证方式: 输出结果如下: 自定义gradle文件的导入方法 上面所阐述的三个 gradle 文件是由系统来管理的,那我们能创建gradle文件吗?答案是肯定的. 那我们创建的 gra

  • 在Android项目中使用AspectJ的方法

    什么是AOP AOP是 Aspect Oriented Programming 的缩写,即面向切面编程,和平常遇到的面向对象OOP编程不一样的是,OOP是将功能模块化对象化,AOP是针对同一类的问题统一化处理.例如做日志埋点,性能监控,动态权限控制等. AspectJ AspectJ实际上是对AOP编程的实践,目前还有很多的AOP实现,如ASMDex,但笔者选用的是AspectJ. 在Android项目中使用AspectJ 如果使用原生AspectJ在项目中配置会非常麻烦,在GitHub上有个开

  • 在Android项目中使用AspectJ的详细攻詻

    AOP 全称"Aspect Oriented Programming",面向切面编程,由于面向对象的思想要求高内聚,低耦合的风格,使模块代码间的可见性变差,对于埋点,日志输出等需求,就会变的十分复杂,如果手动编写代码,入侵性很大,不利于扩展,AOP应运而生. AspectJ AspectJ实际上是对AOP编程的实践,目前还有很多的AOP实现,如ASMDex,但笔者选用的是AspectJ. 使用场景 当我们需要在某个方法运行前和运行后做一些处理时,便可使用AOP技术.具体有: 统计埋点

  • 如何在原有Android项目中快速集成React Native详解

    前言 RN经过一段时间发展,已经有充分数量的人尝试过了,就我身边就有几批,褒贬也不一: ① 做UI快 ② 还是有很多限制,不如原生Native ③ 入门简单,能让前端快速开发App ④ iOS&Android大部分代码通用 ⑤ code-push能做热更新,但是用不好依旧坑 ...... 在得到一些信息后,可以看出,要用RN高效率的做出比较不错的App是有可能的,单看投入度与最初设计是否合理,而且现在关于React Native的各种文档是相当丰富的,所以这个阶段想切入RN可能是一个不错的选择.

  • Android Studio 中Gradle配置sonarqube插件(推荐)

    目录 一,使用公共Maven仓库: 二,使用私有Maven仓库: Sonarqube作为一个很实用的静态代码分析工具,在很多项目中都使用.Android自然也不例外.这里就分享下使用Android Studio时如何在Gradle里配置Sonarqube. 以下分别就使用公共maven仓库和私有maven仓库两种情况来简单说明下: 一,使用公共Maven仓库: 这个比较简单. 打开gradle sonarqube插件官方网址:https://plugins.gradle.org/plugin/o

  • Android项目中引入aar包的正确方法介绍

    目录 一.Android项目中引入aar包的方法 二.Android导入jar包 补充:Android 引入aar包后,应用图标改变了 总结 一.Android项目中引入aar包的方法 我在使用高德地图的sdk的时候,选择用引入aar包的方式,然后按照网上的教程引入.但是一直报错,我很懵逼. 这是教程 1.在build.gradle中的android{}外层添加 repositories { flatDir { dirs 'libs' } } 2.将aar包添加到项目的libs文件夹下 3.在d

  • Android项目中实体类entity的作用详解

    估计很多入门安卓的朋友对entity很困惑,为什么要写实体类?有什么用?写来干什么? 对于实体类的理解我入门的时候也是困惑了好久,后面用多了才慢慢理解,这篇博客就当复习和笔记. Java中entity(实体类)的写法规范 在日常的Java项目开发中,entity(实体类)是必不可少的,它们一般都有很多的属性,并有相应的setter和getter方法.entity(实体类)的作用一般是和数据表做映射.所以快速写出规范的entity(实体类)是java开发中一项必不可少的技能. 在项目中写实体类一般

  • Android项目中引用本地aar文件的方法

    随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好.针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便. aar 何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是

  • 详解android项目由Gradle 2.2 切换到 3.0的坑

    问题1.运行的时候一直报如下错误 Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForApiTestDebug'.  > java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex 查了很多资料,大概意识是引用重复的库或jar的问题. 然

  • Android项目中使用HTTPS配置的步骤详解

    前言 如果你的项目的网络框架是okhttp,那么使用https还是挺简单的,因为okhttp默认支持HTTPS.传送门 下面话不多说了,来一起看看详细的介绍: Android 使用 HTTPS 配置的步骤. 1.step 配置hostnameVerifier new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } }: 2.step

随机推荐