Personal tools
You are here: Home Reports IDY Google Android 開発キット 第2回 「Hello Android」アプリを実機で動かしてみよう
Document Actions

第2回 「Hello Android」アプリを実機で動かしてみよう

前提条件

今回も、Windows PC を前提としております。 また、一台のPCでコトを済ますため、 多少まわりくどいこともしておりますが、 お付合いくださいますよう、よろしくお願いいたします。

1. Linux環境の準備

IDYさんの Google Android 開発ビルドキットの実機(i430)に アプリケーションをインストールするには、現状では Linux環境を必要とします。
Windows only で行う方法も模索してみましたが、 デバイスドライバの探索の時点で苦戦中です(論理的にはできるはずですが・・・)。

Linux 環境ですが、現状使用されているWindows PCの条件により二つの手段に分岐します。
USBでブートする方法と、仮想マシンを導入する方法です。

分岐の条件はシンプルでメインメモリが1GBあるかどうか、となります。

もっとも、仮想マシン方式の場合は、できれば2GB欲しいし、デュアルコア以上であるほうが望ましかったり・・・
そのかわり、再起動を必要とするUSBブート方式よりも切替の手間という意味では手軽です。


1.1. Linux環境の準備 USB編

最近のLinux はLive CD等があり、大変手軽に実行することができます。

しかし、CDではいろいろな保存が面倒であり、また、ファイルシステム本体への変更は記録されません

最近ではUSBメモリも大容量のものが安価に買えるようになりましたので、USBメモリをディスクと見なして インストールすることもできますが、 今回は、USBインストール機能を最初から持っている ubuntu を利用してみたいと思います。

といっても、準備するものは

  1. Windows PC(存在するはずです)
  2. USBメモリ(2GB以上、FAT32でフォーマット済のもの(普通の市販品はだいたいそうですが))
  3. Ubuntu 9.04 ISOファイル
    Ubuntu Desktop 日本語 Remix CDのダウンロード
  4. U904p.exe USB Ubuntu 9.04 install tool
これだけです
正直、以下のサイトに書いてある通りです。このページの下のほうに後述するcasper-rw ファイルへのリンクがありますのでそちらも御参照ください。 USB Ubuntu 9.04 Persistent install (Windows)

簡単に書きますと

  1. U904.exeをダウンロードして展開する。PATHにスペースが入らないようにしたほうがよい
  2. そのフォルダにisoファイルを移動
  3. u904.batを実行
    (うまく動作しなかったので、適宜書き変えてしまいました。なお、相当時間がかかります)
  4. 2GBなら、終了、4GBならcasper-rw を 3GBのものに変更(エクスプローラーで置き換え)します
と、簡単にUSB ブートのUbuntuを作成することができます。

【注意】makeboot.batをフラッシュドライブ以外で実行した場合、PCが起動しなくなる可能性があります【危険】

Vistaの場合、フラッシュドライブのmakeboot.batが失敗するので「管理者として実行」で再実行します。


1.2. Linux環境の準備 VirtualBox編

Windows上でフリーで使える仮想環境といえば、VMware Playerが有名ですが、今回は、USBサポートの実績やその他の要因から Sun xVM Virtualbox を選択してみました。
こちらも大変に簡単で、

  1. Windows PC(存在するはずです)
  2. Virtualboxのインストールファイル
    Sun xVM VirtualBox - ダウンロード
  3. Ubuntu 9.04 ISOファイル
    Ubuntu Desktop 日本語 Remix CDのダウンロード
VirtualBox用の仮想マシンイメージも配布されておりますが、バージョンが8.10だったため新規インストールをしました。 しかし、インストールは楽です。
  1. VirtualBoxを起動
  2. 新規ボタンをクリック
  3. 名前を入力し、OSタイプを選択
  4. メモリ(デフォルトの384でOK)を選択
  5. 仮想ハードディスクで新規、サイズは10~20GBを指定
  6. ウィザードを終了し、
    仮想マシンの設定をクリック
  7. CD/DVD-ROMをクリック
  8. CD/DVD-ROMのマウントをクリック
  9. ISOイメージファイルをクリック
  10. ドロップダウンの右にあるフォルダ風のマーク(仮想メディアマネージャ)をクリック
  11. ubuntuのISOファイルの場所を指定
  12. それを指定してOKで、設定を閉じる
