MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

ADBをインストールして使用する

Firefox OS 開発の色々な面で、ADB(Android Debug Bridge=Androidデバッグブリッジの略)のインストールが必要となってきます。この記事ではインストール方法を説明し、便利なADBコマンドを共有します。

ADBをインストールする

MacやLinuxやWindows向けのAndroid SDKパッケージの一部として、adbをダウンロード・インストールできます。 Get the Android SDKのページを参照してください。

またはFirefoxアドオンをインストールでき、これが最速の方法です。

新しめのLinuxディストリビューションでは、すでにリポジトリ内にadbがあります。Ubuntu 12.10以降では下記のコマンドを実行します:

sudo apt-get install android-tools-adb

Fedora 19/20/21は次を:

sudo yum install android-tools

OSXで Homebrew を使っている時はこちら:

brew install android-platform-tools

adbがパッケージされていないディストリビューション (つまりUbuntu 12.04 やFedora 17/18) では、Android SDK starter packageをインストールする必要があります (SDKツールだけのオプションよりは、ADTとのバンドル(セットになったもの)が欲しくなるでしょう) 。$SDK_HOME/tools/androidにあるパッケージマネージャを実行し、GUI を使用して "Android SDK Platform-tools" をインストールします。

adb のインストール場所(通常は /usr/bin で、インストール方法によっては更に $SDK_HOME/platform-tools の中にもインストールされることもある)を探しておいてください。忘れずにPATH にこのディレクトリを追加してください。これを行うには、~/.bashrc やそれに相当するものに対して、次の行を付け加え、

PATH=$SDK_HOME:$PATH

$SDK_HOME の値にAndroid SDK の場所を設定し直します。

トラブルシューティング

64-bitのOSを使用していて、adbコマンドを使用する時にファイルが存在するにもかかわらず "File not found"(ファイルがありません) というエラーが出る時には、32-bitの互換ライブラリをインストールする必要があります。 aptでは以下のように実行します:

sudo apt-get install ia32-libs

'adb devices'を実行して端末が見つからない場合、ここ をクリックして修正手順に従って下さい。

よくあるADBコマンド

以下のセクションではよくある、便利なadbコマンドを説明します。

b2gプロセスを再起動する

b2gはAndroidベースのカーネルの頂点にあってスマホ上で動作する XULRunner アプリケーションと同等なものです。時にはこれを再起動したくなるかもしれません。これは端末全体を再起動することなしにアプリケーション環境をリセットする方法です。端末とコンピューターを接続した状態(またはデバッガを走らせた状態)で、ターミナル上で下記のように入力することで可能です:

adb shell killall b2g

デバッグ用のポート転送を有効にする

単なるポート転送をするには(例えばアプリマネージャで Firefox OS 端末上のアプリをデバッグしている時)、ターミナル上で下記のように入力します:

adb forward tcp:6000 localfilesystem:/data/local/debugger-socket

電話を再起動したり、抜き差ししたりした時、毎回必ずこれを行う必要があります。必要に応じソケット番号を変更できます。

ローカルマシンへポート転送する

ローカルマシンへポート転送するには、netcat and ssh binariesをダウンロードし、下記コマンドを実行する必要があります:

# this is an awful hack but does in fact work...
host$ adb forward tcp:7979 tcp:6969

# make some named pipes so that we can make a bidirectional netcat
phone$ mknod readback p
host$ mknod readback p

# this sets up a one time use connection to back to the host
# listen on ports 6969 and 5959 and forward all the information between them
phone$ ./netcat -l -p 6969 < readback | ./netcat -l -p 5959 > readback
# connect to port 7979 (port 6969 on the device) and the local ssh server and forward all information between them 
host$ ./netcat localhost 7979 < readback | ./netcat localhost 22 > readback

# now when we connect to port 5959 on the phone it will be like connecting to ssh server on the host 

# use the netcat reversal to set up an ssh connection back to the host and forward port 9999 on the device to 'localhost:8000' (this could be anything like 'google.com:80')
phone$ ./ssh localhost -p 5959 -L 9999:localhost:8000

これは端末の9999番ポートをホストの8000番ポートに転送します。

別の方法として、sshサーバー(dropbearhost_key)を端末上で直接使う方法があります。それには下記コマンドを使用します:

phone$ DROPBEAR_PASSWORD=root ./dropbear -p 9000 -F -v -a -r host_key ./dropbear
host$ adb forward tcp:8888 tcp:9000
# public key authentication has been hard coded to succeed (make sure you have a public key for ssh to use)
host$ ssh -vvv root@localhost -p 8888 -R 9999:people.mozilla.org:80

詳細な情報:

ドキュメントのタグと貢献者

 このページの貢献者: chrisdavidmills, hamasaki, Uemmra3
 最終更新者: chrisdavidmills,