kotlin开发android过程中出现Unresolved reference
在已经确保kotlin各种配置正确的情况下,比如在project:build.gradle中
buildscript {
ext.kotlin_version = '1.1.2-4'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
}
}
在app:build.gradle中
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
如果你已经确保已经在上面进行正确的配置,这个时候出现kotlinx出现没有引用的原因则在于这个引用存在于你的module中,所以会导致这个问题的出现。
解决这个问题有两个办法:
1.按照正常的android开发模式,不使用kotlinx工具进行直接引用,也就是说用findviewbyid的方式获取资源,不使用kotlinx直接导入
import kotlinx.android.synthetic.main.falut_main_layout.*//这种方式是错误的
2.将存在与module中的资源文件放入到app下面
总的来说,这两种方式各有优劣,具体用那种方式根据需求而定吧,但是同时希望jetbrains能够把kotlinx工具做得更完美一点,兼容这种在不同module下的kotlinx的使用