web-dev-qa-db-ja.com

Android St​​udioにはどのJDKバージョン(言語レベル)が必要ですか?

私はAndroidの世界に新たに参入し、.NETのバックグラウンドを持っています。 Android St​​udioをインストールしようとしていますが、Androidアプリケーションの開発に必要なJDKバージョンについてAndroid.comで不一致があります。

SDK Webページ から、JDK 6が必要であることが示されています(システム要件セクションの下)。 ジムウィルソン も主張している Pluralsightのコース (昨年5月からかなり新しい)Android SDKでバージョン7を使用すると、頭痛の種であり、JDK 6のみを使用することを明確にします。

Android studioページ (ステップ2のインストール中)では、正しいJDKロケーションを示す環境変数を設定する方法を説明しています。ここでは、JDK 7のパスを使用します

Start menu > Computer > System Properties > Advanced System Propertiesを選択します。次に、Advanced tab > Environment Variablesを開き、JDKフォルダーを指す新しいシステム変数Java_HOMEを追加します(例:C:\Program Files\Java\jdk1.7.0_21)。

ADT&EclipseバンドルとAndroid St​​udioバンドルの両方が同じSDKを使用していると確信していますが、インストールする必要のあるJDKバージョンについて混乱しています。私の唯一の目的は、Android開発への最初の一歩を踏み出す際に、可能な限り問題を回避することです。

免責事項:私はPluralsightとは決して関係ありません。私はコースをフォローしている普通のユーザーです。

74

回答の明確化-Android St​​udioはJDK8をサポートしています

以下は、「JavaのどのバージョンがAndroidをサポートしていますか?」という質問に対する回答です。 「Javaのどのバージョンを使用してAndroid St​​udioを実行できますか?」とは異なります。実際に何が求められていたのかを信じています。 2番目の質問への回答をお探しの場合は、 Android 1.7でJava St​​udioを使用 役立つと思うかもしれません。

また:Android St​​udioのシステム要件については、 http://developer.Android.com/sdk/index.html#latest を参照してください。 JDK8は、実際にはPCとLinuxの要件(5/14/16現在)です。


Java 8アップデート(3/19/14)

昨日のリリースでこの質問がすぐに出てくると思いますので:現時点では、AndroidがJava 8をサポートする日付は設定されていません。

/ androiddevでの議論です- http://www.reddit.com/r/androiddev/comments/22mh0r/does_Android_have_any_plans_for_Java_8/

ラムダのサポートが本当に必要な場合は、Retrolambdaをチェックアウトしてください- https://github.com/evant/gradle-retrolambda 。使用したことはありませんが、かなり有望なようです。

別の更新:Androidが追加されましたJava 7サポート

AndroidはJava 7をサポートするようになりました(リソースの試用機能を除く)。 Java 7の機能の詳細については、こちらをご覧ください: https://stackoverflow.com/a/13550632/413254 。 gradleを使用している場合、build.gradleに以下を追加できます。

Android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

古い応答

Java 7とAndroid St​​udioを問題なく使用しています(OS X-10.8.4)。ただし、プロジェクトの言語レベルを6.0まで下げてください。下のスクリーンショットをご覧ください。

enter image description here

Tehawtnessが以下に言ったことも理にかなっています。彼らがJDK 6を提案している場合、JDK 6を使用するだけで十分です。

enter image description here


更新:このSO投稿を参照してください- https://stackoverflow.com/a/9567402/413254

75
loeschg

通常、ドキュメントの内容に従いますが、インストラクターがJDK 6に固執すると明示的に言った場合は、開発環境をできるだけインストラクターに近づけたいため、JDK 6を使用します。あなたが問題に遭遇し、おそらくあなたが問題を抱えているのはJDK 7を使用しているからだと考えていると思うのは残念です。ところで、最近Androidには触れていませんが、JDK 7を使用していたときに個人的に問題に遭遇することはありませんでしたが、気にしないで、Androidアプリを何気なくコーディングします。

3
tehawtness

サポートされているバージョンよりも新しいJDKバージョンを使用しないようにしてください。私は実際に非常に 曖昧な問題 に数ヶ月前に遭遇しました。

JDK 8でコンパイルした独自のjarライブラリがあり、それを割り当てで使用していました。実行しようとするたびに、ある種のpreDexDebugエラーが発生しました。最終的に、エラーログを解読しようとして数時間経った後、私は最終的に何が間違っていたかを知りました。システム要件を確認し、コンパイラーを8から7に変更しました。私の瓶をライブラリに入れると、保存するのではなく数時間かかるようです...

2
Alex

Android StudioにはOpenJDK 8がバンドルされています。レガシープロジェクトでは、引き続きJDK7またはJDK8を使用できます

リファレンス: https://developer.Android.com/studio/releases/index.html

1
Abdul Rauf