android-studio - 我应该为 Android Studio 3.0 Canary 1 使用什么 kotlin 版本?

标签 android-studio kotlin kotlin-android-extensions

我有一个中型 Kotlin 项目,它使用 anko 和 kotlin android 扩展,特别是来自资源 ID 的合成属性。他们都停止了我升级到 Android Studio 3.0 Canary 1 的工作。尽管他们似乎也停止了 AS 2.3.2 的工作。

这是相关的顶级构建脚本:

buildscript {
    ext.kotlin_version = '1.1.2'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
...

在我的应用模块的构建脚本中,相关部分是:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

repositories {
  mavenCentral()
  jcenter()
}

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'

    dataBinding {
      enabled = true
    }
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile 'org.jetbrains.anko:anko-sdk21:0.9.1'
    compile 'org.jetbrains.anko:anko-support-v4:0.9.1'
    compile 'org.jetbrains.anko:anko-appcompat-v7:0.9.1'

    kapt "com.android.databinding:compiler:2.5.0-alpha-preview-02"
}

kapt {
    generateStubs = true
}

我的命令行构建成功;事实上,IDE 中的构建成功了。但是 Kotlin 现在为我所有的合成属性使用提供了红色标识符。

一个可能的线索是 Kotlin 似乎没有将我的 Activity(AppCompatActivity)识别为 Context 的子类:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    MultiDex.install(this)

“this”有错误的下划线,表明它需要一个上下文!并获得了 MainActivity;我的 MainActivity 定义为:

class MainActivity : AppCompatActivity() {

我的 Kotlin IDE 插件是 1.1.2-4。我不知道如何将它恢复到旧版本。

我尝试重新安装 Android Studio 2.3.2,但 Kotlin 插件也不再在那里工作。

最佳答案

您至少需要使用 Kotlin 1.1.2-4。 因此更改您的 ext.kotlin_version:

ext.kotlin_version = '1.1.2-4'

关于android-studio - 我应该为 Android Studio 3.0 Canary 1 使用什么 kotlin 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44082642/

相关文章:

java - 单击 2 次 Enter 即可在回收器 View 中获得响应

android - 如何在不从 Android Studio 重新上传的情况下在设备上重新运行应用程序的调试版本?

java - MongoDB 和 ElasticSearch Spring 启动

android - 如何在 Kotlin 中使用数据绑定(bind)与 "when"onClickListener

android - 无法将 ViewPager 与 androidx 一起使用

android - Kotlin 类没有从 firebase 获取其 bool 值

android - 如何在 Android Studio 中使用 Prefab 导出创建 AAR?

android - 如何通过 kotlin 中的 Intent 传递自定义对象

android - 无法更新房间数据库项目

android-studio - android studio/intellij idea goto行号