Android gradle统一依赖版本:kotlin+buildSrc

步骤:

  1. 在项目根目录下新建一个名为buildSrc的文件夹(与项目里的app文件夹同级)。
  2. 在buildSrc文件夹里创建名为build.gradle.kts的文件
  3. 在buildSrc文件夹里创建src/main/java文件夹,如下图所示。并在该文件夹下创建Dependencies.kt文件

1. 项目根目录创建文件夹 buildSrc,与app同级,然后新建如下文件夹以及文件:

在这里插入图片描述

以下直接复制即可

build.gradle.kts:

plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
    jcenter()
    google()
}

Dependencies.kt:

object Versions {

    const val version_code = 1
    const val version_name = "1.0"
    const val min_sdk = 23
    const val target_sdk = 30
    const val compile_sdk = 30
    const val build_tools = "30.0.3"
    const val gradle_plugin = "4.1.2"

    const val lifecycle = "2.2.0-rc03"
    const val kotlinx_coroutines = "1.3.0-M1"
    const val retrofit = "2.9.0"
    const val logging_interceptor = "4.2.0"
}

object Libs {

    const val lifecycle_extensions = "androidx.lifecycle:lifecycle-extensions:${Versions.lifecycle}"
    const val lifecycle_viewmodel_ktx =
        "androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.lifecycle}"
    const val lifecycle_livedata_ktx =
        "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.lifecycle}"

    const val kotlinx_coroutines_android =
        "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.kotlinx_coroutines}"

    //Retrofit
    const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
    const val gson = "com.squareup.retrofit2:converter-gson:${Versions.retrofit}"
    const val logging_interceptor =
        "com.squareup.okhttp3:logging-interceptor:${Versions.logging_interceptor}"
}

2. 使用:

在这里插入图片描述

在这里插入图片描述

plugins {
    id 'com.android.library'
    id 'kotlin-android'
    id 'kotlin-kapt'
}

android {
    compileSdkVersion Versions.compile_sdk
    buildToolsVersion Versions.build_tools

    defaultConfig {
        minSdkVersion Versions.min_sdk
        versionCode Versions.version_code
        versionName Versions.version_name

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [AROUTER_MODULE_NAME: project.getName()]
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        viewBinding = true
    }
}

dependencies {

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.2.0'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'

    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    api Libs.lifecycle_viewmodel_ktx
    api Libs.lifecycle_livedata_ktx
    api Libs.gson
//    api Libs.kotlinx_coroutines_core
    api Libs.kotlinx_coroutines_android
    api Libs.lifecycle_extensions
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值