Gaiaを実行するのは、WebIDE経由のsimulatorや、デスクトップ版Firefox内で直接や、専用のデスクトップビルド(デスクトップ B2G)や、エミュレータや、互換のモバイル端末で可能です。この記事ではそれぞれの方法の要約と、詳細情報へのリンクを提供します。
実物にどれだけ近いか?
この記事で詳しく述べるGaia実行用の方法は、他のものより実端末の経験に近いです。実行が簡単な順だと、次の通りです:
- Simulator内でのGaia
- B2Gデスクトップ内でのGaia
- Firefox Mulet内でのGaia
- エミュレータ内でのGaia
- 電話機に焼いたGaia
- 電話機に焼いたGaia+Gecko
“出荷製品に近いか” の順番はこの正反対です。取り組む機能によっては、問題に合った環境を見つけないといけないでしょう。
Firefox OS SimulatorによってWebIDE内のGaiaを使用する
最速の方法はWebIDE(デスクトップ版Firefoxで利用できる開発ツール)経由でGaiaを試す事です。これはHTML5のwebアプリをFirefox OS端末・Firefox OS Simulatorでテスト、デプロイ、デバッグするための数々の便利なツールを、ブラウザから直接に提供します。
デスクトップ版 Firefox ブラウザ 34+で、WebIDE を ツール > Web 開発 > WebIDE から開きます。右上の実行メニューを開いて Simulator をインストール、起動します。
自分の Gaia ビルドを実行するには、手順が少し複雑ですが、まだとても簡単です:
- これを実行してみる前に、自身で Gaia デバイスデバッグプロファイルをビルドすべきです — 自分のGaia リポジトリクローンに移動し、
DEVICE_DEBUG=1 make を実行します。これは
内部の Gaia アプリをすぐにデバッグできることと、加えてsimulatorを起動するごとにリモートデバッグの確認ダイアログを承認しなくてよいことを意味します。 - Firefox を開きます(Nightly 推奨)
- WebIDE を ツール > Web 開発 > WebIDE から開きます。
- WebIDEで ランタイム > シミュレータをインストール を選びオプションを選択してFirefox OS Simulator をインストールします。Gaia バージョンと同じシミュレータバージョンを使っているのを確認します (例えば、あなたのGaia ブランチが 2.1 の場合、Firefox OS Simulator 2.1を使う必要があります)。
- デスクトップ版Firefox に戻り ツール > アドオン を選択します。Firefox OS Simulator 2.2 の設定 ボタン(または自身の Gaia を組み込もうとするあらゆるバージョン)をクリックします。
- 設定で Select a custom Gaia directoryをクリックし、次にGaia デバイスデバッグプロファイルのディレクトリを選択します。
- WebIDE内でSimulatorを起動すると、今度はあなたの Gaia プロファイルを実行しているはずです。
記: シミュレータをリセットしたい場合、カスタムGaiaプロファイルはもう動作していません。Firefoxの about:configへ移動する必要があり、[email protected]
設定を探し (2_2 はカスタマイズするシミュレータのバージョンによって違うかもしれません)、ダブルクリックして、出てきたダイアログボックスで空の値を入れ、OKを押します。
記: Gaia の master ブランチは速く変わるため、時々最新発行のシミュレータがいくらか遅れをとります。master ブランチを実行しようとしていてそれが動作しないのに気づいた場合、 (この時 WebIDE は通常 "Operation timed out" のエラーメッセージを出します)、最新のnightly シミュレータ ブランチをダウンロードして、それで代用してみるべきです — Nightly Mozilla Central を見て、自身のシステムにあった fxos-simulator-*.xpi ファイルをダウンロードします。記憶すべきは、この nightly ビルドは機能リリースするために自動更新はしません。更新を所得したい場合、公式ビルドに戻る必要があるでしょう。
B2G デスクトップ
B2G デスクトップは、Firefox OS 端末で使われるアプリのランタイムのデスクトップ版で、Gaia をデスクトップコンピュータで実行できます。これはもうすぐFirefox Mulet (下記を見て)に置き換えられます(いったんMulet が十分安定した時に)。
B2G デスクトップのnightly ビルドをFirefox Nightly サイトからダウンロードできます。 どのバージョンをターゲットにするかによって、latest-mozilla-b2g18 の特定バージョンが望まれるかもしれません。Linux (32 bit と 64 bit)や OS X や Windows用のビルドがあります。
Nightlyビルドはgaiaの最近のバージョンでパッケージされています。いったんアーカイブをダウンロードしたら、必要なのはフォルダに展開して b2g バイナリを展開済みフォルダから実行するだけです。
$ cd b2g $ ./b2g
あなた自身の開発用バージョンの Gaia と共にB2G を実行するには、まずあなたのクローンからのビルドプロファイルが必要です:
$ cd /path/to/gaia $ DEBUG=1 DESKTOP=0 make
これは gaia
ディレクトリ内に profile
というディレクトリを生成します。DEBUG
パートは Gaia を、デフォルトのパッケージアプリ(変更のたびに再度パッケージ化が要る)ではなく、ビルトインのwebサーバ上のホスト型アプリとして実行します。profileディレクトリへのパスは、上記コマンド実行後の最終行を見ることで見つけられて、それは次のようなものです:
Profile Ready: please run [b2g|firefox] -profile /path/to/gaia/profile
B2G デスクトップを生成されたプロファイルで、このように実行できます:
$ ./b2g /path/to/gaia/profile
望むなら、あなた自身の B2G デスクトップをソースからビルドできます。
記: OS Xでは、 b2g
バイナリは B2G.app の内部にあるでしょう。このプラットフォームで B2G デスクトップを実行するには、下記のコマンドが必要となるでしょう:
./B2G.app/Contents/MacOS/b2g /path/to/gaia/profile
Firefox Mulet内のGaiaを使用する
Firefox Muletと呼ぶFirefoxの特殊ビルド内でGaiaを実行することもできます。これには素早い開発サイクルと、標準web開発ツールやデバッガが利用できるメリットがあります。
記: Firefox Mulet は現在開発の初期段階で、たぶんバグを見つけるでしょう。それらに出くわしたら報告して下さい。
- まず最初に、 Gaia リポジトリを自身のマシンにクローンします (このプロジェクトに貢献したい場合、一番よい方法はRunning your own Gaia build を見て下さい。) Mulet は Gaia 2.2 以上だけで動作するので、master ブランチを使うのが妙案でしょう。
- 次に、Gaiaリポジトリに
cd
して、make
を使って自身のプロファイルをビルドします (色々な変数の種類については make オプションのリファレンスを見て下さい。) 将来的には、Mulet は複数のビルドタイプをサポートし、もっと簡単にアプリをデバッグできるツールが追加されるでしょう。 (例えば、更新をテストする場合に個々のアプリを再起動すること) - いまやnightly Firefox Mulet ビルドのダウンロードが必要です — Mozilla Central で見つかります。 Mulet ビルドは
firefox-*
で始まる名前のパッケージ、例えばfirefox-36.0a1.en-US.mac64.dmg
— となり、あなたの開発マシンに適切なビルドを選択して下さい。 - いったんダウンロードすると、Mulet ビルドを Firefox Nightly ビルドを上書きしない安全な場所にインストールします。例えばMac OS Xでは、"mulet"というアプリケーションの中にフォルダを作り、そこにドラッグします。
- いまや Mulet ビルドを、 開いた時に使うプロファイルとしてGaia プロファイルを渡して (
-profile
オプションで指定) コマンドラインから実行します。例えば Mac OS Xではアプリケーションフォルダ内からこのように実行できます:./mulet/FirefoxNightly.app/Contents/MacOS/firefox-bin -profile /Users/my-home-folder/git/gaia/profile/
結果 Mulet ビルドが、次のように起動します:
この画面で、Gaiaアプリをデバッグするために使える標準 Firefox Toolboxや、更に左側に実行している Firefox OS のエミュレーションや、その他数々のGaiaコンテキストに有益なツールを入手しました。エミュレータの上のコントロールは次のことができます:
- エミュレータの色々な画面サイズが選べます (これは基本的にレスポンシブデザインビューです)。
- エミュレータ画面の回転
- タッチイベントシミュレーションのオン・オフ (オフの時、マウスでUIとopenアプリのドラッグはできません。)
- スクリーンショットを撮る
記: 現在ホームボタンは動作しておらず、時には画面が不調になります。ブラウザのタブをリフレッシュする事で、この問題を回避できます。
実端末にGaiaを書き込む
重要: Gaia をTarako や Spice Fire Oneといった低メモリ端末に書き込んでみる場合、特別に低メモリに最適化されたGaiaブランチ、例えば 1.3t branchを焼くべきです。低メモリ端末にGaiaのmasterブランチを焼いてみるのは、たぶん電話機が反応しない結果になるでしょう。
実端末に Gaia の新バージョンを書き込むには:
- まずGaiaリポジトリがあなたのコンピュータにクローンされていて、 ADB がインストールされているのを確認します。
- USB経由のデバッグ が有効になっているのを確認します。
- 端末をUSB経由でコンピュータに接続します。
- 端末が接続すると、下記のコマンドを処理できます。あるいは (Windows や Linux ディストリビューションのユーザは) OEM USB ドライバのページを確認して、コンピュータに正しいUSBドライバをセットアップしないといけない可能性もあります。
- Gaia リポジトリで次のコマンドを実行して、電話機を再起動して Gaia ソースコードを更新します:
$ make reset-gaia
- 非システムアプリをテストするには、端末わ再起動することなく、次のコマンドでインストールできます:
$ make install-gaia
- 特定アプリだけをインストールする場合、APP 変数で次のように引き渡せます:
$ make install-gaia APP=browser
記: make install-gaia
/ make reset-gaia
を使って端末にGaiaをプッシュすると、デフォルトで 1倍の解像度アセットのGaiaをビルドします。もっと高い解像度アセットを指定するには、makeオプションの GAIA_DEV_PIXELS_PER_PX
or GAIA_DPPX
を使う必要があります (このオプションについてのより詳細は 高解像度イメージアセット を見て下さい)。この方法で端末に Gaia をプッシュした時は、関連の make オプションに端末のスケールファクタを付けて指定します、例えば Flame端末向けには make install-gaia GAIA_DEV_PIXELS_PER_PX=1.5
とする (または 2, や 2.5, など; スケールファクタの値は 512 icon for device display内の表を見て下さい。)
端末が正しくUSB接続されているか確認するには、こう打ちます:
$ adb devices
こんな結果を得るでしょう:
List of devices attached emulator-5554 device
エミュレータや実機でGeckoとGaiaをビルドして使用する
互換モバイル端末を持っていれば、あなた独自バージョンの Firefox OSをビルド・インストールできて、エミュレータ上や端末にプッシュして、これを実行できます。