我升级到Android Studio 3.1,出现以下错误:

Default interface methods are only supported starting with Android N (--min-api 24): void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner)

Message{kind=ERROR, text=Default interface methods are only supported starting with Android N (--min-api 24): void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner), sources=[Unknown source file], tool name=Optional.of(D8)}

Error

以下是我的Gradle配置:

compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
    minSdkVersion 16
    targetSdkVersion 27
     multiDexEnabled true
     //...
   }

正如你所看到的,我的目标是27,这已经超过了它抱怨的24.我该怎么做才能解决这个问题?如果我改为1.8Java,我会错过很多客户吗?为什么在升级Android Studio之前我没有遇到这个错误?

我不知道这是否与我最近加入的LifecycleObserver类有关.它在Kotlin中,现在我将其更改为Java,但在清理项目后,我仍然会收到相同的错误:

public class LifeCycleAwareObserver implements LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    public void  onAppBackgrounded() {
        AnalyticsUtils.trackStartSession(true);
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    public void onAppForegrounded() {
        AnalyticsUtils.trackStartSession(false);
    }
}

如何跟踪错误的来源,以便修复错误?

以下是我的版本依赖项:

project.ext {

        firebase_version = '12.0.0'

        supportlib_version = '27.0.2'

        room_version = '1.0.0'

        espresso_version = '3.0.1'

        archLifecycleVersion = '1.1.1'
    }

推荐答案

作为CommonsWare mentioned,在build.gradle的android {...}闭包内为您的应用程序模块(应用程序级别)添加以下代码以解决此问题,以供参考:

android {
...
  compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
...
}

Android相关问答推荐

安卓Gradle看不到dagger 柄

如何从Android 12的来电中获取电话号码?

尽管我们不再使用GCM SDK,但应用程序已被标记为使用GCM SDK

如何在Android中编写挂起函数和stateflow的单元测试

如何在Jetpack Compose中创建这个圆形?

Android Studio SQLite 错误:列不正确(没有这样的列:_id)

在本地通知中设置自定义声音

同样的参数值下,为什么requiredSizeIn不等于requiredWidthIn + requiredHeightIn?

Android Jetpack Compose全宽度抽屉优化

是否可以按照干净的体系 struct 将活动实例传递给视图模型

如何知道我的应用程序的新版本是否显示广告?

修复错误 Invariant Violation: requireNativeComponent: "RNSScreenStackHeaderConfig" was not found in the UIManager

AirDroid Business 如何能够从屏幕截图中排除覆盖?

如何在 Jetpack Compose 中添加多个标签

如何在 BasicTextField 中全选焦点

自定义 Recyclerview [Android & Kotlin]

更新应用程序是否会取消对应用程序特定文件的权限?

为什么在try 实例化 Mediaplayer 时会出现 NullPointerException?安卓Kotlin

OpenGLES,为什么 glReadPixels() 不能从 FBO 的 Renderbuffer 的 colored颜色 缓冲区中读取数据?

如何在 Android Studio 中使用 SDK 30 和 Android 10?