'Cannot resolve method 'plant(timber.log.Timber.DebugTree)'

What is wrong with my configuration or code ?
I have this error highlighted

Cannot resolve method 'plant(timber.log.Timber.DebugTree)'

for the code

import timber.log.Timber;  
public class AppClass extends Application {  
    @Override  
    public void onCreate() {  
        super.onCreate();  
        if (BuildConfig.DEBUG) { Timber.plant(new Timber.DebugTree()); }  
    }  
}  

but it builds and it executes. Still I think it means something, no ?

Configuration infos:

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


Solution 1:[1]

Until issue fixed (as @n8yn8 noted in question comment) I solved it with downgrade to version 4.7.1:

implementation 'com.jakewharton.timber:timber:4.7.1'

Solution 2:[2]

For those using sentry-timber

Just use

implementation "io.sentry:sentry-android:$sentry_version"
implementation "io.sentry:sentry-android-timber:$sentry_version"

Remove this dependency

implementation "com.jakewharton.timber:timber:$timber_version"

For me, this fix resolves the issue

Solution 3:[3]

In app level build.gradle file, set the following jakewharton timber version:

implementation 'com.jakewharton.timber:timber:4.7.1'

Then in your application class onCreate() Method:

For Kotlin:

if (BuildConfig.DEBUG) {
        Timber.plant(DebugTree())
    } else {
        Timber.plant(ReleaseTree())
    }

For Java:

if (BuildConfig.DEBUG) {
        Timber.plant(new DebugTree());
    } else {
        Timber.plant(new ReleaseTree());
    }

Inner ReleaseTree() class Kotlin:

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));
    }
}

Inner ReleaseTree() class Java:

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));
}

}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Solata
Solution 2 Emmanuel Mtali
Solution 3 Muhammad Etisam Zafar