2009年7月20日月曜日

Android on S11HT : iWnnIMEインストールまとめ

先日S11HTにiWnnIMEをインストールしてから、メールから2ちゃんねるの投稿までいろいろ使ってみましたが、かなり安定しています。今後、Android on the HTC Kaiserがバージョンアップされた場合、同様の手順を繰り返すことで、iWnnIMEを使うことができると思いますので、インストールの手順をまとめておきます。

大まかな手順は以下のとおり:

  1. iWnnIMEに関するファイル一式を取ってくる。
  2. data.imgとsystem.imgの中に、必要なファイルをコピーする。
  3. iWnnIME.apkをインストールする。

特に、2.のsystem.imgの書き換えが面倒ですが、一部スクリプト化しておけば難しいことではありません。

では、手順を追っていきます:

  1. iWnnIMEに関するファイル一式を取ってくる。
    Japanese IME (iWnnIME) on Android - T9 / qwertyを参照してください。"Download the iWnnIME Japanese IME application from here" と書かれた箇所をクリックしてiWnnIME.zipをダウンロードします。圧縮を展開するとiWnnIMEというフォルダが出てきます。
  2. data.imgとsystem.imgの中に、必要なファイルをコピーする。
    • data.img(/dataディレクトリ)
      Android端末側でコピーします。
      1. microSDカードのルート(Android側では"/sdcard"にマウントされている)にiWnnIMEフォルダをそのままコピーして、Androidを起動します。
      2. /data/dataディレクトリにコピーすべきファイルをiWnnIMEに同梱のinstall.txtを参考にコピーします。
        下記のような内容のスクリプトを作って、microSDカードのルートに入れておき、実行すれば便利です。

        たとえば、copyiwnn.shというスクリプトファイルを作成したとすると、下記のように実行します。

        $ su
        # cd /sdcard
        # ./copyiwnn.sh

    • system.img
      PC側で作成します。
      PC側には、Linux環境が必要です。私は、手元にLinuxマシンがなかったのでVMwareを使いました。VMware Playerなら、無償で使えます。Linux環境はUbuntu 8.04 LTSのVMware用仮想マシンをそのまま使えば、インストールの手間は最小限で済みます。PanasonicのCF-Y8で試しましたが、VMwareは思っていたより軽いです。ちょっとしたプログラム開発なら十分使える感じです。
      1. ホームディレクトリの下に適当な作業ディレクトリを作り、そこに、iWnnIME.zipと、system.imgをコピーします。
        コピーする方法は、ご自分のお好きな方法で結構です。共有フォルダを使うか、USBメモリを使うのが便利だと思います。
        コピーしたら、iWnnIME.zipは展開しておきます。
      2. system.imgの中身を見るために、ディレクトリにマウントします。
        • マウント用ディレクトリを作成します。ついでに新しいsystemを入れるディレクトリも作成します。

          $mkdir system
          $mkdir newsystem

        • スーパーユーザーになります。

          $su あるいは、$sudo su(Ubuntuの場合)

        • system.imgをマウントします。

          #mount -o loop system.img ./system

      3. 新しいディレクトリにsystem.imgの中身をコピーします。
        このとき、パーミッションやリンク構造を変えないために、tarを使います。

      4. #cd newsystem
        #(cd ../system; tar cf - .)| tar xf -
        #cd ..

      5. iWnnIMEから、必要なファイルをコピーします。
        単にコピーするだけでなく、個々のファイルのオーナーとグループをrootに設定して、パーミッションを "-rw-r--r--" に統一したほうがよさそうです。ひとつずつ手でタイプするのは面倒だし、ミスも多そうなので、iWnnIMEに同梱のinstall.txtを参考に、install.shを作りました。

        install.sh


      6. 新しいsystem.imgを作成します。

        #mkfs.cramfs ./newsystem system.img.new

      7. これをmicroSDにコピーしてsystem.imgと置き換えます。

  3. iWnnIME.apkをインストールする。
    これについては、いろいろな方法があると思いますが、私は、iWnnIME同梱のiWnnIME.apkを無料のホームページ用レンタルサーバーにコピーして、Android側からダウンロードしました。レンタルサーバーはFC2や、Yahoo!ジオシティーズなど、いろいろありますので、お手軽だと思います。ちなみに、このとき、Android側で、Home画面からmenu(Windows)ボタンを押して、Settings -> Applications -> Unknown sourcesをチェックしておきます。こうしておかないと、Android Market以外からのインストールができません。

