ラベル Firefox OS の投稿を表示しています。 すべての投稿を表示
ラベル Firefox OS の投稿を表示しています。 すべての投稿を表示

2013-05-09

VMware の Ubuntu に Virtual HDD を追加して Firefox OS のソースを拾ってくる

VMware の Ubuntu に Virtual HDD を追加しようとして、いつもやり方を忘れちゃうので、メモ。

  1. VMware の仮想マシン設定でハードディスクを新規作成する。
  2. VMware の Ubuntu で sudo fdisk -l して "ディスク /dev/hoge は正常なパーティションテーブルを含んでいません" といわれる device を見つける。普通最後の。
  3. sudo fdisk /dev/hoge してパーティションを作成する。
  4. sudo mkfs.ext4 /dev/hoge1 してファイルシステムを作成する。 ext4 じゃなくても良いけど。
  5. sudo blkid /dev/hoge1 して UUID を調べる。
  6. /etc/fstab に適当に追加する。
  7. sudo mount -a でおしまい。

で、なんで Virtual HDD を追加したかというと、 Firefox OS のソースを見てみたかったからだったりします。ソースを拾ってくる手順は、 https://github.com/mozilla-b2g/B2G の README に従えばよいだけで、特に難しくは無いかと。

要は、 git clone して ./config.sh [device name] してやればよいだけです。 config.sh が repo の manifest.xml を拾ってきて repo sync を実行してくれます。

せっかくだから Geeksphone PEAK 用の物をと ./config.sh peak してみたら、 manifest 無いよって怒られちゃいました。 config.sh が https://github.com/mozilla-b2g/b2g-manifest の v1-train branch を引っ張ってくるけど、その中に peak.xml が無いためらしい。

というわけで、とりあえず BRANCH=master ./config.sh peak するとか、 peak.xml を用意して ./config.sh peak path/to/peak.xml するとか。

2013-05-07

Battery Status API

先日、横山さんのポストを拝見し、 Battery Status API なるものがあることを初めて知った次第。というわけで、どんなものなのかちょっと見てみました。

w3c のドキュメントを見ると、とてもシンプルです。 NavigatorBattery と BatteryManager という interface が定義され、 window.navigator.battery が BatteryManager を implement しているということのようです。

ただ、この Battery Status API 、今のところ Firefox でしか使えないようです。 ⇒ Mozilla のドキュメント

Battery Status API では充電中かどうかや、バッテリーの残量を見ることができますから、バッテリーが心もとない時にはがんばらないとかできそうなのですが。他の環境でも使えるようになるのかなー。

BatteryManager は read only の attribute を四つ持っています。

charging: boolean
充電中なら true
chargingTime: double
充電完了までの時間 (単位は秒)
dischargingTime: double
バッテリーの残り時間 (単位は秒)
level: double
満充電を 1.0 とした割合

また、個々の attribute に対応した event handler もあります。

onchargingchange
event type は'chargingchange'
onchargingtimechange
event type は 'chargingtimechange'
ondischargingtimechange
event type は 'dischargingtimechange'
onlevelchange
event type は 'levelchange'

で、簡単なサンプル。 chargingTime と dischargingTime にそれなりの値が表示されるまでには、充電 (あるいは放電) 開始してから多少の時間が必要です。ただ、これを Geeksphone PEAK でみてみると、 chargingTime と dischargingTime が取れていないようなんです。

ちなみに、 Firefix OS Simulator だと値がとれています。 Geeksphone PEAK 以外の、例えば Xperia Z 上の Firefox for Android でも、値を取得できています。 KEON でも取れないのかしらん。

2013-05-04

Firefox OS Simulator など

Firefox OS Simulator は Firefox のアドオンです。先日 3.0 がリリースされました。 3.0 でハードウェアデバイスにも対応したのかな。すでに Github には 4.0 の pre 版があります。 3.0 をインストールするには、普通に Firefox の「アドオンを検索」で検索すれば okay 。

ドキュメントは、ここ (developer.mozilla.org) とかここ (marketplace.firefox.com) にあります。この二つは同じもののスタイル違いなのかな。

で、そのドキュメントから抜粋して勝手訳。


デバイスにアプリを push

Firefox OS デバイスを持っているなら、デバイスをシミュレーターに接続して、ダッシュボードからデバイスにアプリを push することができます。

デバイスを接続する

