随着开发项目变大,我们经常会有几十个module,里面有各自的build.gradle文件,各种编译的sdk,库版本等配置。目前搜到的都是类似下面的方案,每个build.gradle都要改,累不累?最重要是这个玩意别的地方改了,你不知道。。。

android {    compileSdkVersion rootProject.ext.compileSdkVersion    defaultConfig {        minSdkVersion rootProject.ext.minSdkVersion        targetSdkVersion rootProject.ext.targetSdkVersion        }    }

我们都会想做全局控制,下面这串模板代码可以帮你做到这个效果:

subprojects {        //修改别的字段看这个官方文档:https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.AppExtension.html        project.afterEvaluate {            project.plugins.withId('com.android.library') {                println("start change config ,libName=" + project.name)                project.android.compileSdkVersion rootProject.ext.compileSdkVersion                project.android.defaultConfig.minSdkVersion rootProject.ext.minSdkVersion                project.android.defaultConfig.targetSdkVersion rootProject.ext.targetSdkVersion            }        }        project.configurations.all {            resolutionStrategy.eachDependency { details ->                if (details.requested.group == 'com.android.support' && !details.requested.name.contains('multidex') ) {                    details.useVersion rootProject.ext.support_version                }                if (details.requested.group == 'org.slf4j') {                    details.useVersion rootProject.ext.slf4jVersion                }            }        }    }ext{     compileSdkVersion = 28    minSdkVersion = 15    targetSdkVersion = 28    support_version = "27.0.2"    slf4jVersion="1.7.5" }

只需要在项目的最外面的build.gradle里面加多这个,就可以做到全局控制啦!

android-gradle
觉得有用的点个赞!

更多相关文章

  1. Android-Jni线程(三)— JNI全局回调java方法
  2. 在Android中使用Application保存全局变量
  3. android中共享全局数据的方法
  4. Android中用Application类实现全局数据变量的使用
  5. android C/C++ source files 全局宏定义 .
  6. application全局变量
  7. android使用全局变量的方法
  8. android全局dialog

随机推荐

  1. 【Effective Java】条30:使用枚举代替int
  2. java中excel导出包括合并单元格和单元格
  3. java中jar包的使用
  4. 关于String、集合、数组的长度
  5. java后台对上传的图片进行压缩
  6. java的学习方法(转自黑马程序员)
  7. ArcGIS JS API For JavaScript实现类台风
  8. java线程池使用场景和使用方法较详细文摘
  9. 7-Flink的分布式缓存
  10. 【笔记】上传图片和音频