[解決済み】デフォルトのインターフェースメソッドはAndroid 7.0(Nougat)からしかサポートされません。)
質問
Android Studio 3.1にアップグレードしたところ、以下のエラーが発生しました。
デフォルトインターフェイスのメソッドは、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) } ・Defaultインタフェースのメソッドに対応するため、Android Nでは、Defaultインタフェースのメソッドをサポートしない。
以下は私の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'
}
解決方法は?
として
コモンズウェアについて
の中に追加してください。
android {...}
を使用することで、問題を解決することができます。
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
...
}
関連
-
[解決済み】Edit Textのandroid:ems属性とは何ですか?[重複しています]
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み] カスタムアダプタからnotifyDataSetChangeが機能しない
-
[解決済み】Android Studioでマニフェストのマージに失敗し、複数のエラーが発生した。
-
[解決済み】Bluestackの向きを変更する : ポートレート/ランドスケープモード
-
[解決済み] サポートされていないメソッドです。BaseConfig.getApplicationIdSuffix()がサポートされていません。
-
[解決済み] Android Studioで「URIが登録されていません」と報告されるのはなぜですか?[クローズド]
-
[解決済み] SDKの場所がandroid studioで見つからない
-
[解決済み] AndroidでBluetoothが有効かどうかのチェックに失敗する(REQUEST_ENABLE_BTを変数に解決できない)。
-
[解決済み] Android M パーミッション : shouldShowRequestPermissionRationale()関数の使用方法について混乱しています。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】まだ警告が出る:設定 'compile' は時代遅れで 'implementation' に置き換わった。
-
[解決済み】Edit Textのandroid:ems属性とは何ですか?[重複しています]
-
[解決済み】Androidエミュレータのエラーメッセージ。"PANIC: Missing emulator engine program for 'x86' CPUS." (パニック: エミュレータ・エンジン・プログラムがありません)
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み】findViewByIDがnullを返す。
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] AndroidのADBデバイスが不正に
-
[解決済み] SDKの場所がandroid studioで見つからない
-
[解決済み] Gradle DSL メソッドが見つかりません:'compile()'
-
[解決済み】Android Materialとappcompat Manifestのマージに失敗しました。