我升级到Android Studio 3.1,得到以下错误:
只支持Android N开头的工具默认接口方法(--
-api 24):void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner) Message{kind=ERROR,text=Default接口方法仅Android N开头(--min-api 24):void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner),sources=Unknown源文件,工具name=Optional.of(D8)}
下面是我的Gradle配置:
compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
multiDexEnabled true
//...
}
正如你所看到的,我的目标是27,这已经领先于它所抱怨的24。我到底应该怎么做才能解决这个问题呢?如果我改用1.8 Java,我是不是会错过很多客户?为什么我在升级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'
}
发布于 2018-03-28 11:37:06
作为CommonsWare mentioned,为了参考,在你的应用程序模块(应用程序级别)的build.gradle中的android {...}
闭包中添加以下代码来解决问题:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
...
}
发布于 2019-02-07 12:56:28
您应该使用Java8来解决这个问题。基于the Android documentation,您可以通过单击菜单文件→项目结构来执行此操作。
并更改源兼容性和目标兼容性。
您也可以直接在应用程序级别的build.gradle
文件中配置它:
android {
...
// Configure only for each module that uses Java 8
// language features (either in its source code or
// through dependencies).
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
发布于 2019-07-06 13:59:58
在应用程序级别的Gradle文件中,您必须编写以下代码:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
它们来自安卓系统中的JavaVersion.java。
是Java版本的枚举。
9之前:http://www.oracle.com/technetwork/java/javase/versioning-naming-139433.html
https://stackoverflow.com/questions/49512629
复制相似问题