delete from hateblo.jp where 1=1;

タイトルに意味はありません。

android studio 0.8.14 がBetaにお目見え→詰んだ

対象

  • Android studio を0.8.14へカジュアルにアップグレード
  • エラーに遭遇した
    • "Android SDK folder inside the application folder"
    • uninstall.exe - Validate Unexcepted file
    • Failed to apply patch
  • Canary Channelに変更してみたら、0.9.1がリリースされていた。
    • インストールしてみたが、問題なさそう。
    • Gradleがいよいよ2.1になった
      • ライブラリのインポートで@arrのように指定するオプションが無効になるとうわさされていたが、今のところ問題なさげ
      • zipAlignをzipAlignEnabledと表記するように変更
    • Travis CIについてはまだ未テスト

各種対策

"Android SDK folder inside the application folder"

読んで字のごとく、sdkフォルダがandroid-studioフォルダにあるよと

  1. メッセージが表示されている状態で、android studioのインストールディレクトリを参照する
  2. sdkフォルダを上位フォルダへ移動する
  3. 次回起動時にsdkフォルダは?って聞かれるので、移動したパスを指定する

android-studioフォルダの例: C:\Program Files (x86)\Android\android-studio

uninstall.exe - Validate Unexcepted file
  1. メッセージが表示されている状態
  2. Solution: DELETE なので、android-studioフォルダ 内のuninstall.exeを削除する
  3. Proceed ボタンを押す
Failed to apply patch


発生しているエラーパターンでよく考えてみた。管理者権限じゃないと更新できないのではないかと。
WindowsでUCAを有効にしているかつ、全ユーザー共通インストール(初回インストール時選択)の場合に発生の模様。
とりあえず、以下の対応で難なく動いた。

  1. Android Studioを終了する
  2. adb.exeとか念のため生きていないかタスクマネージャで確認し、片っ端から殺す
  3. ウイルス対策ソフトウエアを(一時的に)無効にする
  4. 管理者権限でAndroid Studioを起動する
  5. Help→Check for updateでUpdate and Restart


Temp. directory: C:\Users\%USERNAME%\AppData\Local\Temp\

java.io.IOException: Cannot delete file C:\Program Files (x86)\Android\android-studio\plugins\Groovy\lib\Groovy.jar
at com.intellij.updater.BaseUpdateAction.replaceUpdated(BaseUpdateAction.java:66)
at com.intellij.updater.UpdateAction.doApply(UpdateAction.java:57)
at com.intellij.updater.PatchAction.apply(PatchAction.java:184)
at com.intellij.updater.Patch$3.forEach(Patch.java:273)
at com.intellij.updater.Patch.forEach(Patch.java:324)
at com.intellij.updater.Patch.apply(Patch.java:268)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
at com.intellij.updater.Runner.doInstall(Runner.java:287)
at com.intellij.updater.Runner.access$000(Runner.java:18)
at com.intellij.updater.Runner$2.execute(Runner.java:253)
at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
at java.lang.Thread.run(Thread.java:744)

Retry01:
java.io.IOException: Cannot delete file C:\Program Files (x86)\Android\android-studio\plugins\maven\lib\maven2\maven-2.2.1-uber.jar
at com.intellij.updater.BaseUpdateAction.replaceUpdated(BaseUpdateAction.java:66)
at com.intellij.updater.UpdateAction.doApply(UpdateAction.java:57)
at com.intellij.updater.PatchAction.apply(PatchAction.java:184)
at com.intellij.updater.Patch$3.forEach(Patch.java:273)
at com.intellij.updater.Patch.forEach(Patch.java:324)
at com.intellij.updater.Patch.apply(Patch.java:268)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
at com.intellij.updater.Runner.doInstall(Runner.java:287)
at com.intellij.updater.Runner.access$000(Runner.java:18)
at com.intellij.updater.Runner$2.execute(Runner.java:253)
at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
at java.lang.Thread.run(Thread.java:744)

Retry02:
java.io.IOException: Cannot delete file C:\Program Files (x86)\Android\android-studio\plugins\maven\lib\maven3\wagon-file-2.6.jar
at com.intellij.updater.BaseUpdateAction.replaceUpdated(BaseUpdateAction.java:66)
at com.intellij.updater.UpdateAction.doApply(UpdateAction.java:57)
at com.intellij.updater.PatchAction.apply(PatchAction.java:184)
at com.intellij.updater.Patch$3.forEach(Patch.java:273)
at com.intellij.updater.Patch.forEach(Patch.java:324)
at com.intellij.updater.Patch.apply(Patch.java:268)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
at com.intellij.updater.Runner.doInstall(Runner.java:287)
at com.intellij.updater.Runner.access$000(Runner.java:18)
at com.intellij.updater.Runner$2.execute(Runner.java:253)
at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
at java.lang.Thread.run(Thread.java:744)

Retry03:
java.io.IOException: Cannot delete file C:\Program Files (x86)\Android\android-studio\plugins\svn4idea\lib\sqljetsrc.zip
at com.intellij.updater.BaseUpdateAction.replaceUpdated(BaseUpdateAction.java:66)
at com.intellij.updater.UpdateAction.doApply(UpdateAction.java:57)
at com.intellij.updater.PatchAction.apply(PatchAction.java:184)
at com.intellij.updater.Patch$3.forEach(Patch.java:273)
at com.intellij.updater.Patch.forEach(Patch.java:324)
at com.intellij.updater.Patch.apply(Patch.java:268)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
at com.intellij.updater.Runner.doInstall(Runner.java:287)
at com.intellij.updater.Runner.access$000(Runner.java:18)
at com.intellij.updater.Runner$2.execute(Runner.java:253)
at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
at java.lang.Thread.run(Thread.java:744)

参考文献

Android Studioでの目玉機能

Google accountと統合


簡単にデベロッパーコンソールへアクセスできるようになった。(もしかして気づいていなかっただけ?)

Memory monitorが追加

ヌルヌル動いて、メモリの使用量が一目瞭然!しかも、トラックのアイコンがGC実行のボタンで試せる。