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

大家知道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. Fabric 配置 order节点问题

    问题描述: Error: failed to create deliver client: orderer client failed to connect to orderer.example.co ...

  2. css进阶 06-CSS开发积累

    06-CSS开发积累 #让flex盒子中的子元素们,居中 flex布局常用的三行代码: display: flex; justify-content: center; // 子元素在横轴的对齐方式 ( ...

  3. css进阶 02-CSS布局

    02-CSS布局 #前言 #常见的布局属性 (1)display 确定元素的显示类型: block:块级元素. inline:行内元素. inline-block:对外的表现是行内元素(不会独占一行) ...

  4. 阿里云Centos7.6上面部署基于redis的分布式爬虫scrapy-redis将任务队列push进redis

    Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取.但是当我们要爬取的页面非常多的时候,单个服务器的处理能力就不能满足我们的需求了(无论是处理速度还是网络请 ...

  5. 附029.Kubernetes安全之网络策略

    目录 环境构建 基础环境构建 网络测试 安全策略 策略配置 策略测试 ingress方向测试 egress方向测试 to和from行为 默认策略 环境构建 基础环境构建 [root@master01 ...

  6. matplotlib学习日记(八)----完善统计图

    (一)再说legend() import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 2.1, 0.1) y = np.p ...

  7. React Native Android 环境搭建

    因为工作需要,最近正在学习React Native Android.温故而知新,把学习的内容记录下来巩固一下知识,也给有需要的人一些帮助. 需要说明的是,我刚接触React Native也不久,对它的 ...

  8. 创建txt文件,并且写入内容

    使用fopen的w方式就可以创建一个新的txt文件,如果文件名存在该文件内容会消失. 1. fopen的函数原型:FILE * fopen(const char * path,const char * ...

  9. java中使用IO流复制文件

    public class TestIO { public static void main(String[] args) { // TODO Auto-generated method stub tr ...

  10. cmd命令符大全

    cmd命令大全(第一部分) winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更 ...