【白水日记】使用build.gradle.kts

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【白水日记】使用build.gradle.kts相关的知识,希望对你有一定的参考价值。

参考技术A     kotlin在android项目中,不光可以代替java文件进行逻辑上的编码,在项目构建中,也可以在build.gradle中使用:grdle kotlin scripts

    首先需要将gradle的版本升级到4.10或者更高,确保androidStudio是3.0以上

    我们先更改最外层的settings.gradle文件,需要先重命名成settings.gradle.kts

之后将

include':app'

改成

include (":app")

之后是build.gradle文件,先更改最外层工程的build,还是先重命名文件,改为build.gradle.kts

    需要更改的有两处:

classpath"com.android.tools.build:gradle:4.0.1"



task clean(type: Delete)

    delete rootProject.buildDir



具体更改思路:

classpath,maven函数都改成

classpath("xxx"),maven("xxx")即

classpath("com.android.tools.build:gradle:4.0.1")

classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.10")

如果使用了maven,需要将配置的url换成

mavenurl = uri("https://xxxxxxxxx")

task,稍微麻烦一点,需要改成tasks.register()

tasks.register("clean", Delete::class.java)

    delete(rootProject.buildDir)



最后是app里的build.gradle,还是重命名成build.gradle.kts

先看plugin

applyplugin:'com.android.application'

apply plugin:'kotlin-android'

apply plugin:'kotlin-android-extensions'

更改成

plugins

    id("com.android.application")

id("kotlin-android")

id("kotlin-android-extensions")



由于内置了kotlin()函数,甚至可以更简写成

plugins

    id("com.android.application")

kotlin("android")

kotlin("android.extensions")



之后是android域下的

compileSdkVersion 30

defaultConfig

    applicationId"com.chip.kts"

    minSdkVersion 23

    targetSdkVersion 30

    versionCode1

    versionName"1.0"

    testInstrumentationRunner"androidx.test.runner.AndroidJUnitRunner"



更改成

compileSdkVersion(30)

defaultConfig

    applicationId  ="com.chip.kts"

    minSdkVersion(23)

targetSdkVersion(30)

versionCode  =1

    versionName ="1.0"

    testInstrumentationRunner ="androidx.test.runner.AndroidJUnitRunner"



基本上都替换成了kotlin风格的赋值和函数

buildTypes相关:

buildTypes

    release

        minifyEnabledfalse

        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),

'proguard-rules.pro'

   



替换成

buildTypes

    getByName("release")

        isMinifyEnabled =false

        proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),

        "proguard-rules.pro")





debug类似

productFlavors相关直接替换成:

productFlavors

    create("product")

        setDimension("enviroment")   



dependencies相关麻烦一点:

dependencies

    implementation fileTree(dir:"libs",include: ["*.jar"])

implementation'androidx.appcompat:appcompat:1.2.0'



更改成:

dependencies

    implementation(fileTree(mapOf("dir" to"libs","include" to listOf("*.jar"))))

implementation("androidx.appcompat:appcompat:1.2.0")



总结下来

文件名改成kts

' '替换成" "

新增“()”或者使用“=”赋值

以上是关于【白水日记】使用build.gradle.kts的主要内容,如果未能解决你的问题,请参考以下文章

假设有杯子a(内盛可乐),杯子b(内盛白水),杯子c(空),请用程序描述ab两个杯子中所盛物质交换的过程

如何测试一个纸杯?

如何测试一个纸杯?

Octave:使用字符串变量指定日记文件?

日志和日记的区别是啥

记一次monolog的RotatingFileHandler使用