各位同学大家好,当然了如果不是同学,那么大家也同好。哈哈。

大家知道config.gradle 是什么吗?我也不知道。开个完笑,其实config.gradle 就是我们为了统一gradle 中的各种配置所作的一个文件。就像是我们在使用Retrofit 的时候,会将baseurl 配置成为一个变量,然后将其他的请求字段也分开似的。config.gradle 顾名思义,配置的gradle。他的本质是一个配置文件。

那么怎么使用他呢?

使用情况如下:

1. 在project 的 build.gradle 附件创建一个文件,名字叫做config.gradle

2. 在config.gradle 中进行各种配置

ext {
android = [
compileSdkVersion :29,
buildToolsVersion :'30.0.2',
applicationId : "",
minSdkVersion : 16,
targetSdkVersion: 29,
versionCode : 1,
versionName : "1.0",
] version = [
litepal_version : "3.0.0",
glide_version : "4.11.0",
zxing_version : "3.3.0",
autosize_version : "1.1.0",
libaums_version : "0.6.0",
gson_version : "2.8.2",
eventbus_version : "3.0.0",
pickerview_version : "4.1.8",
mpandroidchart_version : "v3.1.0",
okhttp_version : "3.6.0",
hapi_version : "2.3",
editspinner_version : "1.1.0", //Androidx 与 Android 同时适用的
utilcode_version :"1.30.5", //Android 使用的
constraintlayout_version : "1.1.3",
coordinatorlayout_version : "28.0.0",
material_version : "28.0.0",
recyclerview_version : "28.0.0", //Androidx 使用的
coordinatorlayoutx_version : "1.1.0",
constraintlayoutx_version : "2.0.4",
materialx_version : "1.2.1",
recyclerviewx_version : "1.2.0-alpha06", ]
dependencies = [
litepal : "org.litepal.android:java:${version["litepal_version"]}",
glide : "com.github.bumptech.glide:glide:${version[ "glide_version"]}",
zxing : "com.google.zxing:core:${version["zxing_version"]}",
autosize: "me.jessyan:autosize:${version["autosize_version"]}",
libaums : "com.github.mjdev:libaums:${version["libaums_version"]}",
gson : "com.google.code.gson:gson:${version["gson_version"]}",
eventbus: "org.greenrobot:eventbus:${version["eventbus_version"]}",
pickerview : "com.contrarywind:Android-PickerView:${version["pickerview_version"]}",
//TODO 注意: 需要在 project 的 build.gradle 中设置 maven { url 'https://jitpack.io' }
mpandroidchart : "com.github.PhilJay:MPAndroidChart:${version["mpandroidchart_version"]}",
okhttp : "com.squareup.okhttp3:okhttp:${version["okhttp_version"]}",
hapi_structures : "ca.uhn.hapi:hapi-structures-v24:${version["hapi_version"]}",
hapi_base:"ca.uhn.hapi:hapi-base:${version["hapi_version"]}",
editspinner : "com.reginald:editspinner:${version["editspinner_version"]}", // 没有兼容Android 版本的
utilcode:"com.blankj:utilcode:${version["utilcode_version"]}",
constraintlayout :"com.android.support.constraint:constraint-layout:${version["constraintlayout_version"]}",
coordinatorlayout : "com.android.support:coordinatorlayout:${version["coordinatorlayout_version"]}",
material: "com.android.support:design:${version["material_version"]}",
recyclerview:"com.android.support:recyclerview-v7:${version[ "recyclerview_version"]}",
// 兼容Androidx
recyclerviewx :"androidx.recyclerview:recyclerview:${version["recyclerviewx_version"]}",
constraintlayoutx :"androidx.constraintlayout:constraintlayout:${version["constraintlayoutx_version"]}",
coordinatorlayoutx : "androidx.coordinatorlayout:coordinatorlayout:${version["coordinatorlayoutx_version"]}",
utilcodex:"com.blankj:utilcodex:${version["utilcode_version"]}",
materialx: "com.google.android.material:material:${version["materialx_version"]}", ] }

  比如上面的就是我的config.gradle

我自己总结的话是这个样子书写的:(一般的使用方式)

1).在 最外层添加  ext ,具体的含义是什么,我也不清楚

2)在 ext 中添加 android ,表示这个是android 模块中使用到的内容

3)version 模块,指的是之后的依赖所需要用的版本号

3)dependencies 模块,值得是项目中的依赖模块

除此之外自己还可以自定义模块进行使用


进行使用:

上面的方式是我们config.gradle 的配置方式,但是使用才是我们自己最关心的问题。所以,我们就去看一下(-- v  --)

1.  在 project 的build.gradle 中添加使用

    apply from: "config.gradle"(我习惯在顶部进行使用)

2. 在modle 的build.gradle 中进行使用(例如,这个样子)

    implementation rootProject.ext.dependencies.okhttp

