В разумных пределах вы контролируете версию Kotlin, которая используется и, следовательно, какие функции доступны.
Если у вас есть проект Android Studio с поддержкой Kotlin, и вы смотрите на верхнем уровне build.gradle
файл, вы можете увидеть код, подобный следующему:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.3.20'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// 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
}
ext.kotlin_version = '1.3.20'
управляет версией Kotlin, которую вы будете использовать для плагина Kotlin (через интерполированную строку в директиве classpath
), и аналогично дляЗависимость времени выполнения Kotlin в файле build.gradle
модуля.
Таким образом, проект с вышеуказанным кодом может использовать функции Kotlin / JVM, которые были поддержаны в Kotlin 1.3.20.
Зависимость времени выполнения, котораямы используем сегодня org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version
.jdk7
означает, что среда выполнения не зависит от каких-либо компонентов Java 8+, которых не хватает в Android.
Однако для внесения изменений в будущих версиях Kotlin вам потребуется обновить версию Kotlin в своем проекте.Например, проект, использующий 1.2.71, может не иметь доступа ко всему синтаксису Kotlin 1.3.