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

大家知道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. JeecgBoot table 渲染图片

    使用jeecgboot框架,在table列表显示图片 使用Column 的customRender属性 通过以上设置,就会在列表页显示图片了

  2. SysCtlDelay 实现延时

    SysCtlDelay 实际上由 3 条汇编指令实现,一次可以延时 3 个 clock. 例如,初始化系统时钟: SysCtlClockFreqSet((SYSCTL_XTAL_16MHZ | SYS ...

  3. create-react-app 基于TS的项目

    写在前面 最近在用React,发现百度了很多都没有找到基于TS的React项目搭建,很多是老的方法已经属于不成功的了,今天我把最新的搭建基于ts的React的项目分享出来 create-react-a ...

  4. 初始Node

    node是什么? ​ 一句话: 服务器 什么是服务器: ​ 一句话: 客户端访问 并且能够响应 为什么: ​ 一句话: 执行效率高 #安装 #控制台 切换磁盘: e: 改变目录: cd 目录 cd.. ...

  5. global和nonlocal之间的区别

    在局部修全局的:global 在局部修改嵌套的:nonlocal nonlocal代码示范 # 在局部作用域内去修改嵌套作用域内的变量# 当我们在局部作用域内要修改嵌套作用域内的变量时,需要使用non ...

  6. JDK 8 新特性,从入门到精通

    default关键字 在jdk1.8以前接口里面是只能有抽象方法,不能有任何方法的实现的. 在jdk1.8里面打破了这个规定,引入了新的关键字:default,使用default修饰方法,可以在接口里 ...

  7. 部署docker镜像仓库及高可用

      下载地址: https://github.com/goharbor/harbor/releases   安装harbor服务器: 安装harbor root@harbor-vm1:/usr/loc ...

  8. 【入门必看】不理解「对象」?很可能有致命bug:简单的Python例子告诉你

    简介:越来越多的人要在学习工作中用到『编程』这个工具了,其中很大一部分人用的是Python.大部分人只是做做简单的科研计算.绘图.办公自动化或者爬虫,但-- 这就不需要理解「指针与面向对象」了吗? 在 ...

  9. Phthon几个特殊的函数

    Python有几个相对特殊的函数,他们并不会提高工作效率,但是会使代码优雅简洁,其中包括lambda, map, reduce, filter, yeild. 第一:lambda,贴些代码体会. 1 ...

  10. 本地缓存高性能之王Caffeine

    前言 随着互联网的高速发展,市面上也出现了越来越多的网站和app.我们判断一个软件是否好用,用户体验就是一个重要的衡量标准.比如说我们经常用的微信,打开一个页面要十几秒,发个语音要几分钟对方才能收到. ...