总体来说呢,config.gradle 是没有太大的用处的,但是在 组件化开发 的今天,就现得尤为的重要。

Android 中使用 config.gradle的更多相关文章

  1. [Android] Android Studio 使用config.gradle统一管理项目的依赖库

    gradle支持自定义config.gradle,在GoogleSamples中提到我们必须使用关键字ext(对应ExtraPropertitesExtension的实例)来定义动态属性 如何实现: ...

  2. Gradle在Android中的基本使用

    1.基本概念 程序开发作为一种工程作业,不光是编写代码,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理.....).很多时候,我们反复的build,clean,签名,打包,发布,那 ...

  3. Gradle在Android中的简单使用

    Gradle在Android中简单的使用 还望支持个人博客站:http://www.enjoytoday.cn Android Studio 使用gradle进行工程构建,为了更好的了解整个andro ...

  4. Android中使用开源框架android-image-indicator实现图片轮播部署

    之前的博文中有介绍关于图片轮播的实现方式,分别为(含超链接): 1.<Android中使用ViewFlipper实现屏幕切换> 2.<Android中使用ViewPager实现屏幕页 ...

  5. Android官方技术文档翻译——Gradle 插件用户指南(1-3)

    不知道是什么网络问题,上午一直发不了博客,其它页面基本正常,就是在写博客这里,每次打开都是响应超时.刚才用了VPN,顺便试了一下,竟然能够编辑.想是CDN之类的问题吧. 这次翻译的是Gradle 插件 ...

  6. Android中保存静态秘钥实践(转)

    本文我们将讲解一个Android产品研发中可能会碰到的一个问题:如何在App中保存静态秘钥以及保证其安全性.许多的移动app需要在app端保存一些静态字符串常量,其可能是静态秘钥.第三方appId等. ...

  7. Kotlin 第二弹:Android 中 PDF 创建与渲染实践

    这是 Kotlin 练习的的第二篇.这一篇的由来是因为刚刚在 Android 开发者官网查看 API 的时候,偶然看到了角落里面的 pdf 相关. 我仔细看看了详细文档,发现这个还蛮有意思的,关键是编 ...

  8. UCML 原生Android中嵌入Cordova Webview

    Android实现在当前进程打开网页可以将Cordova中的WebView嵌入Android项目中,实现简单,不需要自己实现,所以掌握如何嵌入WebView对项目快速开发很有帮助 官方也有这方面的教程 ...

  9. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

    解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题http ...

随机推荐

  1. 微服务开发的最大痛点-分布式事务SEATA入门简介

    前言 在微服务开发中,存在诸多的开发痛点,例如分布式事务.全链路跟踪.限流降级和服务平滑上下线等.而在这其中,分布式事务是最让开发者头痛的.那分布式事务是什么呢? 分布式事务就是指事务的参与者.支持事 ...

  2. windows jupyter lab中.ipynb转中文PDF

    在jupyter lab中,File-Export Notebook as-Export Notebook to PDF,可以导出成PDF格式的文档,但在操作前需要安装些程序.1. 安装pandocA ...

  3. html怎么在网页标题栏上添加图标

    需要先把图片格式转换为.ico类型在这个网址在线转换很方便:https://www.easyicon.net/covert/在<head></head>加一行来显示图标(注意, ...

  4. 4.自定义view-进度条控件

    1.效果 2.实现原理 画圆,画圆弧,画文字 外部控制进度,通过invalidate()方法更新 核心代码: @Override protected void onDraw(Canvas canvas ...

  5. java中自定义一个异常类 在某些情况抛出自定的异常 ----------阻断程序

    //=============定义异常类 package org.springblade.flow.engine.errorException; /** * 自定义异常处理写入sap失败 */ pub ...

  6. 「每日一题」面试官问你对Promise的理解?可能是需要你能手动实现各个特性

    关注「松宝写代码」,精选好文,每日一题 加入我们一起学习,day day up 作者:saucxs | songEagle 来源:原创 一.前言 2020.12.23日刚立的flag,每日一题,题目类 ...

  7. Android Studio连接手机调试教程已决解

    Android Studio连接手机调试教程 Windows电脑连接安卓手机需要下载安装驱动,确保电脑联上网络. 准备条件: 1.电脑上安装应用宝软件. 2.手机开发者选项里面打开USB调试,USB安 ...

  8. Selenium执行JavaScript脚本

    JavaScript是运行在客户端(浏览器)和服务器端的脚本语言,允许将静态网页转换为交互式网页.可以通过 Python Selenium WebDriver 执行 JavaScript 语句,在We ...

  9. java线程,进程,多线程

    (1)线程和进程 通俗一点,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行. (2)java中实现线程的两种方式,第一种是继承Thre ...

  10. node使用xlsx导入导出excel

    1.安装和引入xlsx 安装  npm install xlsx 引入:let xlsx = require('xlsx');2.读取excel数据function readFile(file) {  ...