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

??? kotlin在android項(xiàng)目中闯冷,不光可以代替java文件進(jìn)行邏輯上的編碼撞牢,在項(xiàng)目構(gòu)建中摆马,也可以在build.gradle中使用:grdle kotlin scripts

????首先需要將gradle的版本升級(jí)到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函數(shù)都改成

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換成

maven{url = uri("https://xxxxxxxxx")}

task谋旦,稍微麻煩一點(diǎn),需要改成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")

}

由于內(nèi)置了kotlin()函數(shù)册着,甚至可以更簡(jiǎn)寫成

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風(fēng)格的賦值和函數(shù)

buildTypes相關(guān):

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相關(guān)直接替換成:

productFlavors{

? ? create("product"){

? ? ? ? setDimension("enviroment")? ? }

}

dependencies相關(guān)麻煩一點(diǎn):

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")

}

總結(jié)下來

文件名改成kts

'?'替換成"?"

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市脾歧,隨后出現(xiàn)的幾起案子甲捏,更是在濱河造成了極大的恐慌,老刑警劉巖鞭执,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件司顿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡兄纺,警方通過查閱死者的電腦和手機(jī)大溜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來估脆,“玉大人钦奋,你說我怎么就攤上這事「碓” “怎么了付材?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)圃阳。 經(jīng)常有香客問我厌衔,道長(zhǎng),這世上最難降的妖魔是什么捍岳? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任富寿,我火速辦了婚禮睬隶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘作喘。我一直安慰自己理疙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布泞坦。 她就那樣靜靜地躺著窖贤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贰锁。 梳的紋絲不亂的頭發(fā)上赃梧,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天,我揣著相機(jī)與錄音豌熄,去河邊找鬼授嘀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛锣险,可吹牛的內(nèi)容都是我干的蹄皱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼芯肤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼巷折!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起崖咨,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤锻拘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后击蹲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體署拟,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年歌豺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了推穷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡类咧,死狀恐怖缨恒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轮听,我是刑警寧澤骗露,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站血巍,受9級(jí)特大地震影響萧锉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜述寡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一柿隙、第九天 我趴在偏房一處隱蔽的房頂上張望叶洞。 院中可真熱鬧,春花似錦禀崖、人聲如沸衩辟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艺晴。三九已至,卻和暖如春掸屡,著一層夾襖步出監(jiān)牢的瞬間封寞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國打工仅财, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狈究,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓盏求,卻偏偏與公主長(zhǎng)得像抖锥,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碎罚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容