Setting文件可以说是子项目(也可以说是Module)的配置文件,大多数setting.gradle的作用是为了配置子工程,再Gradle多工程是通过工程树表示的。
例如:
在Android studio中指定相应的module能在主谨灶工程当中使用:
项目工程如下:
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换成
maven{url = 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
' '替换成" "
新增“()”或者使用“=”赋值
通常在项目的根目录,在Android Studio 创建一个项目的时候,根目录下会生成gradle.properties和local.properties文件。
properties的数据格式:
采用键值对的方式,写法:key=value
扩裂斗唯展资料
项目结构
1、app/build:app模块编译输出的文件。
2、app/libs: 放置引用的类库文件。
3、app/src: 放置应用的主要文件目录。
4、app/src/androidTest:单元测试目录。
5、app/src/main:主要的项目目录和代码。
6、app/src/main/assets:放置原生文件,里面的文件会保留原有格式,文件的读取需要通过流。
7、app/src/main/java:项目的源代码。
8、build:系统生成的肆培文件目录。
9、gradle: wrapper的jar和配置文件所在的位置。
10、.gitattributes:用于设置文件的对比方式。
11、.gitignore: 忽略的文件或者目录。
12、build.gradle:项目的gradle编译文件。
13、gradle.properties: gradle相关的全局属性设置。
14、gradlew: 编译脚本,可以在命令行执行打包。
15、gradlew.bat:windows下的gradle wrapper可执行文件。
16、local.properties:配置SDK/NDK所在的路径。
17、MyApplication.iml:销稿保存该模块的相关信息。
18、README.md:文本编辑器,记录一些相关信息。
19、settings.gradle:设置相关的gradle脚本。
20、External Libraries:项目依赖的库,编译时自动下载。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)