先日ソフトウェアのアップデート&最新のSDK(API19)をインストールした後、Eclipse起動時に右下に「Android SDK コンテンツ・ローダー:(0%)」と表示されたまま待っても待っても一向に進まず、固まるという現象が発生しました。
通常終了ができないので、仕方なく強制終了しました。
その時のログには、下記のようなメッセージが複数出力されていました。
!ENTRY org.eclipse.osgi 2 0 2014-07-01 11:10:34.854
!MESSAGE クラス “com.android.ide.eclipse.adt.internal.actions.SdkManagerAction” のロード中、スレッド “Thread[main,6,main]” は、スレッド “Thread[Worker-0,5,main]” がバンドル “com.android.ide.eclipse.adt_22.6.3.v201404151837-1123206 [8]” の開始を完了するのを待機 (5001ms) していてタイムアウトになりました。デッドロックを回避するために、スレッド “Thread[main,6,main]” が進行中ですが、”com.android.ide.eclipse.adt.internal.actions.SdkManagerAction” は完全に初期化されていない可能性があります。
!STACK 0
org.osgi.framework.BundleException: バンドル “reference:file:plugins/com.android.ide.eclipse.adt_22.6.3.v201404151837-1123206.jar” の状態変更が、スレッド “Worker-0” によって進行中です。
ネットで調べてみると、同じような現象になった方の対処方法が載っていたので試してみました。
<対処方法と効果>
(1)「自動的にビルド」のチェックを外す
⇒私の場合には効果がありませんでした。
(2)Eclipse起動時に “-clean”オプションを付けて起動する
1 |
eclipse -clean |
⇒始めのうちはこの方法で通常通り起動できたのでこれで解決!と思っていたのですが、この方法でも固まることがあると分かりました。
(3).androidディレクトリ配下のcacheディレクトリを削除する
⇒ディレクトリを削除するのは、これで出来なかった場合に元に戻せなくなってしまうので、私の場合はリネームすることにしました。ただ、この方法でも固まることがあると分かりました。
1 |
move cache backup_cache |
(4)workspace/.metadata/.plugins/org.eclipse.e4.workbenchディレクトリ配下のworkbench.xmiファイルを削除する
⇒こちらもファイルを削除するとうまくいかなかった時に復旧できなくなってしまうので、ファイル名をリネームしました。
(workbench.xmiを削除後Eclipseを起動すると、パースペクティブが初期状態で表示されます)
1 |
move workbench.xmi backup_workbench.xmi |
ここまでの対処を行う際、ログファイルを見てはいたのですが下記のエラーは関係ないと思い気にしてませんでした。
“java.io.FileNotFoundException: /icons/structure/properties_view.gif”
“java.io.FileNotFoundException: /icons/structure/palette.png”
が、だんだん気になって来たので調べてみました。
関係するpluginはWindowBuilderというものらしく、バージョンを確認してみると古そうなのでアップデートしてみることにしました。
アップデートサイトが未登録だったので追加した後、更新しました。
・WindowBuilder Pro ダウンロードサイト
更新後、上記2つのFileNotFoundExceptionは出なくなりました。
(これが本問題と関係してるかどうかは不明ですが、関係なさそうです。)
結局、原因が不明なので、根本的な解決方法も不明ですが、
今のところは(4)で起動できています。
しばらく様子を見ようと思います。
今後もっと良い方法が分かったら、この記事をアップデートします。
<参考にしたサイト>
・stackoverflow 「Eclipse hangs at the Android SDK Content Loader」
・kapark.com 「Eclipse hangs at the Android SDK Content Loader」
・Androidアプリつくったった 「eclipseすぐ固まる。応答なしになる場合の対処法」