Android 開発における Java 8 の互換性: 公式スタンスを探る
Android による Java 8 のサポートは不確実性の対象となってきましたが、この質問は「公式」を通じて事態解明を目指す
回答:
2017 年 11 月 4 日の時点で、Android Studio 3.0 は Java 8 を正式にサポートするようになり、gradle-retrolambda が必要なくなりました。移行手順の詳細については、https://developer.android.com/studio/write/java8-support.html を参照してください。
履歴コンテキスト:
以前Android Studio 3.0 では、Android は Java 8 のネイティブ サポートを提供していませんでした。プラットフォームは、KitKat であっても Java 7 までしかサポートしていませんでした。さらに、invokedynamic 機能が欠如しており、Java 8 構文シュガーのみを使用できました。
gradle-retrolambda を使用した回避策:
の重要な機能であるラムダ式を利用するにはJava 8 では、開発者は gradle-retrolambda を採用しました。この依存関係には、Java 8 バイトコードを Java 6/7 構文に変換するツールである Retrolambda が統合されました。その結果、Android Studio のコンパイラは Java 8 バイトコードをコンパイルでき、その後 Java 6/7 バイトコードに変換され、最終的には Dalvik バイトコードに変換されました。これは、Android で Java 8 機能を使用するための回避策です。
現在ステータスと移行:
Android Studio 3.0 のネイティブ Java 8 サポートにより、開発者はgradle-retrolambda に依存しない Java 8 の機能。回答に記載されているリンクには、gradle-retrolambda を使用するユーザー向けの移行ガイドラインが記載されています。
以上がJava 8 は Android 開発で正式にサポートされていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。