2009年9月24日木曜日

Android で Lua, Python, JRuby, Perl, BeanShell !!

ase というアプリをご存知でしょうか? Android端末上で、最近流行のスクリプト言語を使い倒すことができます。Google Labs ネタですが、http://code.google.com/p/android-scripting/ から、ase_r13.apk が、野良アプリとしてダウンロードできます。

野良アプリですので、Setting → Applications → Unknown sources にチェックを入れておかないと、インストールできませんが、一応、Google Labs にも挙がっているネタなので、あんまり神経質にならずに、軽い気持ちでインストールしてみました。

ase を起動して、menuボタン(S11HTではWindowsマーク)を押すと、"Add Interpreter" というメニューが出てきます。なにげにこれをタップすると、なんと、BeanShell からはじまって、Lua、JRuby、Perl、Python という最近流行のスクリプト言語が並んでいるではないですか。

とりあえず、私のような旧タイプの人間にも手に負えそうな Perl をタップしてみます。すると、なにやらごちゃごちゃと表示されて、どうやら Perl がインストールされたようです。

先ほどのメニューから、"Add Script" をタップして、テキストエディタを立ち上げて、適当なスクリプトを書きます。ファイル名も適当に書き換えて、menuボタンを押して、"Save & Run" をタップ!

と、コンソール画面が立ち上がって…… おんやぁ~? なんか、エラーが出てます。"Permission denied" 実行権が無いようです。なるほど、このへんが、まだ Market に登録されてない理由かもしれません。あせらず騒がず、そのままのコンソール画面で su コマンドを使ってスーパーユーザーになって、以下のコマンドを実行すれば問題はありません。

% su
# chmod a+x /data/data/com.google.ase/perl/perl

次回からは、問題なく Perl のスクリプトが実行できます。

たぶん、他のスクリプト言語も、インストールするたびに同じことをして実行権を与えてやらないといけないと思います。

JRuby や、BeanShell は、Java のクラスがそのまま使えるので、スクリプトだけで、Android のアプリが作れるのではないでしょうか。

他の言語も、Android 用に拡張されたライブラリが付属しているようなので、ちょっとしたアプリなら作れるのかもしれません。じっくり遊んでみなくてはいけませんね。

[関連リンク]
Google Labs
android-scripting

2009年9月21日月曜日

S11HT Android : USBドライバ、インストールできました

【速報】S11HT Android : 9/12版はIon」で書いたら早速コメントをいただきました。USBドライバの件です。

実は、SDK付属のUSBドライバは、過去に何度かトライしてうまくインストールできずに放置していました。たぶん、Ion用とか、HT-03A用のドライバというものがSDK付属のものとは別個に、どこかに転がっていたりするんじゃないのかと思っていたのです。それでも、いただいたアドバイスが「SDK付属のドライバをお使いなさい。使えるはずです」ということだったので、もうこれしか方法はないのだろうと思い、ちょっと強引な感じのインストールに踏み切りました。

インストールできない理由は実は単純明快。android_winusb.inf の中に、S11HT Android 用のハードウェアID が記述されていないからです。

SDK1.6 の android_winusb.inf が見やすいので、こちらを参照すると、

[Google.NTx86]
; HTC Dream
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0FFF
; HTC Magic
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C03&MI_01

という記述があります。

PC側でデバイスマネージャを開いて、ドライバが正しくインストールされずに「その他のデバイス」の下にぶら下がっている「Android Phone」を右クリック→「プロパティ」で開いて、「詳細」と書かれたタブに移って、プロパティ:ハードウェアID を確認します。すると、以下のようなIDが書かれていました。

USB\VID_0BB4&PID_0C02&REV_0100
USB\VID_0BB4&PID_0C02

たぶん、HTC Magic と同じように書いておけばいいのだろうと思い、以下のような2行を追加しました。

; S11HT Ion
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&REV_0100

ちなみに、';' の後ろはコメントなので、Android on S11HT でも、My Android でも、後でわかるようにお好きなコメントを入れておけば良いかと思います。

で、私はそのまま「全般」タブから「ドライバの再インストール...」をクリックして、インストールしましたが、たぶん、USBコネクタを刺し直してもいいと思います。とにかく、USBドライバをインストールしなおします。

大まかな手順は、Guest さんから教えていただいた、"http://developer.android.com/intl/ja/guide/developing/device.html#WinUsbDriver" を参照していただければだいたい同じです。

何事もなかったかのようにインストールは終了します。デバイスマネージャを開くと、「Android Phone」というデバイスの下に、「Android Composite ADB Interface」というドライバがぶら下がっているのが確認できると思います。

おもむろに、コマンドプロンプトから、"adb shell" とやると、'#' プロンプトが立ち上がって、デバイスにアクセスできます。

注意書きにわざわざ、

"Caution: You may make changes to android_winusb.inf file found inside usb_driver\ (e.g., to add support for new devices), however, this will lead to security warnings when you install or upgrade the driver. Making any other changes to the driver files may break the installation process."

なんて、書いてあるということは、こうやってインストールするのが、ある意味普通なんでしょうか。

[関連リンク]
http://developer.android.com/intl/ja/guide/developing/device.html#WinUsbDriver
【速報】S11HT Android : 9/12版はIon

2009年9月19日土曜日

【速報】S11HT Android : 9/12版はIon

いつも速報ばかりで申し訳ありません。

Kaiser Builds [Android on HTC]では、既にAndroid 1.6 版のsystem.sqsh ファイルがアップされていたりしますが、ようやく9/12 版を試すことができました。こちらはAndroid 1.5 です。

Google-Ion-2009-09-12.zip をダウンロードして、展開して、いつものように default.txt の ppp 関連を書き換えて、さらに、どういうわけか、MTYPE が、1667 になっていますので、ここも 1553 に書き換えてください。前回、9/9版がうまく立ち上がらなかったのもこれが原因かもしれません。(未確認)Boot Options を見ても、1667 は載っていないのでどんな機種でテストされた default.txt なのかが気になります。

今回はIon ベースなので、画面の解像度を好きなように選べて快適です。Wi-Fi も GPS も問題なく使えます。ただ、カメラがまだ使えないようです。USB は認識するのですが、PC 側にインストールすべきデバイスドライバが見つからないのでテストできません。どなかた、デバイスドライバの入手方法をご存知の方がおられましたらご一報を。

2009年9月11日金曜日

【速報】S11HT Android : 9/10版がうまく動いてます

Kaiser Builds [Android on HTC] の最新版、09/09/09バージョンをダウンロードしてみましたが、default.txt の PPP 関連を書き換えただけでは、どうもうまく立ち上がりませんでした。haret.exe で run をタップしたあと、フリーズしてしまいます。ドキュメントを探していろいろトライしてみてもよかったのですが、kaiser-hero - Project Hosting on Google Code に9月10日版が挙がっていたので、こちらを試してみました。

kaiser-hero-100909.zip です。

こちらは、いままで通り、default.txt の PPP 関連を書き換えただけでうまく走りました。ただ、ちょっと動作が重い気がします。

関連リンク
Kaiser Builds [Android on HTC] 
kaiser-hero - Project Hosting on Google Code