デバイスをシミュレーターに接続するには、 Android Debug Bridge (adb) をインストールする必要がありますが、 adb は Firefox OS Simulator アドオンに同梱されていますので、自分でインストールする必要はありません。とはいうもの、デバイスと PC の設定をする必要はあります。

  1. Firefox OS デバイスでは、 "Settings" アプリを起動して Deviceinformation > More Information > Developer の Developer メニューの "Remote debuggin" にチェックを入れます。
  2. デバイスを認識するようにデスクトップ OS の設定をします。手順は OS によって違います。詳細は、 Android デベロッパーサイトの "Setting up a Device for Development" の 3. Set up your system to detect your device にあります。ちなみに Geeksphone の vendor ID は 05c6 です。
デバイスにアプリを push する

デバイスとデスクトップ OS の設定をすませて PC にデバイスを USB 接続すると、 Firefox OS Simulator のダッシュボードの左に "Device connected" と表示され、アプリごとに "Push" というボタンが表示されます。

"Push" をクリックすれば、アプリはデバイスにインストールされます。


訳するまでも無かったか!?

2013-05-03

Geeksphone を adb 接続してみる

今日は Geeksphone を PC に繋げてみました。

まず、端末側で usb debug を活かしてやる必要があります。これには、 Settings → Device Information → More Information → Developer settings セクションの Developer ボタン → Debug セクションの Remote debugging (深い……)をオンにします。

その後 PC に繋ぐと、デバイスマネージャーには Android として現れます。

プロパティ→詳細→ハードウェア ID を見ると Vendor ID が 05C6 で Product ID が 8013 であることがわかります。

環境によっては Interface 番号 (MI) が付いているかも。うちの場合、 Win7 (iMac) と Win8 (VAIO Duo 11) では MI_00 付きで、 Win7 (VAIO Z) では MI 無しになっていました。

というわけで、 Google の Android USB Driver (Android SDK の extras で入るやつね) の android_winusb.inf に

;Geeksphone PEAK
%SingleAdbInterface%        = USB_Install, USB\VID_05C6&PID_8013
%CompositeAdbInterface%     = USB_Install, USB\VID_05C6&PID_8013&MI_00
と加えてあげれば宜しいかと。デバイスマネージャーのプロパティ→ドライバー→ドライバーの更新で、 Android USB Driver を入れてあげれば adb 接続できるようになります。 Win8 の場合は、ドライバーの署名チェックを一時無効化してやらないとインストールできないので注意。

adb 接続できるようになれば、後は adb shell とか adb logcat とか ddms とか Android と同様に使えます。

ただ、 ddms で screen capture を撮ると画像が崩れちゃいます。

端末では、電源ボタンとホームボタンの同時押しで screen capture が撮れます。

というわけで、今日のところは繋いだだけでおしまーい。

2013-05-02

Geeksphone PEAK (Firefox OS) を入手しました

Firefox OS の開発者向け端末 (Geeksphone) が発売されると聞きつけ、「やはり初物は手に入れるべきでしょう!」と注文していたのが昨日届きました。 Geeksphone という名前からは、 BeBox の GeekPort が思い出され、その運命に一抹の不安を覚えたりするのですが、気のせいという事で置いておきましょう;-p

ときに、 Geeksphone 自体は 10,000 作られて、 1,000 販売されたとかいう記事がありますが、本当なんですかね。 9,000 は Mozilla 内部と関係社に配られたとか。 1,000 しか販売されなかったなら、そりゃすぐに売り切れるかもだなぁ、と。

それはさておき、貴重な初物を愛でます。箱は質素な感じ。こうして絵で描かれると iPhone っぽいというか Galaxy っぽいというか。要は普通のスマホ形状ですね。

蓋をぱかっとあけるとこんな感じ。端末自体は、とってもプラスチッキーでチープな感じです。まぁ、開発端末ですから。ちなみに Engineered in Spain で Made in P.R.C. です。

起動すると早速 OS のアップデートが OTA で降ってきました。

アップデートを適用。

起動ロゴはこんな感じ。

アップデート完了。

インストールされている Firefox OS の build では、日本語の UI もキーボードも無しです。中国語 (繁体) の UI はありますが、中国語キーボードが無いので、中国語の入力もできません。このあたり、自分で build した OS を入れれば行けそうですが、試していません。 ⇒ 日本語入力を有効にする [Firefox OS]

動作に関しては、ハードウェアスペックがそんなに高くないという事もあってか、少々もっさりぎみです。 Nexus S に Firefox OS 突っ込んで使うよりは良いかも。 build が違うので単純には比べられないと思いますが。

とりあえず、しばらくいろいろといじってみましょう。明日あたり、ハングアウトで動きを流したりできるかな。そういえば、ハングアウトってまだまともにやったことないや。まずは机周りを掃除しないといけないか……。