не может вызывать модуль kotlin из java-модуля

Я хочу иметь приложение для Android в java, но один библиотечный модуль в kotlin. Однако, когда я пытаюсь запустить приложение в своем телефоне, есть ошибка, говорящая, что он не может найти мой класс Kotlin. Это мой класс kotlin:

package com.example.mylibrary import android.util.Log class A { fun helloWorld(){ Log.d("Kotlin", "Hello World!") } } 

и файл gradle для моего модуля kotlin:

 apply plugin: 'com.android.library' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { minSdkVersion 11 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.1' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } buildscript { ext.kotlin_version = '0.6.+' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } repositories { mavenCentral() } 

Вот моя основная деятельность:

 package com.example.uisample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.example.mylibrary.A; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); A obj = new A(); obj.helloWorld(); } } 

Обратите внимание, как андроид-студия импортирует com.example.mylibrary.A вместо com.example.mylibrar.Akt в качестве ссылки. Студия Android не сообщает об ошибках перед компиляцией.

Файл Gradle для приложения:

 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.example.uisample" minSdkVersion 11 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.1' compile project(':mylibrary') } 

После запуска проекта gradle выдает эту ошибку: «не может найти символ класса A». Что я делаю не так?

Несколько вещей:

  1. Примените плагин kotlin-android к библиотечному модулю build.gradle ( см. Документы ):

     apply plugin: 'kotlin-android' 

    Как сейчас, вы даже не говорите градлу, чтобы скомпилировать файлы Kotlin.

  2. Вероятно, ваш блок buildscript должен быть на уровне build.gradle верхнего уровня, а не на модуле build.gradle.

  3. Рассмотрите возможность обновления полностью выпущенной версии Kotlin 1.0.1-2