【白水日记】使用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的主要内容,如果未能解决你的问题,请参考以下文章