#Androidシェル
「シェル」とは、ユーザーからのキーボード入力を聞き、ユーザーの指示通りに動作を行うプログラムである。 Android端末には、簡単なシェルプログラムが付属しています。 このシェルプログラムは、ほとんど文書化されていません。
Currently this documentation is incomplete, sorry!
##Common problems
内蔵のシェルはエラー処理が非常に限られています。 コマンド名を間違って入力すると、本当の問題はコマンドが見つからないことなのに、”permission denied” と表示されます:
$ dirdir: permission denied <---- this is a misleading error message, should say 'dir: not found'$ ls... listing of current directory
#The PATH variable
Android shell will run any program found in its PATH.The PATH variables. PATH はコロン (‘:’) で区切られたディレクトリのリストです。 シェルの PATH が何に設定されているかは、組み込みの echo コマンドを使用して確認できます。
$ echo $PATH/data/local/bin:/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
お使いのシェルによっては、異なる結果が表示されるかもしれません。
- echo — テキストを標準出力に表示します。
- set — シェル変数を設定します。
- export — シェル変数をコマンドラインプログラムから利用可能にします。
- cd — 現在のディレクトリを変更します。
- pwd — 現在のディレクトリの名前を表示します。
#Commands どのようなコマンドがあるか調べるには、PATH 変数の各ディレクトリで “ls” コマンドを使ってください。
##Finding documentation for the Android commands.
多くの Android コマンドは Linux (or bsd) 標準コマンドを基にしています。 コマンドに興味がある場合、デスクトップ Linux または OSX (Apple Macintosh) コンピューターで “man” コマンドを使用することにより、そのコマンドがどのように動作するかを知ることができる場合があります。 Linux や OSX 版のコマンドは細部が異なるかもしれませんが、ドキュメントの多くは Android 版のコマンドにも適用できます。
Linux や OSX マシンが手元にない人のためのもうひとつのドキュメントのソースは、Web ブラウザを使って、Web 検索エンジンでテキストを検索することです。 「man Linux command-name”.
##List of commands
以下は、Android 2.3.3 “user-debug” build を実行している Nexus S phone に存在するコマンドのリストです。 これらのコマンドの多くは、「ユーザー」携帯電話には存在しません。 (これらは、Android オペレーティング システムの開発またはデバッグに特有のため、「ユーザー」携帯電話には存在しません。)
$ ls /data/local/bin/data/local/bin: No such file or directory
デフォルトで /data/local/bin ディレクトリが存在しないことに注意してください。
$ ls /sbinopendir failed, Permission denied
/sbinディレクトリは存在しますが、アクセスする権限がありません。 root 権限が必要です。
$ su# ls /sbinueventdadbd# exit$
シェルプロンプトが「$」から「#」に変わるのは、あなたがルートアクセスを持っていることを示すものです。
$ ls /system/sbin/system/sbin: No such file or directory
This directory does not exist on a Nexus S.
$ ls /system/binam
am is the Android Activity Manager. コマンドラインからAndroidのアクティビティ(アプリケーションなど)を起動したり停止したりするのに使用されます。
amixaplay
コマンドライン オーディオ ファイル プレーヤー。
app_processapplypatch
アンドロイド ファイルにパッチを適用するために使用されます。
arec
コマンドライン オーディオ レコーダー。
audioloopbluetoothd
BlueTooth daemon
bmgr
Backup manager – type command by itself to get documentation.
bootanimation
Draws the boot animation.これは、起動アニメーションを作成します。
brcm_patchram_plusbugreportcat
ファイルの内容を標準出力にコピーします。
chmod
ファイルのモードを変更します(例.
chown
ファイルの所有者を変更する
cmp
2つのファイルをバイト単位で比較する
dalvikvm
dalvik仮想マシンです。 (Androidアプリケーションを実行するために使用します。)
date
現在の日付と時刻を印刷する
dbus-daemondd
ファイルを変換してコピーする。 デフォルトでは、標準入力から標準出力にコピーします。
debuggerddexoptdf
デバイス上の異なるファイルシステムにどれだけの空き容量があるか表示します。
dhcpcddmesgdnsmasqdumpstatedumpsysdvzfsck_msdosgdbservergeteventgetpropgziphciattachhdidifconfig
ネットワークインターフェイスの現在の構成(IP、MACアドレスなど)を表示します
iftop
ネットワークインターフェイスを使用している現在のプロセスを表示します(トップ、ただしネットワーク用)
imeinputinsmodinstalldioctlioniceiptables
ファイアウォールを管理する
keystorekeystore_clikill
プロセスに信号を送信する。
linkerln
ファイルシステムのリンクを設定するために使用されます。
loglogcat
Androidランタイムログを印刷します。
logwrapperls
ファイルをリストします。
lsmodlsofmake_ext4fsmediaservermkdir
ディレクトリを作成します。
monkey
ランダムにイベントを送信するプログラム、アプリケーションのテストに使用されます。 (猿にデバイスをいじらせるようなもの。)
mountmtpdmv
ファイルをあるディレクトリから別のディレクトリに移動します。 (同じファイルシステム上でのみ。
nandreadndcnetcfgnetdnetstatnewfs_msdosnotifyomx_testspandpingpmpppdprintenvps
List active processes.
qemu-propsqemudracoonradiooptionsreboot
Reboot the device.
recordrenicerildrm
Remove a file.
rmdir
Remove a directory.
rmmodroutertp_testrun-asschedtestschedtopsdcardsdptoolsendeventserviceservicemanagersetconsolesetpropsetup_fsshshowleasesleepsmdstagefrightstart
Androidランタイムを開始する.
±10%
Lost a active processes.
stop
Androidランタイムを停止します。
surfaceflingersvcsyncsystem_servertctestid3toolboxtop
現在最もCPU時間を使用しているプロセスを表示します。
umountuptime
最後に起動してからどれだけの時間デバイスが起動しているかを表示します。
vdcvmstatvoldwatchpropswipewpa_cliwpa_supplicant$ ls /system/xbinadd-property-tagbtoolcheck-lost+founddexdumpdhdutilhcidumplatencytoplibrankopcontroloprofiledprocmemprocrankrawbuscp
セキュリティコピープログラム。 (
showmapshowslabsqlite3
SQLite データベースを管理するために使用されます。
strace
System trace コマンド – プログラムがどのシステムコールを行っているかを確認するために使用します。
su
root 権限でシェルを起動します。
#Versions of the Android Shell
- Android 1.0 はタブ補完や履歴編集がないシェルを使用していました。
- Android 2.3 は履歴編集を追加しています。
#その他のシェル
#Busybox
Busybox は、シェルとコマンドラインユーティリティのセットを含むプログラムです。 Android Marketで “Busybox “を検索すると、インストールできるバージョンがいくつか見つかるはずです。 Busybox シェルは、タブ補完と履歴編集を含みます。 Android 用の Busybox のいくつかのバージョンでは、携帯電話を root 化する必要はありません。
#Debian ユーティリティ
完全な Debian シェルとユーティリティをインストールすることが可能です。 (Debian は人気のあるデスクトップ Linux ディストリビューションです。) 詳細はわかりませんし、「root 化」された携帯電話が必要かもしれません。 Debian Android install」でウェブ検索してみてください。
#カスタムROM
いくつかのカスタムROMは、独自のシェルとユーティリティを備えています。 もしカスタム ROM を使っているなら、何が利用できるかを調べるためにそのドキュメントをチェックしてください。