web-dev-qa-db-ja.com

Android JDK 6または7をサポート

Android開発は初めてです。 AndroidでJDK 7を使用して開発された既存のJavaコードを使用できますか?

関数は、xerces domとxsltとxpathapiを使用します。現在、Android Eclipse ADT環境をインストールしたとき、これらの関数はコンパイルされていません。 Androidデバイス自体がJRE 6または7をサポートしているかどうかも知りたいですか?

56
user3084351

元々Android開発ツールはjdk 6機能のみをサポートしていました。しかし、それは2013年10月のAndroid St​​udio 0.3.2によって最初に変更されました: http://tools.Android.com/recent/androidstudio032released

ダイアモンド演算子、マルチキャッチ、try-with-resources、スイッチ内の文字列などの言語機能のサポート。新しいプロジェクトを作成するときに、ソース言語レベルを指定できます。 enter image description here これらの言語機能はすべて、Android KitKatだけでなく、Androidの古いバージョンでも使用できることに注意してください。例外が1つあります。try-with-resourcesにはminSdkVersion 19が必要です。したがって、minSdkVersionが19未満の場合、Studioはtry-with-resourcesのコードでの使用にフラグを立てます。

その後、2014年3月のADTプラグイン22.6で、以下を参照してください: http://developer.Android.com/tools/sdk/Eclipse-adt.html

マルチキャッチ、try-with-resources、ダイアモンド演算子などのJava 7言語機能のサポートが追加されました。これらの機能には、バージョン19以上のビルドツールが必要です。 Try-with-resourcesにはminSdkVersion 19が必要です。残りの新しい言語機能には、minSdkVersion 8以降が必要です。 ADT 22.6.0のインストール後に新しい言語機能を使用するには、JDK 7でEclipseを実行し、JDK 7を使用するようにアプリケーションプロジェクトの設定を変更してください。

AndroidはJava SE APIバージョンとの完全な互換性を意図したものではありません。これが、GoogleがJavaを断片化したとして非難するOracleの訴訟を起こした理由です。一部のAPIは、AndroidにSwingとして実装することができません。 Androidに閉じるボタンがあるウィンドウを想像してください!その他は遅延しましたが実装されました。たとえば、CharsetクラスはJava SE 1.4にありますが、Android AP​​I 9に実装され、Java 7にAutoClosableはAndroid AP​​Iレベル19。try-with-resources言語機能の実装を許可します。いくつかのAPIは存在しますが、コンソールとは異なる目的に使用されます。

79

まず、Java JDKとJREには違いがあります。JREはJava Runtime Environmentですが、JDKはJava Development Kit。これは、既存のAndroid SDKと一緒にアプリケーション開発を行うためのAndroid JDKです。

Android SDKはJDK 6または7のいずれかを使用できますが、[〜#〜] only [〜#〜]JDK 6 APIを使用します。

4
blackpanther

はい、jdk 7はAndroidビルドツールから開始19

2
Mina Fawzy

JDK 5/6のみ。実際には、Android jdk 6はOracle JDK 6ではないため、andriodはjdk 6を完全にサポートしていません。

does Androidサポートする計画Java 7

Apace Harmony

0
Bruno Donath