在Android Studio项目中支持Kotlin需要两个依赖项:var ss = SpreadsheetApp.getActive();
var target = ss.getSheetByName('Data Entry');
target.insertRowsAfter(target.getMaxRows(), 10)
中的=If(len(D3:D),vlookup(D3:D,'Configuration List'!A2:B,2,0),"")
和kotlin-gradle-plugin
中的Project/build.gradle
,并且这两个必须具有相同的版本。常见的方法似乎是使用单个kotlin-stdlib-jdk7
变量,然后在IDE更新其Kotlin插件时必须手动更改它-从Android Studio 3.1.3开始,如果出现以下情况,IDE仍无法自动更新依赖项您使用Project/app/build.gradle
作为版本。
kotlin_version
在非Android Kotlin项目中,即使用$variable
而不是implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
的项目中,可以简单地从apply: 'kotlin'
依赖项中omit the version,然后将其自动解析从插件。
apply plugin: 'kotlin-android'
这甚至适用于Android项目中的非Android模块。我的问题是,为什么不能在Android模块中做到这一点?为什么不能简单地省略kotlin-stdlib-jdk7
?如果自Kotlin 1.1.2起已存在该功能,为什么即使在Kotlin 1.2.51上,它仍会在Android上引起编译错误?还是实际上有可能这样做,如果是这样,怎么做?
答案 0 :(得分:0)
实际上,这不是Kotlin所特有的,而是与Gradle如何管理依赖关系有关。
有关如何在Gradle中指定依赖项版本的信息,请参见https://docs.gradle.org/current/userguide/declaring_dependencies.html。
在这种情况下
public function users()
{
return $this->hasMany(User::class, 'id');
}
public function commenteduser()
{
return $this->hasMany(User::class, 'id');
}
是设置版本的标准方法。由于此版本号在多个依赖项中都相同,因此在变量中声明了该版本号,以便轻松更改所有Kotlin库的版本。
function foo(resolve) {
setTimeout(() => {
console.log("hello world");
resolve();
}, 1000)
}
function bar() {
return new Promise(function(resolve) {
foo(resolve)
})
}
bar().then(() => console.log("foo has completed"))
使用implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
,自Gradle 4.6起可用。它用于相同的目的。可以将库的版本设置在一个中央位置,这样便可以使版本保持相同的值,而不必遍历较大项目的所有implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7'
文件。