Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 无法从java模块调用kotlin模块大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在 java中有一个 Android应用程序,但在kotlin中有一个库模块.但是,当我尝试在手机中运行应用程序时,出现错误,说它无法找到我的Kotlin类.这是我的kotlin课程:
package com.example.mylibrary

    import android.util.Log

    class A {
        fun HelloWorld(){
            Log.d("Kotlin","Hello World!")
        }
    }

和我的kotlin模块的gradle文件

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'
        }
    }
    @R_673_9016@eSets {
        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();

    }

}

请注意android studio如何导入com.example.mylibrary.A而不是com.example.mylibrar.Akt作为参说明. Android studio在编译之前没有报告任何错误.

应用程序的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”.我究竟做错了什么?

解决方法

一些东西:

>将kotlin-android插件应用到库模块build.gradle(see the docs):

apply plugin: 'kotlin-android'

就像现在一样,你甚至没有告诉gradle编译Kotlin文件.>您的buildscript块可能应该位于顶级build.gradle而不是模块build.gradle.>虑更新完全发布的Kotlin 1.0.1-2版本

大佬总结

以上是大佬教程为你收集整理的android – 无法从java模块调用kotlin模块全部内容,希望文章能够帮你解决android – 无法从java模块调用kotlin模块所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。