以上でiWnnIMEインストール完了です。

気軽にシステムをいじくれるのが非正規版Androidの魅力ですね。特にS11HTは少々ややこしいことになっても、SDカードを抜いてWindows mobile機に戻してやればいいので安心です。HT-03Aではこの手の冒険はできませんよね。 ;-P

[関連リンク]
Kaiser Builds [Android on HTC]
Japanese IME (iWnnIME) on Android - T9 / qwerty
VMware Player 、仮想マシン、仮想PC
VMware用仮想マシン | Ubuntu Japanese Team
FC2 total Web Solutions- 無料ホームページ アクセス解析 ブログ.....
Yahoo!ジオシティーズ - 容量50MBのホームページスペース。日記.....

2009年7月12日日曜日

Android 1.5 on S11HT iWnnIMEインストール完了!

09071201むははは、S11HTに日本語IME(iWnn)インストール完了です。さすがオムロンさん。安定しておりますねぇ。Wnnを使うのは何年振りでしょうか。ちょっと前まではUNIX系EWSを使うにはWnn必須だったような気がするのですが、最近あんまり見ませんね。

ちなみに、これ、正式版ではありませんので、皆様いろいろ事情があるのではないかと思います。とにかく使えることはわかりましたので、ご自分のS11HTでテストしてみたい方は、早めにダウンロードだけでもしておいてはいかがでしょうか?

ダウンロードはこちらから、
http://www.megaupload.com/?d=6VU7ALBX

一応、インストールの仕方はここに、
Japanese IME (iWnnIME) on Android - T9 / qwerty

ただ、この方法でインストールしようとすると、S11HTを開発用PCのadbから認識できるようにしてやらないといけません。いろいろ調べてみましたが、その方法はよくわかりませんでした。

仕方ないので、ディレクトリ構成だけを参考にさせていただいて、あとは一個一個、手でコピーすることにしました。adb使っても、やってることは一緒なので…… ま、ええやん。ねぇ。

で、/dataの下にコピーすべき、はじめの2つ、jp.co.omronsoft.iwnnimeフォルダと、system@app@iWnnIME.apk@classes.dexファイルは、先にmicroSDにコピーしておいて、Terminl Emulatorを立ち上げて、suでスーパーユーザーになった後、指定のディレクトリにコピーしました。

残りのファイル、*.soを/system/lib/に、DroidSansJapanese.ttfを/system/fonts/にコピーする方法ですが、これはちょっとめんどくさかったです。

Linux環境が使えるPCを準備しなくてはいけません。私はめんどくさいのがいやなので、UbuntuのVMwareバージョンをそのまま使いました。書き込み方は、このサイト(部活動録: S11HTの画面回転)を参考にさせていただきました。ここにある方法で、ひとまずsystem.imgの中身を任意のディレクトリに展開して、そこに*.soと、DroidSansJapanese.ttfをコピーして、再度system.imgを作り直します。注意しなくてはいけないのが、パーミッションです。コピーした後に必ず、"chmod a+r ファイル名"を実行して誰でも読めるようにしておかないといけません。あと、私は毎回sudoを打つのがめんどくさいので、はじめに"sudo su"として、スパーユーザーになってから作業しました。

最後の、iWnnIME.apkは、私は、一旦インターネット上のサーバーにコピーして、Browserからダウンロードすることでインストールを完了しましたが、microSDにAndroidAppsという名前のフォルダを作って、その中に.apkの付いたファイルを入れておくと、自動でインストールしてくれるようなことが、Installing Android on the HTC Kaiser [Android on HTC]に書いてあります。Android 1.1のところに書いてあって、Android 1.5のところに書いてないので、ちょっと怪しいですがご自分のホームページなどお持ちでない方はお試しあれ。

09071202 ちなみに、キーボードを開くと、ちゃんとソフトキーボードは隠れてくれます。この状態で英語と日本語の切り替えはShift-Spaceです。そう、Wnnですからね!

まさか、携帯電話に自分でUNIXをインストールしてWnnを使う日がやってくるとは思いませんでした。

最新のAndroidをいじくりながら、なぜか妙にノスタルジックな感覚を覚えてしまうのは私だけでしょうか。

[関連リンク]
Japanese IME (iWnnIME) on Android - T9 / qwerty
http://www.megaupload.com/?d=6VU7ALBX
部活動録: S11HTの画面回転
Installing Android on the HTC Kaiser [Android on HTC]

