Androidのターミナルを強化する『BusyBox Non-Root』
[ PR ]
Androidのターミナルアプリや、Android SDKのadbを使って、PCからSSHのようにAndroid本体を操作したいときがあります。
abcコマンド
adbコマンドはAndroid SDKに入っていて、Androidの設定から、[開発者向けオプション] -> [USBデバッグ] を有効にした上で、
adb shell
と打ち込むと入力が開始されます。
しかし、普段からUNIXやLinuxを使っていると、基本的なコマンドの少なさに驚きます。
shell@android:/ $ cp
/system/bin/sh: cp: not found
130|shell@android:/ $ vi
/system/bin/sh: vi: not found
127|shell@android:/ $ grep
/system/bin/sh: grep: not found
127|shell@android:/ $ gzip
/system/bin/sh: gzip: not found
127|shell@android:/ $ tar
/system/bin/sh: tar: not found
端末によって異なりますが、cp がないのでコピーもできませんし、解凍もできず、文字の編集ができません。
BusyBoxとは
そこで、BusyBoxを導入すると便利です。BusyBoxとは次のようなものです。
busybox cp file1 file2
つまり、busybox xx と入力するとコマンドxxが利用できます。例えば次のコマンドが利用できます。
様々なBusyBoxがありますが、中でも "BusyBox Non-Root" はルート化が不要なため便利です。
BusyBoxの導入
まず、PlayストアからBusyBox Non-Rootをインストールします。
BusyBoxを起動して、 [Install BusyBox] をクリックしてBusyBoxをインストールします。
しばらくするとインストールが完了します。Open Terminalをクリックするとターミナルが開きますが、そのボタンの上の方に、
BusyBox: /data/data/burrows.apps.busybox/app_busybox/busybox
とあります。これがとても重要なので、長押ししてコピーしておいてください。
ターミナルを開いて(adbでも同様です)、まずこのパスに移動します
cd /data/data/burrows.apps.busybox/app_busybox/busybox
このパスにBusyBoxがあります
./busybox vi # :q to exit
もっと便利に使うには、このディレクトリで次のようにタイプします。
alias busybox="`pwd`/busybox"
これでどのパスでもBusyBoxが使えるようになりました。
busybox vi # :q to exit
もっと便利に使うには、catコマンドを使って、
busybox cat <<EOF > /mnt/sdcard/.profile
alias busybox="/data/data/burrows.apps.busybox/app_busybox/busybox/busybox"
EOF
とすれば(うまくいかないときはviコマンドを使う)、次回から
sh /mnt/sdcard/.profile
と最初にタイプするだけでbusyboxが使えるようになるので便利です。
もしこれでもうまくいかない場合は、またBusyBoxを起動して、同じようにパスをコピーしてからターミナルに入って手順を繰り返すとOKです。
アスキー・メディアワークス
売り上げランキング: 79,051