app模块中引用的android库模块的“未解析的引用”错误

时间:2018-03-06 06:03:13

标签: android android-studio kotlin android-gradle android-library

我在项目中引用我的android库模块时遇到问题。在主应用程序模块旁边,我使用了一个带有util东西或数据模块的android库模块。我在app模块中引用它:

dependencies {
    implementation project(":data")
}

当我构建项目时,它为我在app模块中引用到android库模块的所有内容提供了大量错误消息'Unresolved reference: ...'。但IDE本身没有问题,Intelligent发现所有类,接口等,导入很好,没有什么是红色的。 android库模块本身在输出中构建并创建aar-file。这是compileDebugKotlin任务失败

可能与此相关的一般概念是什么?

5 个答案:

答案 0 :(得分:62)

发现问题,我的android库模块缺少kotlin配置:

apply plugin: 'kotlin-android'

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlinVersion:<version>"
}

虽然我在其中使用了kotlin .kt文件,但它可以在没有和

的情况下构建

Tools -> Kotlin -> 'Configure Kotlin in projects'

告诉我'所有带Kotlin文件的模块都已配置'

答案 1 :(得分:13)

您的模块的build.gradle文件应该包含:

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

dependencies {
    ...
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    ...
}

答案 2 :(得分:12)

在我的情况下是apply plugin: 'kotlin-android'

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

并将其添加到build.gradle

androidExtensions {
  experimental = true
}

答案 3 :(得分:0)

如果它是kotlin模块,请确保在其build.gradle文件中添加

apply plugin: 'kotlin'

答案 4 :(得分:0)

我正在使用CoroutineWorkers,就我而言,我必须添加 work-runtime-ktx 依赖项才能使用它

implementation "androidx.work:work-runtime-ktx:2.4.0"