首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解决方法‘timber.log.Timber.DebugTree’

无法解决方法‘timber.log.Timber.DebugTree’
EN

Stack Overflow用户
提问于 2022-01-26 21:53:00
回答 3查看 2K关注 0票数 10

我的配置或代码有什么问题?

我突出显示了这个错误

'plant(timber.log.Timber.DebugTree)'方法无法解析

为代码

代码语言:javascript
复制
import timber.log.Timber;  
public class AppClass extends Application {  
    @Override  
    public void onCreate() {  
        super.onCreate();  
        if (BuildConfig.DEBUG) { Timber.plant(new Timber.DebugTree()); }  
    }  
}  

但它构建并执行。我还是觉得这意味着什么,不是吗?

配置信息:

代码语言:javascript
复制
Android Studio Bumblebee | 2021.1.1  
classpath 'com.android.tools.build:gradle:7.1.0'  
Gradle: com.jakewharton.timber:timber:5.0.1@aar  
ext.kotlin_version = '1.6.10'   
sourceCompatibility JavaVersion.VERSION_1_8
EN

回答 3

Stack Overflow用户

发布于 2022-03-16 20:32:21

直到解决了问题(如@n8yn8在问题注释中指出的那样),我才将其降级到4.7.1版本:

代码语言:javascript
复制
implementation 'com.jakewharton.timber:timber:4.7.1'
票数 9
EN

Stack Overflow用户

发布于 2022-05-06 05:40:58

在应用程序级build.gradle文件中,设置以下jakewharton木材版本:

代码语言:javascript
复制
implementation 'com.jakewharton.timber:timber:4.7.1'

然后在应用程序类onCreate()方法中:

为科特林:

代码语言:javascript
复制
if (BuildConfig.DEBUG) {
        Timber.plant(DebugTree())
    } else {
        Timber.plant(ReleaseTree())
    }

适用于Java:

代码语言:javascript
复制
if (BuildConfig.DEBUG) {
        Timber.plant(new DebugTree());
    } else {
        Timber.plant(new ReleaseTree());
    }

内部ReleaseTree()类Kotlin:

代码语言:javascript
复制
inner class ReleaseTree : Timber.Tree() {
    override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
        if (priority == Log.VERBOSE || priority == Log.DEBUG) {
            return
        }

        // log your crash to your favourite
        // Sending crash report to Firebase CrashAnalytics

        // FirebaseCrash.report(message);
        // FirebaseCrash.report(new Exception(message));
    }
}

内部ReleaseTree()类Java:

代码语言:javascript
复制
class ReleaseTree extends Timber.Tree {
@Override
protected void log(int priority, String tag, String message, Throwable t) {
    if (priority == Log.VERBOSE || priority == Log.DEBUG) {
        return;
    }

    // log your crash to your favourite
    // Sending crash report to Firebase CrashAnalytics

    // FirebaseCrash.report(message);
    // FirebaseCrash.report(new Exception(message));
}

}

票数 3
EN

Stack Overflow用户

发布于 2022-02-28 08:02:32

对于那些使用岗哨木的人

只管用

代码语言:javascript
复制
implementation "io.sentry:sentry-android:$sentry_version"
implementation "io.sentry:sentry-android-timber:$sentry_version"

删除此依赖项

代码语言:javascript
复制
implementation "com.jakewharton.timber:timber:$timber_version"

对我来说,这个修复解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70870740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档