no se puede llamar al module kotlin desde el module java

Quiero tener una aplicación de Android en Java, pero un module de biblioteca en kotlin. Sin embargo, cuando bash ejecutar la aplicación en mi teléfono, aparece un error que dice que no puede encontrar mi class Kotlin. Esta es mi class de kotlin:

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

y file gradle para mi module 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() } 

Aquí está mi actividad principal:

 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(); } } 

Observe cómo el estudio de Android importa com.example.mylibrary.A lugar de com.example.mylibrar.Akt como dice la reference. Android studio informa que no hay errores antes de comstackr.

Archivo Gradle para la aplicación:

 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') } 

Después de ejecutar el proyecto, Gradle arroja este error: "no se puede encontrar la class de símbolo A". ¿Qué estoy haciendo mal?

Unas pocas cosas:

  1. Aplique el complemento kotlin-android a su module de biblioteca build.gradle ( vea los documentos ):

     apply plugin: 'kotlin-android' 

    Tal como están las cosas ahora, ni siquiera le está diciendo a Gradle que compile los files de Kotlin.

  2. Su bloque de compilation probablemente debería estar en el build.gradle de nivel superior en lugar del build.gradle del module.

  3. Considere actualizar la versión completa de Kotlin 1.0.1-2

  • Cómo atrapar muchas excepciones al mismo time en Kotlin
  • Kotlin Decompiler genera código erróneo - ¿Es posible prevenir?
  • La expresión del object Kotlin no funciona como se esperaba
  • Sumar un subset de numbers en una list
  • Fallo de verificación de contrato en corda Hello World pt 2
  • usando Gson en kotlin para analizar json array
  • Tiempo de espera en las testings de espresso, la testing no se ejecuta
  • package de alternativa protegida en kotlin
  • Característica Kotlin `typealias`
  • ¿Cómo puedo get un número aleatorio en Kotlin?
  • Archivos duplicates copydos en APK META-INF / library_release.kotlin_module