Я добавил файл Kotlin, содержащий три класса, в проект Android Studio, изначально написанный на Java. Файл прекрасно компилируется в Android Studio, и проект собирается, пока я не попытаюсь заставить класс Java взаимодействовать с классом Kotlin. Android Studio выдаёт мне следующую ошибку:
Java compiler:
[path]/[project]
app/src/main/java
[project].jav
error: cannot find symbol class Quiz_abTime
Когда я добавил файл, Android Studio пожаловалась на конфигурацию gradle, но я запустил конфигурацию, и она говорит, что все модули, использующие Kotlin, настроены.
Обратите внимание, что я уже пытался сделать недействительным кеш и перезапустить Android Studio, так что это не проблема.
Вот мои build.gradle
файлы. Модуль первый:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.61'
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
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 {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
Теперь приложение build.gradle
:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
compileSdkVersion 26
defaultConfig {
applicationId [application name deleted for SO]
minSdkVersion 16
targetSdkVersion 26
versionCode 6
versionName "2.0.5"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:support-vector-drawable:26.1.0'
implementation 'com.android.support:appcompat-v7:26.1.0' // where X.X.X version
implementation 'com.github.yukuku:ambilwarna:2.0.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
repositories {
mavenCentral()
}
Вот еще одна проблема, которую я включаю только потому, что она может быть связана. В моем основном приложении у меня есть следующее:
import android.support.v7.app.ActionBar;
Любопытно, что ActionBar
выделен красным, и это говорит Cannot resolve symbol
ActionBar`. Есть несколько других выделенных как это; это началось после того, как Android Studio запросила обновление. Тем не менее, по крайней мере, это строит; сборка завершается неудачно, только когда я пытаюсь получить доступ к классу Kotlin из класса Java.
Я делал Kotlin с Java раньше в Android Studio, и это не было проблемой, но может ли кто-нибудь сказать мне, где искать проблемы, которые мешают компилятору Java видеть класс Kotlin?