Android 中使用 config.gradle
各位同学大家好,当然了如果不是同学,那么大家也同好。哈哈。
大家知道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的更多相关文章
- [Android] Android Studio 使用config.gradle统一管理项目的依赖库
gradle支持自定义config.gradle,在GoogleSamples中提到我们必须使用关键字ext(对应ExtraPropertitesExtension的实例)来定义动态属性 如何实现: ...
- Gradle在Android中的基本使用
1.基本概念 程序开发作为一种工程作业,不光是编写代码,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理.....).很多时候,我们反复的build,clean,签名,打包,发布,那 ...
- Gradle在Android中的简单使用
Gradle在Android中简单的使用 还望支持个人博客站:http://www.enjoytoday.cn Android Studio 使用gradle进行工程构建,为了更好的了解整个andro ...
- Android中使用开源框架android-image-indicator实现图片轮播部署
之前的博文中有介绍关于图片轮播的实现方式,分别为(含超链接): 1.<Android中使用ViewFlipper实现屏幕切换> 2.<Android中使用ViewPager实现屏幕页 ...
- Android官方技术文档翻译——Gradle 插件用户指南(1-3)
不知道是什么网络问题,上午一直发不了博客,其它页面基本正常,就是在写博客这里,每次打开都是响应超时.刚才用了VPN,顺便试了一下,竟然能够编辑.想是CDN之类的问题吧. 这次翻译的是Gradle 插件 ...
- Android中保存静态秘钥实践(转)
本文我们将讲解一个Android产品研发中可能会碰到的一个问题:如何在App中保存静态秘钥以及保证其安全性.许多的移动app需要在app端保存一些静态字符串常量,其可能是静态秘钥.第三方appId等. ...
- Kotlin 第二弹:Android 中 PDF 创建与渲染实践
这是 Kotlin 练习的的第二篇.这一篇的由来是因为刚刚在 Android 开发者官网查看 API 的时候,偶然看到了角落里面的 pdf 相关. 我仔细看看了详细文档,发现这个还蛮有意思的,关键是编 ...
- UCML 原生Android中嵌入Cordova Webview
Android实现在当前进程打开网页可以将Cordova中的WebView嵌入Android项目中,实现简单,不需要自己实现,所以掌握如何嵌入WebView对项目快速开发很有帮助 官方也有这方面的教程 ...
- 解决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 ...
随机推荐
- Eureka系列(七) 服务下线Server端具体实现
服务下线的大致流程图 下面这张图很简单地描述了Server端服务下线的大致流程: 服务下线Server端实现源码分析 Eureka服务实现是通过Server端InstanceResource ...
- 【JVM】类加载时机与过程
虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制.下面来总结梳理类加载的五个阶段. 类加载发生在 ...
- SpringBoot从入门到精通教程(八)
本主要介绍ElasticSearch 和 SpringBoot 的整合 ,对您有帮助的话,点个关注哦 ElastSearch 介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供 ...
- 精尽Spring MVC源码分析 - LocaleResolver 组件
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- Java 细粒度锁续篇
在上篇文章中大概介绍了 Java 中细粒度锁的几种实现方式,并且针对每种方式都做了优缺点说明,在使用的时候就需要根据业务需求选择更合适的一种.上篇文章中的最后一种弱引用锁的实现方式,我在里面也说了其实 ...
- SQLServer访问WebServices提示:SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问
问题描述 在数据库中调用webservices, 提示:SQLServer访问WebServices提示:SQL Server 阻止了对组件 'Ole Automation Procedures' 的 ...
- Visual Studio 2013中安装Resharper之后一些快捷键无法使用,比如F6和F12
快捷键是一个很好用的东西,尤其对于计算机从业者来说,好的快捷键能够高程度提高工作效率.像我们程序员经常需要团队开发,我们会遇到一个问题,那就是快捷键不一致问题,我一般会安装resharper,但是有的 ...
- 拥抱 C/C++ : Android JNI 的使用
编译工具 CMake 以及 Android 上 JNI 的使用介绍. 编译工具 CMake 在Android Studio 2.2 之后,工具中增加了 CMake 的支持,于是我们有两种选择来编译 c ...
- easyui中刷新列表
<table class="crud-content-info" id="showProductDialogFormstandrad"> </ ...
- mongoose连接collections会自动加s的问题解决
问题的出现: 最近在用到mongoose连接数据库时遇到了这样的问题,我在mongoodb上创建了一个collection为course,然后在配置完mongoose连接数据库后拿到的是一个空对象. ...