2009年7月11日土曜日

Android 1.5 on HTC Kaiser : build07_09_09

Kaiser Builds [Android on HTC]へ行くと、最新版android-ION-07_09_09.zipがアップされています。(例のごとくファイル名は"android-1.5-2009-07-09.zip")

早速インストールしていじくってみたところ、android-ION-30_06_09.zipに比べて、かなり安定しているますので、07_09_09で遊ぶのをお勧めします。

GPSやカメラがVogueで使えると書いてあります。Kaiser用のコメントに、わざわざVogueの話が書いてあるということが既にかなり微妙です。S11HTでは、Google Mapを立ち上げると、パラボラアンテナのマークが出て、なんかやってるっぽいですが、位置情報はつかめないようです。カメラは真っ暗です。

とはいえ、少しずつ開発が進んでいるようで、これからが楽しみです。

インストールの手順は同じです。確証はないのですが、SDカードはSDHCを使ったほうが安定しているように思います。Class6程度の速度はあったほうがよさそうです。特に起動時のLinuxカーネルを読み込むときの時間が体感的にかなり違います。経験的に、Linuxカーネルの立ち上げに時間がかかっているような気がすると、そのままうまくAndroidが起動しても、いろいろ遊んでいるうちに不安定になってハングしてしまうような気がします。この辺はイメージなので、S11HTとmicroSDのメーカーによる相性などもあるかもしれません。私の場合、Transcendの8GB(Class6)が一番安定しているように感じます。他は、PanasonicとかTOSHIBAとかですが、どれも512MBや2GBなどで、SDHC規格ではないので比較できません。それから、FAT16でも起動しました。ただし、FAT16だから不安定なのか、データ転送速度が遅い(Class2)から不安定なのかはわかりませんがとにかく不安定で、ちょっと遊んでみるにしても、あまりにストレスフルなのでお勧めできません。

それから、今回のリリースのパッケージの中のdefault-kaiser.txtの中身を見ていると、画面の解像度指定が

mddi.width=324 mddi.height=432

と、なっています。数字が中途半端なので、気になって前回のものを確認すると、

mddi.width=320 mddi.height=428

なんか、微妙に違うんですね。この微妙さは、作った人の好みなんだろうと思いますが、実際の話、いくつが一番見やすいのでしょうか? 本当のS11HT(Kaiser)の画面サイズは240x320なので、一度、

mddi.width=240 mddi.height=320

で起動してみました。すると、画面がクッキリして、これはこれでかなりイイ感じなのです。ただ、1画面に表示できる情報量が少なく、ブラウザなどが見にくくなります。Opera miniを使えば、ある程度は…… とも思ったのですが、それ以外にもちょいちょい使いにくいシチュエーションがあったので、やはりもう少し大きな数字を指定してやる必要がありそうです。

そこで、自分なりにいろいろ意味のある数字を考えてみたところ、1画面の情報量がちょうど2倍になるように1辺を1.4倍(≒√2)にしてやってはどうかと思いました。今のところ、この設定で使っていますが、イイカンジです(笑)

mddi.width=336 mddi.height=448

一度、お試しあれ。

[関連リンク]
Kaiser Builds [Android on HTC]

2009年7月9日木曜日

Android 1.5 on S11HT(EMOBILE) 動作確認

