Android之使用Kotlin構建Gradle

參考鏈接

buildSrc

  1. 在項目根目錄下新建一個名爲buildSrc的文件夾(與項目裏的app文件夾同級)。
    在這裏插入圖片描述

  2. 在buildSrc文件夾裏創建名爲build.gradle.kts的文件

plugins {
    `kotlin-dsl`
}
repositories {
    jcenter()
}
  1. 在buildSrc文件夾裏創建src/main/kotlin文件夾,在src/main/kotlin目錄下新建一個包,並在該包下創建kt文件(Dep.kt)。如下圖所示
    在這裏插入圖片描述

Deps.kt 字符串需要使用雙引號""

/**
 * Created by Donkey
 * on 2:25 PM
 */
package donkey.dependencies

object Versions {
    const val compileSdk = 29
    const val buildTools = "29.0.3"
    const val minSdk = 21
    const val targetSdk = 29
    const val versionCode = 1
    const val versionName = "1.0"
    const val kotlin = "1.3.72"
    const val core_ktx = "1.3.0"
    const val appcompat = "1.1.0"
    const val constraintLayout = "1.1.3"
    const val junit = "4.12"
    const val test_junit = "1.1.1"
    const val test_espresso = "3.2.0"
}

object Deps {
    const val kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin}"
    const val core_ktx = "androidx.core:core-ktx:${Versions.core_ktx}"
    const val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
    const val constraintLayout = "androidx.constraintlayout:constraintlayout:${Versions.constraintLayout}"
    const val junit = "junit:junit:${Versions.junit}"
    const val test_junit = "androidx.test.ext:junit:${Versions.test_junit}"
    const val test_espresso ="androidx.test.espresso:espresso-core:${Versions.test_espresso}"

}

build.gradle(module) 使用

import donkey.dependencies.Versions
import donkey.dependencies.Deps
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion Versions.compileSdk
    buildToolsVersion Versions.buildTools

    defaultConfig {
        applicationId "com.wanandroid"
        minSdkVersion Versions.minSdk
        targetSdkVersion Versions.targetSdk
        versionCode Versions.versionCode
        versionName Versions.versionName

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation Deps.kotlin_stdlib
    implementation Deps.core_ktx
    implementation Deps.appcompat
    implementation Deps.constraintLayout
    testImplementation Deps.junit
    androidTestImplementation Deps.test_junit
    androidTestImplementation Deps.test_espresso
}

build.gradle(project)

// Top-level build file where you can add configuration options common to all sub-projects/modules.
import donkey.dependencies.Versions
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.0"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$Versions.kotlin"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章