关于Android studio里ext中的$rootProject的总结

gradle统一入口版本管理的初衷是解决一个项目只要一个地方修改,各个有引用的模块便可以自动生效,从而达到了一个地方修改各个地方生效的好处,同时能保持gradle引用库版本的一致。使用方法如下:

1.首先在项目级别的build.gradle文件底部添加如下信息:

ext{
    // Sdk and tools
    minSdkVersion = 15
    targetSdkVersion = 26
    compileSdkVersion = 26
    buildToolsVersion = '25.0.2'

    // App dependencies
    junitVersion = '4.12'
    v7Version='26.1.0'
}

2、接下来就是在模块级别的build.gradle文件中引用,举例如下:

defaultConfig {
        applicationId "com.guoqiang.androidmodule.common"
        minSdkVersion rootProject.ext.minSdkVersion        
    }
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "com.android.support:appcompat-v7:$rootProject.v7Version"  
    testImplementation "junit:junit:$rootProject.junitVersion"
}

通过以上两个步骤便可以完成版本的统一管理了。

使用过程中遇到的坑:

如果在dependencies中通过下面的引用方式就会报错,这里必须使用双引号"",使用单引号''就会报错,不知道gradle内部机制是怎么处理的,这里折腾了半天才知道是单引号引起的问题,使用过程中需要注意。

 implementation 'com.android.support:appcompat-v7:$rootProject.v7Version'

猜你喜欢

转载自blog.csdn.net/u010743173/article/details/80379961
今日推荐