HTC Kaiser(S11HT)用のAndroid配布ページ “Kaiser Builds”(http://www.androidonhtc.com/kaiser/latest_builds) から、Android 1.5 のビルドデータが6月30日にアップされています。

Androidは、1.5からinput method (IME)が使えるようになっていますので、日本語IMEをインストールすれば、日本語のメールもストレス無く打ち込むことができるはずです。

Android 1.5 Bundlesの表の一番上、"android-ION-30_06_09.zip"と書かれたリンクをクリックして必要なファイルをダウンロードします。

ちょっと疑問なのは、このリンクをクリックしてダウンロードできるファイルは、"android-1.5-2009-06-30.zip"なのです。ファイル名が違うのですね。

ま、このあたりの細かいことは、あまり気にしても仕方ないので、自ら地雷を踏む覚悟で盲目的にダウンロードして展開します。

ちなみに、Android関係で最近やたらIONという単語が出てくると思ったら、Google主催で5月27日(現地時間)に、サンフランシスコで開かれたGoogle I/Oカンファレンスで、ロックなしのHTC Magicが、IONという名前で無料で配布されたんだそうです。メッサむかつくし。俺も欲しいし。

その昔、SUN主催の組み込みJAVAのカンファレンスで、組み込みJAVAがインストールされたPalmが無償配布されたという話がありましたが、そのときも、むちゃむかついたです。後から言うなや~、って感じです。

話が強烈に横道にそれてしまいました。とりあえず、落としたファイルを展開してみると、"bundle"というあっさりした名前のフォルダが出てきます。

この中には以下のようなファイルが入っています。

2009/07/09  20:53           1,409 default-kaiser.txt
2009/07/09  20:53           1,877 default.txt
2009/07/09  20:53         137,216 haret.exe
2009/07/09  20:53       3,160,318 initrd.gz
2009/07/09  20:54      43,315,200 system.img
2009/07/09  20:53       1,425,784 zImage
               6 個のファイル        48,041,804 バイト

これらのファイルを前回と同じようにUSBアダプタ経由でmicroSDのROOTに直接ファイルをコピーします。

そのとき、ちょっと気にしたのは、microSDのフォーマットです。Installing Android on the HTC Kaiserを見ると、FAT32かext2フォーマットのパーテーションを使うように書いてあります。前回、たまたま手元にあったのが、8GBのSDHC規格のmicroSDだったので、そのあたりは全然気にしませんでしたが、今回手元にあった空きカードは、512MBのSD規格のmicroSDです。SDHCはFAT32フォーマットで出荷されるように規格で決まっていますが、SDは特に決まりがありません。たいていは、FAT16でフォーマットされています。ですので、とりあえずWindows上でFAT32でフォーマットします。

format090709 FAT32でフォーマット
SDHCではないSD規格のカードはFAT16でフォーマットされていることが多い。

FAT16でも動きそうな気はしますが、ま、念のため……

あとは、先ほど展開したファイルをそのままmicroSDにコピーして、"default-kaiser.txt"を"default.txt"に書き換えて、中身を編集します。

そういえば、前回、「PPPの設定は関係ないみたい」のようなことを書いたのですが、やってみると、ちゃんと関係あるみたいです。以下が、とりあえず動いたdefault.txtです。

ここから先も前回通り、一旦、S11HTをソフトリセットして、haret.exeを立ち上げ、Runをタップすると、お馴染みペンギンの絵が出て、Linuxカーネルが立ち上がり、続いてAndroidが立ち上がります。

今回は、"data.img"か"data.gz"が無いので、data.imgを自動的に作るため、Linuxの起動に最初少しだけ時間がかかります。Androidのロゴがかっこよくなっています。

うまく立ち上がったら、Android1.5のチュートリアルが始まってしまいますが、そんなものはとりあえずスキップして、ネットワークの設定をします。設定するところまでは、前回と同様、メニューからSettingsを開き、"Wireless controls" -> "Mobile networks" -> "Access Point Names"を選択します。ここで、Windowsボタンを押すとAPNの追加ができるようになりますので、これをタップして、APNを"emb.ne.jp"に、UserName,Passwordを"em"に設定します。あと、Nameは何でもいいですが、適当に"EMOBILE"にして、Windowsボタンを押してセーブします。

ちょっとだけ違うのはその後、ネットワークを起動するプログラムが、Toggaだったのが、1.5からは、Modemというストレートな名前に変わっています。

Modemを立ち上げて、Connectをタップすると、PPP接続がはじまります。

今回驚いたのは、Android Marketに行ったら、My downloadsに、過去インストールしたフリーウェアがすべて管理されていたので、再インストールの手間がほとんどかからなかったことです。

これだったら、OSのバージョンアップもハードウェアの乗り換えも、ほとんど手間はかからないですね。

さて、真の狙いは日本語IMEのインストールですが、これはまだAndroid Marketには上がっていないようです。検索すると、"Japanese IME (iWnnIME) on Android - T9 / qwerty" というページが見つかりました。SDKからコンパイルしないといけないのですね。でも、ここまで作ってくれているだけでもありがたいです。"At Google Developer Day last week, I received a free HTC Magic....."というくだりに強烈な嫉妬を覚えつつ、日本語IMEの作者に感謝したいと思います。

これはまた後日、トライしてみることにします。

[関連ページ]
Kaiser Builds
Installing Android on the HTC Kaiser
Google I/Oで無償配布されたAndroid携帯「Google Ion」を紹介
Japanese IME (iWnnIME) on Android - T9 / qwerty