9月4日に購入したシャープの IS01 は、既に最新のファームウェアになっているようで、”/data/busybox”がパスから外されていた。それでも、Android Terminal Emulator 上で使う分には支障がないので、こちらを参考に、Android 用 Busybox を導入してみる。
WindowsXP における手順
IS01とホストマシンの通信環境を整える
- ホストマシンにて、IS01用USBドライバをインストールする。
- IS01 にて、設定 > アプリケーション > 開発 > USBデバッグ を有効にする。
- IS01 とホストマシンをUSBで接続する。
- ホストマシンにて、ドライバの設定画面が表示されるので、IS01用ADBドライバを解凍したフォルダを指定する。
IS01の開発環境を用意し、Busybox を転送する
- ホストマシンにて、Android SDK をダウンロードし、解凍、SDK Manager.exe を使って必要な環境をセットアップする。
- ホストマシンにて、Busybox for Android のバイナリをダウンロードし、Android SDK の Tools フォルダに入れる。
- IS01 とホストマシンをUSBで接続する。
- ホストマシンにて、コマンドプロンプトを起動し、以下のように Android SDK の Tools フォルダに移動してコマンドを実行する。
2010/12/16追記:最近の SDK では、adb コマンドは platform-tools フォルダに入っている模様。以下、tools フォルダと読み替えてください。
> cd c:\androidsdk\tools > adb shell mkdir /data/local/bin > adb push busybox /data/local/bin/busybox > adb shell
$ cd /data/local/bin # このBusyboxバイナリは、/data/busybox 配下にリンクを吐くようになっているので、 # インストール前に、あらかじめディレクトリを掘っておいてやる必要がある。 $ mkdir /data/busybox $ chmod 755 busybox $ ./busybox --install # 吐いたリンクを ATE で追加されるパスの位置へ移動。 $ ./busybox mv /data/busybox/* /data/local/bin/ # 例にならって ls と su はオリジナルのを使用。 $ ./busybox mv ./ls ./ls0 $ ./busybox mv ./su ./su0 # 不要なディレクトリは削除。 $ ./busybox rm -r /data/busybox
Android Terminal Emulator を入れる
IS01 にて、Android マーケットより Android Terminal Emulator をインストールする。
このターミナルは起動時に、
export PATH=/data/local/bin:$PATH
してくれるので、各コマンドのシンボリックリンクの詰まったディレクトリがパスに入り、以後、Busybox コマンドを優先的に利用する事が出来る。また、Busybox の組み込みシェルである sh、ash を起動すると、コマンド履歴など、一般的なシェルの機能を利用する事が出来る。
# adb shell 接続時には毎回PATHを再設定してやらないといけないのでメドい。*rcファイルみたいなものがあればいいんだけど、調べてみよう。
※ 2020/07/02 度重なるブログ移転・ブログシステムのアップデートにより崩れた記事を校正。
「export PATH=/data/local/bin:$PATH」は、メニュー>Preferences>Initial Commandで設定されてますよ。
はっ。と言うことは/data/local/binでなくともそのまま/data/busyboxでいけるんですね(ATEで使う分には)。見落としていました。ありがとうございます。