【问题标题】:Android/Kotlin: unresolved reference: timberAndroid/Kotlin:未解决的参考:木材
【发布时间】:2017-06-17 21:41:52
【问题描述】:

我正在尝试为 Android 编写一个 kotlin 库,但不能包含木材。我总是收到以下错误:

Error:error: unresolved reference: timber

我的 build.gradle 中有这个:

apply plugin: 'java-library'
apply plugin: 'kotlin'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
}

sourceCompatibility = "1.8"
targetCompatibility = "1.8"

buildscript {
    ext.kotlin_version = '1.1.2-4'
    repositories {
        maven {url "https://maven.google.com"}
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    compile 'com.jakewharton.timber:timber:4.5.1'
    testCompile 'junit:junit:4.12'
}

目前我的源文件很简单:

package net.mbonnin.test

import timber.log.Timber

class Main() {

    fun main() {
        Timber.d("hello world")
    }
}

导入语句失败。

我正在使用 Android studio 3 canary 4 和 kotlin 1.1.2-4。 知道我做错了什么吗?还是木材在 kotlin 中不可用?

【问题讨论】:

  • 嗯,Timber 似乎只适用于 Android。我的印象是它可以在没有 android 的情况下使用,但我一定是错的......
  • 这不应该是这里的问题。你也不应该像那样编译 Gradle 插件。你的 gradle 脚本的其余部分是什么?
  • 是的,我也觉得很奇怪。如果对 Android.log 存在未满足的依赖关系,我希望错误消息会这样说,而不仅仅是 unresolved reference
  • 你刷新了gradle项目来更新你的依赖了吗?
  • 您有两个dependencies 部分。也许第一个覆盖第二个?那么 Timber 将永远不会被包含在内,这就解释了为什么你不能在你的代码中引用它。

标签: android kotlin timber-android


【解决方案1】:
apply plugin: 'java-library'
apply plugin: 'kotlin'

您没有应用任何 android 插件,因此不知道如何处理 @aar 工件。但这些是使用 Android 库时的默认工件。有时您也可能会发现 @jar 具有依赖关系的工件,但不再那么常见了。木材是

具有小型、可扩展 API 的记录器,它在 Android 的普通 Log 类之上提供实用程序。

您可以教 Gradle 理解 @aar 文件,但在使用 Timber 时会遇到 Android 依赖项问题。

所以基本上你必须让你的模块变成一个 Android Kotlin 库。

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

【讨论】:

    猜你喜欢
    • 2021-11-02
    • 2019-10-11
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    相关资源
    最近更新 更多