これでubuntuのインストールCDがブート可能になりました。 インストールも簡単です。
  1. ブート後、ubuntuをインストールを選択し、Enterで開始。

    USキーボードが好みの方などは、
    インストール開始前にF3を押して選択しましょう

  2. ブートしたらウィザードが起動します
  3. 日本在住で日本語をメインで使うのなら、
    全てデフォルト値で次へまたは 完了 をクリックしていけばOKです
  4. これでインストール完了です。再起動の際、CDを抜いたかの確認でEnterを押すことが求められます。
    Enterを押すとこまで確認しなかった場合、再起動がかかったと思ってコーヒーを取りにいったりすると、 戻ってきても、再起動が完了してなかったりするので気をつけてください。


1.3. Linux環境の準備 共通編

USBの方は、USBメモリと、i430TをUSBに挿しておき、BIOSの設定で、USBがHDDより先にブートするようにしてください。
仮想マシンの方も仮想マシン起動前にUSBにi430Tを挿しておいたほうが確実なようです。
もし、起動したままでうまく認識できない場合は、どこかのタイミングで一旦、Virtualboxを全て落としてから再起動してください。

  1. ubuntuが初回起動すると、update managerが走ります。Windows update みたいなものだと思ってください。
    かなり時間がかかりますので、コーヒータイムには最適かもしれません。
    なお、USBの場合、日本語への切替が初回だけ必要なことがあります。
  2. updateが終わったら再起動してください。
  3. 【仮想マシンの方のみ】Vbox Guest Additionをインストールしておきましょう
  4. tftpサーバをインストールします。
    1. apt-cache search tftpとして、tftp関係のパッケージを探します
    2. 検索結果よりsudo apt-get install tftp-hpa tftpd-hpaとしてインストールします。 別のパッケージが検索された場合には適宜読み変えてください。
    3. 【仮想マシンの方のみ】VirtualBoxの共有フォルダを設定しmount -t vboxsf <共有フォルダ名> /mntなどとして母艦との接続を取っておきます
    4. /var/lib/tftpbootがtftp用のフォルダになります。ここに .apkファイルを置きます
    5. /etc/init.d/tftpd startで、tftpサーバを開始します
  5. 【仮想マシンの方のみ】USBをVirtualBoxに割りあてます。画像を参考にしてください。

    なお、この機能はけっこううまくいったりいかなかったりする様子です。USBBootにて接続するほうはほぼ問題ないのですが・・・
    うまくいったかどうかは、画面ではわかりません。dmsgコマンドを端末から用いて確認できます。
    [  213.005097] usb 1-1: new high speed USB device using ehci_hcd and address 2
    こんな感じのメッセージを見ることができればうまくいっています。
    【追記】PC起動直後に実施するとうまくいくことが多いです。あれこれ挿したり抜いたりしたあとだとうまくいきづらいようです。


2. i430Tへのdeployと実行

i430Tにアプリをコピーするには、2通りの方法があります。
1つはtftpを使う方法、もう1つはmicroSDからコピーする方法です。

2.1. tftpを使う方法

  1. Linux のtftpのルートフォルダ配下に、作成したHelloAndroid.apkファイルをコピーします。
    例) /var/lib/tftpboot/HelloAndroid.apk
  2. Linux のusb0のIPアドレスを192.168.1.100に設定します。
    ifconfig usb0 192.168.1.100
  3. telnetでi430Tに接続します。i430TのIPアドレスは、192.168.1.103です。
    telnet 192.168.1.103
  4. tftpで、Linux PCからapkファイルをゲットします。
    cd /data/app
    tftp -l HelloAndroid.apk -r HelloAndroid.apk -g 192.168.1.100
  5. exitでTELNETを切断します。

2.2. microSDからコピーする方法

  1. microSD(FATフォーマット)に、作成したHelloAndroid.apkファイルをコピーします。
  2. microSDをi430Tのスロットに挿入します。
  3. i430TとLinux PCをUSBケーブルで接続します。
  4. Linux のusb0のIPアドレスを192.168.1.100に設定します。
    ifconfig usb0 192.168.1.100
  5. telnetでi430Tに接続します。i430TのIPアドレスは、192.168.1.103です。
    telnet 192.168.1.103
  6. microSDからapkファイルをコピーします。
    cp /sdcard/HelloAndroid.apk /data/app
  7. exitでTELNETを切断します。

3. i430Tでのアプリケーション実行

apkファイルは、/data/appフォルダに置くだけで、実行可能です。
アプリケーション一覧(トップ画面から▲をタップ)でHello,Androidのアイコンをタップします。
ちなみにアプリのアイコンをこっそりIDYのものに変更しました。
“Hello, Android!!”と表示されれば成功です。
他には何もできませんので、Backキーで閉じて下さい


以上

【追記】

御質問がございましたら、 ブログエントリのほうによろしくお願いいたします。



Powered by Plone CMS, the Open Source Content Management System