2014年3月16日日曜日

ラズベリーパイでAndroid Debug Bridge(adb)を動かす

ラズベリーパイにWheezyをインストールしています。
インストールしているというかSDカードに入れています。

【やりたい事】
1.ラズパイのUSBにAndroid端末を接続
2.Adbサーバを起動して端末に接続
3.Adbkitで面白そうなアプリを作って動かす

1.は簡単にできます。
気をつける事は、ラズパイの電源を入れた状態でUSBを接続すると再起動しちゃう。
面倒という方は電源オフの状態でUSB接続してから起動するといいと思います。

2.Android公式サイトのLinux向けバンドルをダウンロードしてもそのままでは実行できませんでした。なるほど、そりゃそーか。と納得して。
誰かしら動かしてるだろうと調べる。案の定いました!
この人の記事にヒットしてリンク先のソースをダウンロードしました。
adb起動もうまく行った。

3.Node.js環境をapt-getコマンドで整える。nodejs、npmコマンドが使えればおけかと思っていました。
3.1.自分で書いたAdbkitアプリをダウンロードしてnpm installを実行すればpackage.jsonに従ってモジュールをインストールしてくれるかと思いきや!
apt-getでインストールしたnodejsのバージョンが低すぎたようだ。
仕方ないので自分でインストールする。
バージョンが頻繁に変わるのでnvmを導入するのがいいということで、
このサイト(http://d.hatena.ne.jp/hosikiti/20130925/1380093487)を参考にインストールします。

コンパイルにかなり時間を要するのでお気をつけを。

package.jsonがいけないのかnpm installだけではインストールできない。
モジュールのnode用モジュールを別々にインストールする。

$npm install ejs
$npm install express
$npm install adbkit
$npm install coffee-script

coffee-scriptは開発に使うのでインストールします。
$node app.jsを実行すれば上記のような画面が表示されて実行されました。

めでたし。

2 件のコメント:

  1. うーん、貴重な情報なのですが、2の時点からどの記事を参考にしたのか分かりません。
    是非とも全体的に無知な我々にご説明頂ければと…

    返信削除
  2. コメントありがとうございます。
    2の参考記事を載せ忘れてすみませんでした。ラズベリーパイで動くadbをダウンロードできるサイトだったと記憶しています。
    http://forum.xda-developers.com/showthread.php?t=1924492

    やりたいことは「リモートでアプリ(AndroidまたはFirefoxOS)をインストールして実機で動かして、画面キャプチャを取得できるようにしたい」でした。

    ラズベリーパイはウェブサーバ(Node.js)、実機(USB)接続されている。Adbkitを使ってAdbサーバにコンタクトをするアプリケーションを作っている。接続されているデバイス一覧を取得したり、アプリをインストールしたり、キャプチャしたり。取得したデータをブラウザに表示しているだけです。
    Adbkitの詳細はhttps://github.com/CyberAgent/adbkitを参考してくださいね。

    返信削除