【发布时间】: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