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

大家知道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. monkey 基本用法

    monkey测试步骤: 一.使用模拟机 1.安装好虚拟机,比如说天天模拟机.夜神模拟机.雷神模拟机 2.将需要测试的APK装在虚拟机上 3.cmd>adb shell 连接模拟机 4.输入命令m ...

  2. 【软件测试 Python自动化】全网最全大厂面试题,看完以后你就是面试官!

    前言 为了让大家更好的理解和学习投入到Python自动化来找到一份好的资料也是学习过程中,非常重要的一个点.你的检索能力越强,你就会越容易找到最合适你的资料. 有需要的小伙伴可以复制群号 313782 ...

  3. Java篇:Docker的介绍安装 和常用命令

    文章目录 为什么 出现docker Docker的简介 容器(Container) 镜像(Image) 仓库(Repository) Docker的安装 查看容器 删除镜像 删除容器 部署应用 以my ...

  4. 自学python,从小白到大神,需要多久?

    2020年10月 TIOBE 排行榜超过了 Java, 历史上首次 Python 超越了 Java ,再次让许多朋友对 Python 产生了兴趣,今天我们来梳理下学习 Python 几个阶段或者级别, ...

  5. IIS放置的APP安装包在浏览器无法打开

    无法打开的提示   操作步骤 1.将APP安装包放置到指定的文件夹中. 2.在IIS中MIME中添加MIME类型 扩展名:.apk MIME类型:application/vnd.android.pac ...

  6. JavaDailyReports10_06

    今日收获: 一.所有引用类型变量的初始化一定要使用new 关键字定义声明,空指针异常的错误原因可能是变量没有初始化导致的. 每一个类体的数据成员一定要在实例化的同时赋值,用一个实例化的类实现问题中最小 ...

  7. Spring Boot中初始化资源的几种方式

    CommandLineRunner 定义初始化类 MyCommandLineRunner 实现 CommandLineRunner接口,并实现它的 run()方法,在该方法中编写初始化逻辑 注册成Be ...

  8. 软件“美不美”,UI测试一下就知道

    摘要:软件测试的最高层次需求是:UI测试,也就是这个软件"长得好不好看". 为了让读者更好地理解测试,我们从最基础的概念开始介绍.以一个软件的"轮回"为例,下图 ...

  9. 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击

    风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...

  10. 项目实战--JSON.toJSONString()

    需求说明:公司使用Swagger(接口文档在线生成工具),为了让前端同事更好的了解传入参数的详细情况,应用项目中接口(eg:分页查询接口)中使用dto对象来接受前端传入的参数,但是后面中心项目中接口是 ...