「android studio が予期しない理由で終了しました」を起動させる

久し振りにAndroid Studioを立ち上げようとしたら"android studio が予期しない理由で終了しました"というダイアログが出て立ち上がらなかった。
設定やJAVA_HOMEを見なおしたけど問題なし。
でも結果としてはきっと古いjavaが使われているのだろうなあと想像。1.6が使われているっぽい。

ログがどこに出ているのかわからないのでターミナルから起動してみる。

/Applications/Android\ Studio.app/Contents/MacOS/studio 
2015-03-13 23:53:31.089 studio[904:42467] Value of STUDIO_JDK: (null)
2015-03-13 23:53:31.113 studio[904:42467] fullFileName is: /Applications/Android Studio.app/Contents/bin/studio.vmoptions
2015-03-13 23:53:31.113 studio[904:42467] fullFileName exists: /Applications/Android Studio.app/Contents/bin/studio.vmoptions
2015-03-13 23:53:31.114 studio[904:42467] Value of STUDIO_VM_OPTIONS is (null)
2015-03-13 23:53:31.114 studio[904:42467] Processing VMOptions file at /Applications/Android Studio.app/Contents/bin/studio.vmoptions
2015-03-13 23:53:31.115 studio[904:42467] Done
2015-03-13 23:53:31.115 studio[904:42467] Processing VMOptions file at /Users/kappa/Library/Preferences/AndroidStudio/studio.vmoptions
2015-03-13 23:53:31.117 studio[904:42467] No content found
2015-03-13 23:53:31.117 studio[904:42467] Processing VMOptions file at 
2015-03-13 23:53:31.117 studio[904:42467] No content found
dyld: lazy symbol binding failed: Symbol not found: _CGContextSetAllowsAcceleration
  Referenced from: /Library/Java/JavaVirtualMachines/1.6.0_51-b11-457.jdk/Contents/Libraries/libawt.jnilib
  Expected in: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices

dyld: Symbol not found: _CGContextSetAllowsAcceleration
  Referenced from: /Library/Java/JavaVirtualMachines/1.6.0_51-b11-457.jdk/Contents/Libraries/libawt.jnilib
  Expected in: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices

Trace/BPT trap: 5

うむ。1.6が使われているのが確定。

mac java 削除」ググってこちらの記事を見つけました。
Apple版Java6をすっきりアンインストールする

まずは1.6を再確認する。

ls -al /Library/Java/JavaVirtualMachines/
total 0
drwxr-xr-x  6 root  wheel  204  3 13 23:49 ./
drwxrwxr-x  6 root  wheel  204  3 12 23:08 ../
drwxr-xr-x  3 root  wheel  102  3 11 01:17 1.6.0_51-b11-456.jdk/
drwxr-xr-x  3 root  wheel  102  3 11 01:02 1.6.0_51-b11-457.jdk/
drwxr-xr-x  3 root  wheel  102  3 11 00:56 jdk1.7.0_40.jdk/
drwxr-xr-x  3 root  wheel  102  3 12 23:08 jdk1.8.0_25.jdk/

確かに1.6がまだいる。
どうやらこれが使われているから起動に失敗する模様。
という訳でどけてみる。

mkdir -p ~/tmp/java
sudo mv /Library/Java/JavaVirtualMachines/1.6.0* ~/tmp/java/

そしてAndroid StudioをDockからクリックして起動。
うごいたー。