如何获得Android Studio';如何使用Java编译器识别Kotlin类?

如何获得Android Studio';如何使用Java编译器识别Kotlin类?,java,android-studio,kotlin,classnotfound,Java,Android Studio,Kotlin,Classnotfound,我向最初用Java编写的Android Studio项目添加了一个包含三个类的Kotlin文件。该文件在androidstudio中编译得很好,项目一直在构建,直到我尝试获得一个Java类来与Kotlin类交互。Android Studio给了我以下错误: Java compiler: [path]/[project] app/src/main/java [project].jav error: cannot find symbol c

我向最初用Java编写的Android Studio项目添加了一个包含三个类的Kotlin文件。该文件在androidstudio中编译得很好,项目一直在构建,直到我尝试获得一个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
以红色突出显示,它表示
无法解析符号
ActionBar`。还有其他几个像这样高调的;这是在Android Studio要求升级后开始的。然而,至少这建立了;只有当我尝试从Java类访问Kotlin类时,构建才会失败


我以前在Android Studio中使用Java编写过Kotlin,这不是问题,但是有人能告诉我在哪里查找阻止Java编译器查看Kotlin类的问题吗?

在这种情况下,Android Studio没有在Kotlin文件前加上一行重要的内容:

package [packagename]

我一加上这些,它就编译并运行得很好。我认为这是一种自然而然会发生的事情,但显然不是——或者至少不是在这种情况下,出于任何原因。它找不到的其他符号的问题显然是无关的。

请访问此链接获取assistance@ViralThakker No,将Java源代码转换为Kotlin代码是一个完全不同的主题。它找不到的其他符号的问题通过删除Android Studio某处的
文件夹得到修复;如果你够努力的话,你会找到一个非常好的问题和答案。