美文网首页我爱编程
as中统一管理版本号

as中统一管理版本号

作者: boyrt | 来源:发表于2018-04-13 14:52 被阅读0次

    项目中module很多的时候,各module中build.gradle文件中的compileSdkVersion、buildToolsVersion及依赖库版本(如appcompat-v7)可能存在版本不一致的问题。
    针对该问题,解决方案是:统一管理版本号

    1. config.gradle文件创建
    2. 版本号引用

    1.config.gradle

    在项目根目录下创建config.gradle文件,具体内容自定义:

    ext{
        androidBuildToolsVersion = "26.0.2"
        androidMinSdkVersion = 16
        androidTargetSdkVersion = 26
        androidCompileSdkVersion = 26
        supportLibraryVersion = '26.+'
    
    
        // 设置是否使用混淆
        MINIFY_ENABLED = true
        MINIFY_DISABLED = false
    
        // Version of "com.android.support:appcompat-v7", refer it as folow:
        //  compile "com.android.support:appcompat-v7:${APPCOMPAT_VERSION}"
        APPCOMPAT_VERSION = '26.+'
        version = '1.5'
        android = [
                recyclerView: "com.android.support:recyclerview-v7:${supportLibraryVersion}",
                appcompat_v7: "com.android.support:appcompat-v7:${supportLibraryVersion}",
                support_v4  : "com.android.support:support-v4:${supportLibraryVersion}",
        ]
    
        view = [
                aaaaaa: "com.xxxxxx:aaaaaa:${version}",
        ]
    }
    

    当然,你也可以将config.gradle的内容直接写在项目根目录下的build.gradle文件中。

    2.版本号引用

    首先需要在根目录下的build.gradle文件中,添加对config.gradle文件的引用

    apply from: 'config.gradle'
    

    如果config.gradle的内容直接写在了build.gradle文件中,上面的引用步骤可以忽略。

    添加引用后,就可以在module的build.gradle文件中引用设置的版本号。
    关键代码:
    rootProject.ext.***
    $rootProject.APPCOMPAT_VERSION

    android {
        compileSdkVersion rootProject.ext.androidCompileSdkVersion
        buildToolsVersion rootProject.ext.androidBuildToolsVersion
        defaultConfig {
            applicationId "com.***.myvideodemo"
            minSdkVersion rootProject.ext.androidMinSdkVersion
            targetSdkVersion rootProject.ext.androidTargetSdkVersion
            versionCode 1
            versionName "1.0"
        }    
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        ...
        compile "com.android.support:appcompat-v7:$rootProject.APPCOMPAT_VERSION"
        
    }
    

    说明一个坑:
    compile "com.android.support:appcompat-v7:$rootProject.APPCOMPAT_VERSION"
    compile后面必须使用双引号,如果使用单引号,编译报错

    image.png

    相关文章

      网友评论

        本文标题:as中统一管理版本号

        本文链接:https://www.haomeiwen.com/subject/sprfkftx.html