Andoroidの開発環境構築に関する個人的メモ、っとWindows Mobileについてもチョット

なぜか最近はAndoroid方面で遊んでいて(・∀・)
っということで、Andoroidの開発環境構築について、個人的にはまった点のメモ。

x64環境でAVD Managerが動きません(´・ω・`)

自分のPCについては、EeePCが32bitのXPなくらいで、他は全部x64環境に移行してしまっているわけですが。
x64環境については、メインにインスコしているJDKについてはx64だったり、それとは別のアプリ起動用にx86JREも入ってるとか、そんな環境だったりして(´д`;)


そんなマシンで、AVD Managerが動かないという問題が発生して(´・ω・`)
何が問題かと思ったら、SWTx86x64で別という所ね。
っで、x64の場合には、下記の環境変数を設定すればOKですね(・∀・)

変数
ANDROID_SWT (android-sdk-windowsの解凍先)\tools\lib\x86_64\

ユーザープロファイルを移動しているとエミュレーターが起動できません(´・ω・`)

自分のPCはSSD(Cドライブ:アプリ用)+HDD(Dドライブ:データ用)な構成で。
Intel SSDだからプチフリが気になるとかじゃないんだけど、一応ユーザープロファイルもDドライブに移動したりとか、ジャンクションポイントを作って設定上はC:\Users下のままに見えるようにしたりとか、そんなことをしていて。


そんな環境でエミュレーターが起動せずに「emulator: ERROR: unknown virtual device name: XXX」と表示されるという問題が(´・ω・`)
何が問題かと思ったら、設定ファイルの保存される「.android」ディレクトリの場所の問題のようで。


「.android」ディレクトリは%USERPROFILE%下に無いといけないようなので、%USERPROFILE%下に移動して、

mklink /J .android (.androidが作成されている場所)

っとして、これもジャンクションポイントで解決(・∀・)
.androidが作成されている場所については、AVD Managerのデバイスの詳細で確認できますね。

余談1:Eclipse環境

Eclipseについてですが、昔はプロジェクト毎に個別のEclipseを用意していたりしましたが、最近はAndroid開発環境もGAE開発環境も全部入りを1つだけにしていたりして(・ω・)
っと言っても、あくまでJava用の範囲の話で、PHP用の環境は別に作ってありますが。
とりあえず、なんか問題にぶつかるまでは1つで行こうかと考え中。

余談2:Windows Mobileについて

AndoridやiPhoneのプログラムモデルを見て改めて思うのは、Windows Mobileは良くも悪くもWindowsすぎるっていうことだよね(主に悪い意味で)。
Windows APIが見えすぎるというか、Compact Frameworkは非力な割に汎用的なものすぎるし。
UI周りもハリボテにしか見えないし(´д`;)


本気でAndoridやiPhoneと勝負するのなら、スマートフォンに特化したシェル及びフレームワークレイヤを作って、アプリケーション開発者には、単体プロセスとして動くexeではなく、そのフレームワーク内で動くアプレットを作成させる、くらいの方向に持って行かないといけないんじゃないかな〜、なんて思ってみる(・ω・)
主にアプリ開発者観点の話だけど。


開発者にはWindowsを直接見せなくする代わりに、通知やバックグラウンドサービスの仕組みを用意したり、シェルとのインタフェースを用意したりして。
UI周りもWindows Formsではなくて、スマートフォン固有のモノを用意しないとお話にならないんじゃないかな(・ω・)?
とりあえず、System.Windows.Forms、Microsoft.WindowsCEみたいなものを使わせているレベルじゃ駄目なんじゃないか、っつって。


まあ、これはあくまでスマートフォンとして見た場合にWindows Mobileがどうかという話であって、CEがどうこうという話とはチョット違う話なんだけど。


今、Windows Mobileってどういう方針になっているんすかね(・ω・)?