Windows XPでスクリーンキャプチャしたいだけなのよ...
絵を撮りたいだけなのに、Eclipse入れるとかありえんし。
32bit環境で。
64bitのときには、いろいろはまりどころがあるのだが、今回はそれは関係ない。
とりあえず、SDK入れる。
http://developer.android.com/sdk/index.html
installer_r12-windows.exeを落とす。
インストーラーを起動。
JDKがないとか言い腐る。
入ってるよ。
先に進めない。
ひどす。
あ、これ、JREしか入れてないかも...
いや、C:\Program Files\Java\JDK 1.6.0_23がいる。
めんどくさいのでtar展開にする。
# この時おかしいのを突っ込んでおけば、後が楽だったのに... orz
前にtarインストールした環境があるので、念のためディレクトリ名を変更しておく。
C:\OLD_android-sdk-windows
pathにもおそらく入っていると思うので、これも確認。
XPの場合、システムプロパティ->詳細設定->環境変数->システム環境変数->Pathになる。
今は";C:\android-sdk-windows\tools"が追記されていた。
はじめてで、書かれていなければ、追記しておく。
先程のサイトから、android-sdk_r12-windows.zipを落とす。
小さいな。38Mくらいしかないや。
zipアーカイブを開いて、中身をC:\android-sdk-windowsにコピーする。
toolsの下はそろっているようだ。
platohomeの下がからっぽ。
adbdがいない。
環境変数ANDROID_SWTの追記
この状態でddmsを起動してみる。
C:\Documents and Settings\KINNEKO>ddms Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/archquery/Main (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) SWT folder '' does not exist. Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
あ、環境変数の指定が追加されてたのだった...
Path設定したのと同じウインドウから、システム環境変数に新規追加。
ANDROID_SWT C:\android-sdk-windows\tools\lib\x86
だったっけ。
C:\android-sdk-windows
でもエラーは出なくなった。
環境変数を変更したので、コマンドプロンプトは一度終わって再起動。
でも、ddmsを起動すると、残りのエラーはまだ出る。
Java環境の確認
C:\Documents and Settings\KINNEKO>ddms Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/archquery/Main (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source)
コントロールパネル-> JavaコントロールパネルでJava環境が入っているのを確認。
もし、まだJDKが入っていないときは、入れる必要がある。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
JDKのダウンロードを選んで画面移動。
JDK7はまだ出たばかりなので、避けたほうが良さそう。
JDK6がいいだろう。
このXPって、64bitだったっけ?
システムのプロパティでVersion 2002と出るから、32bitだよなぁ...
Swing Walkerがないから?
http://java.net/projects/swingworker
右のDownloadsを選ぶ。
んー、jarの配布がない。
C:\android-sdk-windows\tools\lib\swing-worker-1.1はあるよ?
1.2じゃないとダメ?
いいんじゃね?
環境変数がダメかな?
ANDROID_SWTをC:\android-sdk-windows\tools\libにしてみる。
かわらず。
エラーをよく見れ!
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/archquery/Main (Unsupported major.minor version 49.0)
単なるバージョンエラーじゃないの。
http://www.javaroad.jp/faq/faq_error2.htm#q7
コンパイル時と実行時のJavaのヴァージョン違いですか...
推奨のJDK1.5でないとダメっすか?
まぢで?
C:\Documents and Settings\KINNEKO>javac -version
あら、実行できない。これか?
Pathがおかしいかも。
C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\android-sdk-windows\tools
なるほど、Oracleクライアントのために同梱のJREがPathにハードコードされていますよ。
しかも古い...
C:\Documents and Settings\KINNEKO>jre Java(tm) Runtime Loader Version 1.1.8.16
ひどす。
太古だよ。
しかし、これを変更しちゃうわけにもいかない... orz
ddmsの改変
ddmsはbatなので編集する。
set java_exe=C:\Program Files\Java\jre6\bin\javaw.exe set frameworkdir=C:\Program Files\Java\jre6\lib
ダメだな。
java.exeにしてもダメ。
元に戻してスクリプト中にpath設定を追記。oracle関係を除去したもの。
set path="%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\android-sdk-windows\tools"
保存して、ddms実行。
C:\Documents and Settings\KINNEKO>ddms WARNING: Java not found in your path. Checking if it's installed in C:\Program Files\Java instead. Java was found at C:\Program Files\Java\jdk1.6.0_23\bin\java.exe. Please consider adding it to your path: - Under Windows XP, open Control Panel / System / Advanced / Environment Variabl es - Under Windows Vista or Windows 7, open Control Panel / System / Advanced Syste m Settings / Environment Variables At the end of the "Path" entry in "User variables", add the following: ;C:\Program Files\Java\jdk1.6.0_23\bin\java.exe 04:46:30 E/ddms: shutting down due to uncaught exception 04:46:30 E/ddms: org/eclipse/swt/graphics/FontData java.lang.NoClassDefFoundError: org/eclipse/swt/graphics/FontData at com.android.ddms.PrefsDialog.setDefaults(PrefsDialog.java:209) at com.android.ddms.PrefsDialog.init(PrefsDialog.java:143) at com.android.ddms.Main.main(Main.java:70) Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.graphics.FontData at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 3 more
ちょっと進んだ。
え"、Eclips?
やっぱ、必須ですか?
いや、そんなわけはない。
とりあえず、前半のワーニングを取り除くのに、メッセージの言うとおりddmsを変更する。
set path="%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\android-sdk-windows\tools;C:\Program Files\Java\jdk1.6.0_23\bin\java.exe"
結果、変わらず。
バッチファイルを読むと、呼び出しているfind_java.batが外バッチなので、環境変数を引き継がないようだ。
実害はないので放置する。
間違い発見... orz
メッセージを見直す。
あ。swtか。それならここだな。
ANDROID_SWT C:\android-sdk-windows\tools\lib\x86\
ddmsを起動する。
をを、ウインドウ起動してきた。
adbないエラーが出る。
ようやく予想の範囲の流れに戻った。
adb.exeのインストール
エラーはこんなの。ウインド起動時にも同じ内容のダイアログが出る。
06:04:10 E/adb: Failed to get the adb version: Cannot run program "C:\ANDROI~1\tools\adb": CreateProcess error=2, ?w?????t?@?
さて、最近は、Eclipseのプラグインマネージャから操作してADT入れるのが前提なんだよな...
Eclipseを入れないのが目標なので、今回はSDK Manager.exeを使って落とす。
SDK Managerを起動すると、インデックスの更新チェックに行く。
エラー。データが取れない。
あ、ここ、proxy配下だわ。
java系のツールって、IEの設定拾ってくれないのでproxy設定は自動で行われない。
Android SDK and AVD ManagerのウインドウでSettingsを選んで、proxyの設定を行う。
ここでは、自動構成スクリプトを使っているので、proxyの設定は見えるところにない。
まずそのpacファイルを落とす。
http://proxy.local.in/proxy.pacのように、ブラウザで直に指定すると、ローカルに保管できる。
落としたpacファイルをエディタなどで開くと内部が読める。
アクセス先などによってproxyの設定が分かれているのがわかると思う。
使えそうなproxyサーバーとポート番号を抜いて、Android SDK and AVD Managerでproxy設定を入力する。
Available packagesを選んで、Android Repositoryにチェックを入れ、Refreshボタンを押す。
うまくいけば、リストが更新される。
うまくいかない場合は、httpsが通らないproxyかもしれないので、Settingsの"Force https://... sources to be fetched using http://..."にチェックを入れる。
更新された項目から、"Android SDK Platform-tools, revision X"にチェックを入れて、"Install Selected"を押す。
パッケージの概要とライセンスを表示するウインドウが表示されるので、確認してInstallボタンを押す。
途中、adbを起動するか確認するダイアログが表示される。どちらでもよい。
"Done. 1 package installed."と表示されたら、Closeボタンでウインドウを閉じ、Android SDK and AVD Managerも終わる。
C:\android-sdk-windows\platform-toolsにファイルができているのを確認する。
コマンドプロンプトを起動して、ddmsがエラーなく立ち上がれば完了。
あー、長かった。
普通は、こんなに苦労しないよ(^^;。
とりあえず、こんな妙な環境もあったということで、履歴に残しておきます。