JDK 1.8.0_77 に更新して IDEA-146691 のドラッグアンドドロップ問題を解消だわ

こんな「System Health」ダイアログでてましたが放置のままでした.

jdk

Drag and Drop (to move file) Dialog frozen - escape exits : IDEA-146691

問題のJDKバージョンは「1.8.0_60 から1.8.0_76」でした.

でこんなニュース記事を読みました.

影響のあるバージョンはWindows、Solaris、Linux、OS X向け「Oracle Java SE」の「Version 7 Update 97」と「Version 8 Update 73」「Version 8 Update 74」。

「Java SE」に深刻な脆弱性--オラクル、最新版への更新を呼びかけ - CNET Japan

とりあえず更新ページをみると「1.8.0_77」なので更新.

Java_SE_Development_Kit_8_-_Downloads

Java SE Development Kit 8 - Downloads

で AndroidStudio を起動すると, ダイアログはもうでなくなりました.

しかし, Android Studio て Java6 ベースで作られているらしいが問題なさげなのでまあいいか.

不具合あったら Android Studio 向けのみ切り替えればよし.とな.

Android Studio と JDKバージョン


Android Studio と JDKバージョン

👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法 

この表示.

System Health
Running on a JDK8 version affected by drag and drop issues (1.8.0_60 through 1.8.0_76). See IDEA-146691 for details, and consider using a JDK outside the problematic range.

IDEとしてのAndroid Studio が動く JDK と
Android Studio がアプリビルド時に利用するJDK は異なる.

Mac OSX JDK Selection - Android Tools Project Site

コンソールから

~ $ java -version
java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)

この場合, デスクトップ上のアイコンから Android Studio を起動すると
JDK8 でそれが起動する.

Android Studio を JDK8 で稼働させる場合, 既知のバグがありそれを通知するダイアログが表示される.

Welcome_to_Android_Studio

公式のアナウンスにもあるように JDK7 で稼働させる場合は,

~ $ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk
~ $ open /Applications/Android\ Studio.app

この場合は, ダイアログは通知されない.

一方, 開発中のアプリビルド時に利用するJDKの指定は, Android Studio 設定画面から変更する.

choose-jdk

まとめ

Android Studio 自体が利用する JDK は環境変数 STUDIO_JDK で切替えるとよい.

👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法 


Android N のバージョン記述はどう書くのか?

SDKやPlatform-tools などすべて更新して, Java8 に設定.

SDKバージョン周りがなんだか謎.

今日公開された公式ドキュメントでは以下.

Set_Up_the_Preview___Android_Developers 2

Set Up the Preview | Android Developers

このとおりにエディタで編集する.

android-n

だめじゃん!

赤波下線じゃん!!

Android Studio から GUI上から書き換える.

Project_Structure_and_app

android-n-1

Project_Structure

「OK」を押すと, build.gradle に反映される.

なんすか

画面上部の「Try Again」をクリックして Sync しようとすると エラーとなります.

n

あかんやんけ, ワレ.

公式のサンプルを見てみる.

android-ScopedDirectoryAccess_build_gradle_at_master_·_googlesamples_android-ScopedDirectoryAccess

android-MultiWindowPlayground/build.gradle at master · googlesamples/android-MultiWindowPlayground

これでいけた.

公式ドキュメントが更新に追いついてないのか (buildToolsVersion).

いや, GUIからの設定もおかしい (compileSdkVersion).

ややこいなあ.