到着から約一ヶ月、メイン機は完全に ThinkPad X121e に移ってます。今のところ気になるのは画面が狭いくらいで、それ以外は非常に快調に、軽快に動作しています。

そんな ThinkPad X121e に Android SDK をインストールしました。

IS01を色々いじってる頃は、adbに非常にお世話になりました。でも、GALAXY S IIを使うようになって、最初の頃は電源オプション拡張パッチを導入するのに使ったりしてましたが、LE1用はCWMリカバリーから導入できるようになったので、adbは殆ど使ってませんでした。スクリーンショットもデバイス単体で簡単にとれますしね。

ということで、Android SDK をインストールする必要性は低かったのですが、もしものために入れておくことにしました。

Android SDK のインストールに際しては、IS01用に最初に入れた時もadbへのパスが変わっていてハマりましたし、ICSのために最新版にアップデートした時も使用中のフォルダをリネームしようとする変なバグに悩まされましたし、今回は最新版の手順を見ながら作業することにしました。

参考にしたのは以下のサイトです。

・【新・初心者向け】Android SDKの最新インストール手順2011年10月版!少しだけシンプルに解説! | smartgoods.me

非常に解りやすくまとめられています。ThinkPad X121e にはまだJAVAもインストールしていなかったので、手順に沿って作業しました。

しかし、やはり呪われた(?)Android SDK、今回も一筋縄では行きませんでした。

STEP.4のところでSDK manager.exeを実行するのですが、これが実行直後に落ちてしまいます。tools配下のandroid.batから実行しても同じ。Webで検索してみると、JAVAへのパスが通っていないという事例が多く見られましたが、私の場合は手順通りにパスを指定しているので問題がありませんでした。

android.batに手を加えて、どこが異常な箇所なのかを判るようにした結果、java_exeの値がおかしいとことが発覚しました。

そこで、android.batをテキストエディタで以下のように修正しました。

・修正前
[php num=35]
rem Check we have a valid Java.exe in the path.
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
[/php]

この35行目からの4行はJAVAの存在チェックをしているようです。java_exeを敢えて空白にして、find_java.batでJAVAの存在をチェックして、その時のjava.exeの位置を変数として引き渡すようにしたいのだと思いますが、それが上手くいってないようです。

・修正後
[php num=35 highlight_lines=”36″]
rem Check we have a valid Java.exe in the path.
set java_exe=”D:\Program Files\Java\jdk1.7.0_05\bin\java.exe”
rem call lib\find_java.bat
rem if not defined java_exe goto :EOF
[/php]

そこで、36行目で直接java.exeの位置を指定して、その後のJAVAの存在チェックは行わないようにしました。

これでandroid.batを実行することでSDK managerが起動するようになりました。

ちなみにddms.batにも同じようなチェックがあるのでスクリーンショットをとる人は同じように修正することで回避可能です。

しかし、何故同じ手順でうまくいったりいかなかったりするんでしょうね? 手順の時点とはSDKのバージョンが違うので内容が変わってるのかな?

今回、私が見舞われたのは、Java SE Development Kit 7u5と Android SDK R18の組み合わせで、Windows7 の 64bit 版の環境なので、この方法が全ての環境で有効かどうかはわかりませんので、その辺りはご了承ください。

いずれにせよ、 Android SDKにはいつもいつも悩まされますね。