diff options
Diffstat (limited to 'files/ja/archive/b2g_os/developing_gaia')
13 files changed, 0 insertions, 3601 deletions
diff --git a/files/ja/archive/b2g_os/developing_gaia/customizing_build-time_apps/index.html b/files/ja/archive/b2g_os/developing_gaia/customizing_build-time_apps/index.html deleted file mode 100644 index 0b079cdd8d..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/customizing_build-time_apps/index.html +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: ビルド時のアプリをカスタマイズする -slug: Archive/B2G_OS/Developing_Gaia/Customizing_build-time_apps -tags: - - Apps - - Customization - - Firefox OS - - Gaia - - Guide - - ガイド -translation_of: Archive/B2G_OS/Developing_Gaia/Customizing_build-time_apps ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p><span class="seoSummary">開発者や端末ベンダとして、様々な理由から Firefox OS 端末の初回実行時に出てくるアプリをカスタマイズしたくなるでしょう。この記事ではそうするための異なる仕組みを説明します。</span></p> -</div> - -<h2 id="Gaia内のアプリの場所">Gaia内のアプリの場所</h2> - -<p>Firefox OS で動かされるアプリは、Gaiaソースツリー内の2つの場所に含まれます:</p> - -<ul> - <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/apps">gaia/apps/</a>: ここではシステムのデフォルトアプリ、例えばカレンダー、eメール、設定、などが見られます。</li> - <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/dev_apps">gaia/dev-apps</a>: ここではその他のアプリ、例えばカスタマイズ処理で入るものが見られます。</li> -</ul> - -<p>あなたのGaia/B2Gビルドで省略/追加したい場合、下記に述べる色々な方法でできます。</p> - -<h2 id="ブルートフォースでカスタマイズする方法">ブルートフォースでカスタマイズする方法</h2> - -<p>"ブルートフォース"手法は、単に今回のビルドに入れたくないアプリを、ビルド前に削除します。</p> - -<h2 id="設定リストを編集する">設定リストを編集する</h2> - -<p>より洗練された方法は、<code>apps-*.list</code> ファイル (<a href="https://github.com/mozilla-b2g/gaia/tree/master/build/config">gaia/build/config/</a> の中の色々な端末ディレクトリ、例えば <code>phone/</code> や <code>tablet/</code> の中に見られる) を編集して、ビルド時に含めたいアプリへのパスを入れます。例えば、<a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-production.list">gaia/build/config/phone/apps-production.list</a> は下記のようです:</p> - -<pre class="brush: bash">apps/bluetooth -apps/bookmark -apps/browser -apps/calendar -apps/callscreen -etc.</pre> - -<p>注意点として、ディレクトリ内の全アプリを指定できます、このように:</p> - -<pre class="brush: bash">apps/*</pre> - -<p><code>ビルド時に利用できるアプリを決定するのに、どのapps-*.list</code> ファイルが使われるかを選ぶ仕組みは <a href="https://github.com/mozilla-b2g/gaia/blob/master/Makefile">gaia/Makefile</a> 内にあり、下記のようです:</p> - -<pre class="brush: cpp"><span class="nv">GAIA_DEVICE_TYPE</span><span class="o">?=</span>phone - ... -GAIA_APP_TARGET?=engineering - ... -ifeq ($(MAKECMDGOALS), demo) -GAIA_DOMAIN=thisdomaindoesnotexist.org -GAIA_APP_TARGET=demo -else ifeq ($(MAKECMDGOALS), dogfood) -DOGFOOD=1 -else ifeq ($(MAKECMDGOALS), production) -PRODUCTION=1 -endif - ... -ifeq ($(PRODUCTION), 1) -GAIA_OPTIMIZE=1 -GAIA_APP_TARGET=production -endif - -ifeq ($(DOGFOOD), 1) -GAIA_APP_TARGET=dogfood -endif - ... -ifndef GAIA_APP_CONFIG -GAIA_APP_CONFIG=build$(SEP)config$(SEP)apps-$(GAIA_APP_TARGET).list -endif</pre> - -<p>最初は、the <code>GAIA_APP_TARGET</code> 変数<code>に engineering が</code>、the <code><span class="nv">GAIA_DEVICE_TYPE</span></code>に<code> phone が</code>セットされます、なのでGaiaをソースからビルドするのにデフォルトでは <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-engineering.list">gaia/config/phone/app-engineering.list</a> (この中に全てのテスト、デモなどがあります)が使われます。</p> - -<p>他のアプリリストを使用するよう指定するには、<code>make</code> コマンド実行時に別のオプションを指定します。例えば<a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-production.list">gaia/build/config/phone/apps-production.list</a>を使ってビルドするには、これを使います。</p> - -<pre class="brush: bash">PRODUCTION=1 make</pre> - -<p><code>DEMO=1</code> を指定してビルドする場合、<a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-demo.list">apps-demo.list</a>が使われます。<code>DOGFOOD=1</code> を指定してビルドする場合、<a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-dogfood.list">apps-dogfood.list</a>が使われます。</p> - -<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/Makefile">gaia/Makefile</a> 内の <code>GAIA_APP_CONFIG</code> を編集して、完全に指定を上書きしたり、自分自身の <code>apps-*.list</code> ファイルを提供したりできます。</p> - -<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/Android.mk#L24-L28">gaia/Android.mk</a> には下記の行が含まれます:</p> - -<pre class="brush: cpp">ifneq ($(filter user userdebug, $(TARGET_BUILD_VARIANT)),) -GAIA_MAKE_FLAGS += PRODUCTION=1 -B2G_SYSTEM_APPS := 1 -endif</pre> - -<p>ビルド時に、<code>VARIANT=user</code> <code>や VARIANT=userdebug</code> がセットされた場合 (これらは<code>TARGET_BUILD_VARIANT</code> 変数の反映まで巻き戻ります)、 <code>Gaiaビルド時に PRODUCTION=1</code> が自動的にセットされます。</p> - -<div class="note"> -<p><strong>記</strong>: 他にどんな make オプションが使えるのかは<a href="/Firefox_OS/Developing_Gaia/make_options_reference">make オプションのリファレンス</a>で見つけられます。</p> -</div> - -<h2 id="Marketのカスタマイズを使う">Marketのカスタマイズを使う</h2> - -<p>3つ目の、最も洗練された (だが最も複雑な) 方法はカスタマイズの使用です。これによってビルド時に個別のディレクトリ内でカスタマイズ指示をする事が、コアGaiaリポジトリを変更することなく可能になります。別個のディレクトリ内に独自のカスタマイズを入れたり、ソース由来の既存ディレクトリを使用したりできます。</p> - -<p>例えば、<code>GAIA_DISTRIBUTION_DIR</code> 変数により、場所の指定をカスタマイズするサンプルは、このようになります:</p> - -<pre class="brush: bash"><code class="language-html">GAIA_DISTRIBUTION_DIR=<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>DISTRIBUTION_PATH</span><span class="punctuation token">></span></span> make production</code></pre> - -<p>配布の仕組みをもっとカスタマイズする例は、<a href="https://github.com/mozilla-b2g/gaia/tree/master/customization">https://github.com/mozilla-b2g/gaia/tree/master/customization</a>を参照して下さい。</p> - -<p>カスタマイズは完全に別の話題です。これをもっと知るには、<a href="/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide">Market Customizations guide</a>を読んで下さい。</p> - -<div class="note"> -<p><strong>記</strong>: あなたのGaiaビルドの一部に特別な外部アプリを入れたい場合、それらを特定の方法でビルドして、次に <code>gaia/dev-apps/</code> フォルダ内に置く必要があります。<a href="/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide#Building_Prebundled_web_apps">Building Prebundled web apps</a>を読んで詳細を見つけて下さい。</p> -</div> - -<div class="warning"> -<p><strong>重要</strong>: 端末ベンダーが配布用の B2G/Gaia ビルドを作成する場合、Firefox Marketplaceアプリを電話・タブレット・その他に含める許可を得る前に、一定の条件を満たす必要があります。詳細は Mozilla まで連絡して下さい。</p> -</div> - -<p> </p> diff --git a/files/ja/archive/b2g_os/developing_gaia/customizing_the_keyboard/index.html b/files/ja/archive/b2g_os/developing_gaia/customizing_the_keyboard/index.html deleted file mode 100644 index d1bb0a1b8c..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/customizing_the_keyboard/index.html +++ /dev/null @@ -1,234 +0,0 @@ ---- -title: Firefox OS 内でキーボードをカスタマイズする -slug: Archive/B2G_OS/Developing_Gaia/Customizing_the_keyboard -tags: - - Firefox OS - - ガイド - - キーボード -translation_of: Archive/B2G_OS/Developing_Gaia/Customizing_the_keyboard ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p>この文書では Firefox OS v1.2 以上で、独自の言語/スクリプトを含んだカスタムキーボードレイアウトをどうやって追加するのかを説明します。</p> -</div> - -<h2 id="Gaiaビルトインのキーボードアプリと、システム構造の状況">Gaiaビルトインのキーボードアプリと、システム構造の状況</h2> - -<p>Firefox OSには、2013年10月以降、2つの主流なキーボード機能が実装されています。</p> - -<ul> - <li>キーボード/スペルチェック辞書をビルトインのデフォルトGaiaキーボードアプリに含めるかを切り替えるビルドフラグ (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=884752" title="FIXED: keyboard build-time customization">バグ 884752</a>を見よ)。</li> - <li>Firefox Marketplaceからユーザにサードパーティ製キーボードアプリをインストール可能にするOSレベルの機能。これはFirefox OS v2.0で提供を開始します。詳細は<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=816869" title="FIXED: [Meta] Enable third-party keyboards">バグ 816869</a> と <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=964670" title="FIXED: [Keyboard][User Story] Enable 3rd party keyboard framework with OOP">バグ 964670</a>を見よ。</li> -</ul> - -<p>電話機に新しいキーボードレイアウトを含めるには、Gaiaの中にカスタムレイアウトのファイルを置いてからビルドコンフィグを用いてキーボードアプリをビルドするか、自分自身のキーボードアプリを開発して電話機にインストールすることができます。それぞれの方法を見て行きましょう。</p> - -<h2 id="独自のキーボードアプリを開発する">独自のキーボードアプリを開発する</h2> - -<p>Gaiaのビルトインアプリをテンプレートに使うか、フォークできます。 基本的な考え方は:</p> - -<ul> - <li>マニフェストファイルにて、<a href="/ja/Apps/Build/Manifest#role"><code>role</code></a> プロパティ内に <code>input</code> のrole(役割)付きで宣言します。</li> - <li><a href="/ja/Apps/Build/Manifest#permissions"><code>permissions</code></a> プロパティ内で指定する<code> input パーミッションを持っているか確認します。</code></li> -</ul> - -<p>その後に、キーボードをインストールできて、ユーザが入力フィールドにフォーカスさせる度にスクリーンの下端側にキーボードが出るようになります。 これによって起きるスペースの問題は、下記のように処理できます:</p> - -<ul> - <li>古く、古典的な <code>window.resizeTo</code> を使って、アプリが占める領域を更新する。</li> - <li>新しく、輝かしい <code>navigator.mozInputMethod</code> APIを使って、所与の入力内容を変化させる; 詳しくは<a href="http://dxr.mozilla.org/mozilla-central/source/dom/webidl/InputMethod.webidl"> WebIDL of the API </a>を見て下さい。これらのメソッドの多くは同じ文字列を出力しますが、異なるイベント(<a href="/ja/docs/Web/API/KeyboardEvent">KeyboardEvent</a>、<a href="/ja/docs/Web/API/CompositionEvent">CompositionEvent</a>など)を生成します、このため<a href="https://wiki.mozilla.org/WebAPI/KeboardIME#Use_cases_for_each_of_the_methods">ユースケースに合うメソッドを使っているか</a>確認して下さい。</li> -</ul> - -<div class="note"> -<p><strong>記</strong>: <a href="https://github.com/mozilla-b2g/gaia/tree/master/dev_apps/test-keyboard-app">LOL キーボード</a> のデモは、キーボードアプリがどう構築されるのかをより良く理解する助けになり、かつあなた自身のキーボードアプリのテンプレートになるでしょう。</p> -</div> - -<h2 id="Gaiaキーボードアプリにカスタムレイアウトを含める">Gaiaキーボードアプリにカスタムレイアウトを含める</h2> - -<ol> - <li>詳細情報は <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/keyboard/CONFIGURE">keyboard CONFIGURE details</a> を見ます。辞書を追加したり、(アジア言語用の)双方向なIMEを入れたりしたい言語に依存します。</li> - <li>新規サポート言語のレイアウトを追加したい場合、それを <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/keyboard-layouts.json">build/config/keyboard-layouts.json</a> 内の、言語のデフォルトレイアウトに追加したいかもしれません。</li> -</ol> - -<h3 id="アジアのIME">アジアのIME</h3> - -<p>東アジア言語 (<a href="https://en.wikipedia.org/wiki/CJK">中国語、日本語、韓国語</a>) は幾千の文字を含んだ、遥かに複雑な活字を使っています。ハードウェア・ソフトウェアキーボード上に数千のキーを配置する方法はないので、ユーザは一連のシンボルを文字選択に変換するため、<a href="https://en.wikipedia.org/wiki/Input_method">input method editor</a>、略してIMEに頼っています。<br> - <br> - シンボル変換の方法やIMEが "スマート" であるかは、選んだIMEや、実装自体や、またしばしば、この文書の範囲外の<a href="https://en.wikipedia.org/wiki/Natural_language_processing">NLP science</a>に依存します。メモリを節約するため、データをバイナリブロブにコンパイルしてアレイバッファとして読み込むのが推奨されます; 複雑なJSON構造は実端末では動作しないでしょう。</p> - -<h4 id="Gaiaキーボードアプリ内のIMEインターフェイス">Gaiaキーボードアプリ内のIMEインターフェイス</h4> - -<p>シンボルを文字列に変換するIMEライブラリ(専門用語で''IM エンジン''という) がすぐ使える場合、レイアウトからシンボルを受け取って文字列を出力する定義済みインターフェイスが、Gaiaキーボードアプリ内に必要になるでしょう。<a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/keyboard/js/keyboard/input_method_manager.js">今のAPIはGithub上に文書化されています</a>。</p> - -<p>我々は更にGaia内でAPIを洗練させるため、実装を促しています。</p> - -<h4 id="IMエンジンをあなたのレイアウトで動作させる">IMエンジンをあなたのレイアウトで動作させる</h4> - -<p>IMエンジンがあなたのキーボードレイアウトで動作するようにするには:</p> - -<ol> - <li>IMエンジンに新規レイアウトを導入する、下記記載の通りに。</li> - <li><code>imEngine</code> プロパティでIMエンジンを参照する。レイアウトが有効な時、キーボードアプリは<code>keyboard/js/imes/<imEngine>/<imEngine>.js</code>にあるスクリプトをロードするでしょう。</li> - <li>スクリプトがロードされて初期化された時、キー/文字を送受信するためにAPIをセットアップします。</li> - <li>ユーザ入力に応答を望むあらゆることをします。ユーザがキーボードのキーをタップした時、典型的にはIMエンジンに送られます。</li> -</ol> - -<h4 id="知られている実装">知られている実装</h4> - -<ul> - <li><a href="https://github.com/timdream/jszhuyin">JSZhuyin</a> は繁体字向けの最初のGaiaキーボードのアジアIMエンジン実装でZhuyin IMEを組み入れています。</li> - <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/keyboard/js/imes/jskanji">JSKanji</a> は日本語用のプロトタイプIM エンジンです。</li> - <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/keyboard/js/imes/jspinyin">JSPinyin</a> は簡体字向けに書かれていてピンイン記号で動作します。</li> - <li>デモとして<a href="http://chewing.csie.net/">Chewing</a> (C/C++ の繁体字用オープンソースZhuyin IME) は<a href="/en-US/docs/Mozilla/Projects/Emscripten">Emscripten</a>でクロスコンパイルされてGaiaキーボードにリンクされています。</li> - <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=835261">JSHangul</a> は韓国語用のプロトタイプIM エンジンで、現在開発中です。</li> -</ul> - -<h3 id="ローカライズ担当者の視点からの新規ロケール">ローカライズ担当者の視点からの新規ロケール</h3> - -<div class="note"> -<p><strong>記</strong>: この節は主にアルファベットの言葉について当てはまります; (アムハラ語のような)アブギダ や、(中国語のような)象形文字システムはもっと複雑です。</p> -</div> - -<p>一般的に、新規ロケール追加には2つの事が必要です: <strong>キーボードレイアウト </strong>と <strong>辞書</strong>(テキスト予想機能用に)です。</p> - -<h4 id="キーボードレイアウトを作成する">キーボードレイアウトを作成する</h4> - -<p>キーボードレイアウトファイルはJavaScriptファイルに含まれていて、どのキーがキーボードにあるかと、どのキーがどの文字とシンボルになるかを、長押しで使える2つ目のオプションを含めて定義します。最も率直な方法は、既存のキーボード <a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/keyboard/js/layouts">GitHub</a> から取って、名前を変更して調整する事です。</p> - -<p>最初にヘッダを変更する必要があります。キーボードが en-US に近く、ロケールをスコットランド ゲール語 (gd)としてみましょう。こうなっているのを:</p> - -<pre>Keyboards.en = { - label: 'English', - shortLabel: 'En', - imEngine: 'latin', - types: ['text', 'url', 'email', 'number', 'password'], - autoCorrectLanguage: 'en_us', - menuLabel: 'English',</pre> - -<p>こう変更します:</p> - -<pre>Keyboards.gd = { - label: 'Scottish Gaelic', - shortLabel: 'gd', - imEngine: 'latin', - types: ['text', 'url', 'email', 'number', 'password'], - autoCorrectLanguage: 'gd_gb', - menuLabel: 'Gàidhlig',</pre> - -<p><code>label 欄は</code>英語でのあなたの言語で、<code>shortLabel</code> 欄は最大3文字です; これは画面上のキーボードに表示される省略形で、ユーザが現在使っている言語がわかるようになっています。ISOコードも使えますが、その他の適切なものも使えます。<code>menuLabel</code> 欄はあなたの言語での言語名です: これはユーザがメニューオプションで見るものです。</p> - -<p>レイアウトが終わった場合、唯一調整が必要となる事は、(UIでは長押しでアクセスできる) 代替文字です:</p> - -<pre>alt: { - a: 'áàâäåãāæ', - c: 'çćč', - e: 'éèêëēę€ɛ', - i: 'ïíìîīį', - o: 'öõóòôōœøɵ', - u: 'üúùûū', - s: 'ßśš$', - S: 'ŚŠ$', - n: 'ñń', - l: 'ł£', - y: 'ÿ¥', - z: 'žźż', - '.': ',?!;:' -},</pre> - -<p>長押し時の文字の順番と文字数の両方を変更できます。この場合、ゲール語のユーザは "鋭アクセント" よりも "重アクセント" をよく使うため、順番をこう変更します:</p> - -<pre>a: 'àáâäåãāæ',</pre> - -<p>ドットつき子音のオプションを与えたいため、このような新規行を追加します:</p> - -<pre><span class="nx">b</span><span class="o">:</span> <span class="s1">'ḃ'</span><span class="p">,</span></pre> - -<p>たぶん代わりのレイアウト(数字や句読点など用) や、通貨シンボルが正しく表示されているかを確認したくなるでしょう。</p> - -<h4 id="辞書を作成する">辞書を作成する</h4> - -<p>変換辞書もあると良いでしょう、ない場合はユーザは各単語毎にタイプしなければならず、単語予想を使えなくなります。</p> - -<p>この用途で (理想的には) なんらかの形の、頻度で単語をランクづけるコーパスが必要になるでしょう。例えば <em>there</em> という単語は <em>thespian より遥かによく出る</em>ので、ユーザが the とタイプした時に、 <em>there</em> は <em>thespian</em> より前にサジェストされるべきです。</p> - -<p>これは辞書 (XML ファイル; 既存のものは<a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/keyboard/js/imes/latin/dictionaries">ここ</a>で見られます)の中で、1 (最小頻度) から 255 (最大頻度) を各単語 (または 行) に割当てることで完了します。次が作成を要するものです:</p> - -<pre><wordlist locale="gd" description="Gàidhlig" date="1401554807" version="1"> - <w f="255" flags="">a</w> - <w f="254" flags="">an</w> - <w f="247" flags="">agus</w></pre> - -<p>素早く汚い辞書 (例えば大きなテキストを取ってきて頻度を数えたもの) でも役立つでしょう。あなたのロケールでそんなデータが全くなく、デジタルテキストが多くない場合には、言語の知識を使って、共通経験を元に手動で単語のランクづけをします。</p> - -<h4 id="ファイルをビルドする">ファイルをビルドする</h4> - -<p>いったん js と 辞書ファイルができたら、<a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/keyboard/js/imes/latin/dictionaries">ここのgaiaディレクトリ</a> に移動して<em>Makefile<em> </em></em>を開きます。辞書の名前をリスト (例えば <em>gd_wordlist.xml</em> と言う場合) に追加して、置きます:</p> - -<pre>ga.dict \ -gd.dict \</pre> - -<p><code>gd_worldlist.xml</code> ファイルがフォルダに入っているのを確認して、次を実行します <code>$ make gd.dict</code></p> - -<p>ここまで来たけども、<em>.dict</em> ファイルをビルドする最終ステップで詰まった場合、<a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20OS">バグ登録して</a> (<strong>Componentは: Gaia Keyboard</strong>) ファイルを添付して何が問題なのかを説明して下さい。誰かが助ける事ができるでしょう<strong>。パッチをプルリクエストとして投稿するのを確認して <em>for review to someone(だれかのレビュー用)のフラグを立てます</em>、そうしないとバグは気づかれないでしょう。</strong></p> - -<h4 id="あなたの新ロケールをテストする">あなたの新ロケールをテストする</h4> - -<p>新規ロケールのビルドとコミットを終えたら、新キーボードと事象をテストする最速の手順は、キーボードアプリを走らせる我々の<a href="https://github.com/timdream/gaia-keyboard-demo">webベースのデモページ </a>です。En をクリックしてロケールを循環させて下さい。あなたのぶんが見えない場合、(右上の)スパナのシンボルをクリックして、テストしたいキーボードを tick/untick します。</p> - -<h2 id="議論と質疑">議論と質疑</h2> - -<p><a href="https://lists.mozilla.org/listinfo/dev-gaia">dev-gaia</a> メーリングリストに来るか、 irc.mozilla.org の #gaia チャンネルに来て下さい(詳しくは <a href="https://wiki.mozilla.org/IRC">Mozilla IRC</a> へ)。#mozilla-taiwan はこのトピック向けの、中国語のデファクトのチャンネルです。</p> diff --git a/files/ja/archive/b2g_os/developing_gaia/different_ways_to_run_gaia/index.html b/files/ja/archive/b2g_os/developing_gaia/different_ways_to_run_gaia/index.html deleted file mode 100644 index 2eb6addb95..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/different_ways_to_run_gaia/index.html +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: Gaiaを実行する色々な方法 -slug: Archive/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia -tags: - - B2G - - Firefox - - Firefox OS -translation_of: Archive/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia ---- -<div class="summary"> -<p><span class="seoSummary">Gaiaを実行するのは、WebIDE経由のsimulatorや、デスクトップ版Firefox内で直接や、専用のデスクトップビルド(デスクトップ B2G)や、エミュレータや、互換のモバイル端末で可能です。この記事ではそれぞれの方法の要約と、詳細情報へのリンクを提供します。</span></p> -</div> - -<h2 id="実物にどれだけ近いか">実物にどれだけ近いか?</h2> - -<p dir="ltr" id="docs-internal-guid-46d8bd5f-ac65-2c23-a6c9-cc3bc3dc3cd5">この記事で詳しく述べるGaia実行用の方法は、他のものより実端末の経験に近いです。実行が簡単な順だと、次の通りです:</p> - -<ol dir="ltr"> - <li>Simulator内でのGaia</li> - <li>B2Gデスクトップ内でのGaia</li> - <li>Firefox Mulet内でのGaia</li> - <li>エミュレータ内でのGaia</li> - <li>電話機に焼いたGaia</li> - <li>電話機に焼いたGaia+Gecko</li> -</ol> - -<p>“出荷製品に近いか” の順番はこの正反対です。取り組む機能によっては、問題に合った環境を見つけないといけないでしょう。</p> - -<h2 id="Firefox_OS_SimulatorによってWebIDE内のGaiaを使用する">Firefox OS SimulatorによってWebIDE内のGaiaを使用する</h2> - -<p>最速の方法は<a href="/ja/docs/Tools/WebIDE">WebIDE</a>(デスクトップ版Firefoxで利用できる開発ツール)経由でGaiaを試す事です。これはHTML5のwebアプリをFirefox OS端末・Firefox OS Simulatorでテスト、デプロイ、デバッグするための数々の便利なツールを、ブラウザから直接に提供します。<br> - <br> - デスクトップ版 Firefox ブラウザ 34+で、WebIDE を <em>ツール > Web 開発 > WebIDE </em>から開きます。右上の実行メニューを開いて Simulator をインストール、起動します。</p> - -<p>自分の Gaia ビルドを実行するには、手順が少し複雑ですが、まだとても簡単です:</p> - -<ol> - <li>これを実行してみる前に、自身で Gaia デバイスデバッグプロファイルをビルドすべきです — 自分のGaia リポジトリクローンに移動し、 <code>DEVICE_DEBUG=1 make を実行します。これは</code>内部の Gaia アプリをすぐにデバッグできることと、加えてsimulatorを起動するごとにリモートデバッグの確認ダイアログを承認しなくてよいことを意味します。</li> - <li>Firefox を開きます(<a href="https://nightly.mozilla.org/">Nightly</a> 推奨)</li> - <li>WebIDE を <em>ツール > Web 開発 > WebIDE</em> から開きます。</li> - <li>WebIDEで<em> ランタイム > シミュレータをインストール</em> を選びオプションを選択してFirefox OS Simulator をインストールします。Gaia バージョンと同じシミュレータバージョンを使っているのを確認します (例えば、あなたのGaia ブランチが 2.1 の場合、Firefox OS Simulator 2.1を使う必要があります)。</li> - <li>デスクトップ版Firefox に戻り <em>ツール > アドオン</em> を選択します。Firefox OS Simulator 2.2 の<em>設定</em> ボタン(または自身の Gaia を組み込もうとするあらゆるバージョン)をクリックします。</li> - <li>設定で <em>Select a custom Gaia directory</em>をクリックし、次にGaia デバイスデバッグプロファイルのディレクトリを選択します。</li> - <li>WebIDE内でSimulatorを起動すると、今度はあなたの Gaia プロファイルを実行しているはずです。</li> -</ol> - -<div class="note"> -<p><strong>記</strong>: シミュレータをリセットしたい場合、カスタムGaiaプロファイルはもう動作していません。Firefoxの <a href="/about:config">about:config</a>へ移動する必要があり、<code>extensions.fxos_2_2_simulator@mozilla.org.gaiaProfile</code> 設定を探し (2_2 はカスタマイズするシミュレータのバージョンによって違うかもしれません)、ダブルクリックして、出てきたダイアログボックスで空の値を入れ、OKを押します。</p> -</div> - -<div class="note"> -<p><strong>記</strong>: Gaia の master ブランチは速く変わるため、時々最新発行のシミュレータがいくらか遅れをとります。master ブランチを実行しようとしていてそれが動作しないのに気づいた場合、 (この時 WebIDE は通常 "Operation timed out" のエラーメッセージを出します)、最新のnightly シミュレータ ブランチをダウンロードして、それで代用してみるべきです — <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">Nightly Mozilla Central</a> を見て、自身のシステムにあった <em>fxos-simulator-*.xpi</em> ファイルをダウンロードします。記憶すべきは、この nightly ビルドは機能リリースするために自動更新はしません。更新を所得したい場合、公式ビルドに戻る必要があるでしょう。</p> -</div> - -<h2 id="B2G_デスクトップ">B2G デスクトップ</h2> - -<p>B2G デスクトップは、Firefox OS 端末で使われるアプリのランタイムのデスクトップ版で、Gaia をデスクトップコンピュータで実行できます。これはもうすぐFirefox Mulet (下記を見て)に置き換えられます(いったんMulet が十分安定した時に)。</p> - -<p><a href="http://nightly.mozilla.org/#Desktop%20Boot2Gecko">B2G デスクトップのnightly ビルド</a>を<a href="http://nightly.mozilla.org/">Firefox Nightly サイト</a>からダウンロードできます。 どのバージョンをターゲットにするかによって、latest-mozilla-b2g18 の特定バージョンが望まれるかもしれません。Linux (32 bit と 64 bit)や OS X や Windows用のビルドがあります。</p> - -<p>Nightlyビルドはgaiaの最近のバージョンでパッケージされています。いったんアーカイブをダウンロードしたら、必要なのはフォルダに展開して b2g バイナリを展開済みフォルダから実行するだけです。</p> - -<pre class="brush: bash">$ cd b2g -$ ./b2g</pre> - -<p>あなた自身の開発用バージョンの Gaia と共にB2G を実行するには、まずあなたのクローンからのビルドプロファイルが必要です:</p> - -<pre class="brush: bash">$ cd /path/to/gaia -$ DEBUG=1 DESKTOP=0 make</pre> - -<p>これは <code>gaia</code> ディレクトリ内に <code>profile</code> というディレクトリを生成します。<code>DEBUG</code>パートは Gaia を、デフォルトのパッケージアプリ(変更のたびに再度パッケージ化が要る)ではなく、ビルトインのwebサーバ上のホスト型アプリとして実行します。profileディレクトリへのパスは、上記コマンド実行後の最終行を見ることで見つけられて、それは次のようなものです:</p> - -<pre class="brush: bash">Profile Ready: please run [b2g|firefox] -profile /path/to/gaia/profile</pre> - -<p>B2G デスクトップを生成されたプロファイルで、このように実行できます:</p> - -<pre class="brush: bash">$ ./b2g /path/to/gaia/profile</pre> - -<p>望むなら、あなた自身の B2G デスクトップをソースからビルドできます。</p> - -<div class="note"> -<p><strong>記:</strong> OS Xでは、 <code>b2g</code> バイナリは B2G.app の内部にあるでしょう。このプラットフォームで B2G デスクトップを実行するには、下記のコマンドが必要となるでしょう:<br> - <code>./B2G.app/Contents/MacOS/b2g /path/to/gaia/profile</code></p> -</div> - -<h2 id="Firefox_Mulet内のGaiaを使用する">Firefox Mulet内のGaiaを使用する</h2> - -<p>Firefox Muletと呼ぶFirefoxの特殊ビルド内でGaiaを実行することもできます。これには素早い開発サイクルと、標準web開発ツールやデバッガが利用できるメリットがあります。</p> - -<div class="note"> -<p><strong>記</strong>: Firefox Mulet は現在開発の初期段階で、たぶんバグを見つけるでしょう。それらに出くわしたら報告して下さい。</p> -</div> - -<ol> - <li>まず最初に、 <a href="https://github.com/mozilla-b2g/gaia">Gaia</a> リポジトリを自身のマシンにクローンします (このプロジェクトに貢献したい場合、一番よい方法は<a href="https://developer.mozilla.org/ja/Firefox_OS/Developing_Gaia/Running_the_Gaia_codebase#Running_your_own_Gaia_build">Running your own Gaia build</a> を見て下さい。) Mulet は Gaia 2.2 以上だけで動作するので、master ブランチを使うのが妙案でしょう。</li> - <li>次に、Gaiaリポジトリに <code>cd</code> して、<code>make</code> を使って自身のプロファイルをビルドします (色々な変数の種類については <a href="/ja/Firefox_OS/Developing_Gaia/make_options_reference">make オプションのリファレンス</a>を見て下さい。) 将来的には、Mulet は複数のビルドタイプをサポートし、もっと簡単にアプリをデバッグできるツールが追加されるでしょう。 (例えば、更新をテストする場合に個々のアプリを再起動すること)</li> - <li>いまやnightly Firefox Mulet ビルドのダウンロードが必要です — <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">Mozilla Central</a> で見つかります。 Mulet ビルドは <code>firefox-*</code> で始まる名前のパッケージ、例えば <code>firefox-36.0a1.en-US.mac64.dmg</code> — となり、あなたの開発マシンに適切なビルドを選択して下さい。</li> - <li>いったんダウンロードすると、Mulet ビルドを Firefox Nightly ビルドを上書きしない安全な場所にインストールします。例えばMac OS Xでは、"mulet"というアプリケーションの中にフォルダを作り、そこにドラッグします。</li> - <li>いまや Mulet ビルドを、 開いた時に使うプロファイルとしてGaia プロファイルを渡して ( <code>-profile</code> オプションで指定) コマンドラインから実行します。例えば Mac OS Xではアプリケーションフォルダ内からこのように実行できます: - <pre class="brush: bash">./mulet/FirefoxNightly.app/Contents/MacOS/firefox-bin -profile /Users/my-home-folder/git/gaia/profile/</pre> - </li> -</ol> - -<p>結果 Mulet ビルドが、次のように起動します:</p> - -<p><img alt="" src="https://mdn.mozillademos.org/files/9467/mulet-screenshot.png" style="width: 800px; height: 491px; display: block; margin: 0px auto;"><br> - この画面で、Gaiaアプリをデバッグするために使える標準 Firefox <a href="https://developer.mozilla.org/ja/docs/Tools/Tools_Toolbox">Toolbox</a>や、更に左側に実行している Firefox OS のエミュレーションや、その他数々のGaiaコンテキストに有益なツールを入手しました。エミュレータの上のコントロールは次のことができます:</p> - -<ul> - <li>エミュレータの色々な画面サイズが選べます (これは基本的に<a href="/ja/docs/Tools/Responsive_Design_View">レスポンシブデザインビュー</a>です)。</li> - <li>エミュレータ画面の回転</li> - <li>タッチイベントシミュレーションのオン・オフ (オフの時、マウスでUIとopenアプリのドラッグはできません。)</li> - <li>スクリーンショットを撮る</li> -</ul> - -<div class="note"> -<p><strong>記</strong>: 現在ホームボタンは動作しておらず、時には画面が不調になります。ブラウザのタブをリフレッシュする事で、この問題を回避できます。</p> -</div> - -<h2 id="実端末にGaiaを書き込む">実端末にGaiaを書き込む</h2> - -<div class="warning"> -<p><strong>重要</strong>: Gaia をTarako や Spice Fire Oneといった低メモリ端末に書き込んでみる場合、特別に低メモリに最適化されたGaiaブランチ、例えば <a href="https://github.com/mozilla-b2g/gaia/tree/v1.3t">1.3t branch</a>を焼くべきです。低メモリ端末にGaiaのmasterブランチを焼いてみるのは、たぶん電話機が反応しない結果になるでしょう。</p> -</div> - -<p dir="ltr" id="docs-internal-guid-46d8bd5f-ac6a-0884-5265-76e0fe740fa6">実端末に Gaia の新バージョンを書き込むには:</p> - -<ol dir="ltr"> - <li>まずGaiaリポジトリがあなたのコンピュータにクローンされていて、 <a href="/ja/Firefox_OS/Debugging/Installing_ADB">ADB</a> がインストールされているのを確認します。</li> - <li><a href="/ja/Firefox_OS/Debugging/Developer_settings#Debugging_via_USB">USB経由のデバッグ</a> が有効になっているのを確認します。</li> - <li>端末をUSB経由でコンピュータに接続します。</li> - <li>端末が接続すると、下記のコマンドを処理できます。あるいは (Windows や Linux ディストリビューションのユーザは) OEM USB ドライバのページを確認して、コンピュータに正しいUSBドライバをセットアップしないといけない可能性もあります。</li> - <li>Gaia リポジトリで次のコマンドを実行して、電話機を再起動して Gaia ソースコードを更新します: - <pre class="brush: bash">$ make reset-gaia</pre> - </li> - <li>非システムアプリをテストするには、端末わ再起動することなく、次のコマンドでインストールできます: - <pre class="brush: bash" dir="ltr">$ make install-gaia</pre> - </li> - <li>特定アプリだけをインストールする場合、APP 変数で次のように引き渡せます: - <pre class="brush: bash">$ make install-gaia APP=browser</pre> - </li> -</ol> - -<div class="note"> -<p dir="ltr"><strong>記</strong>: <code>make install-gaia</code> / <code>make reset-gaia</code> を使って端末にGaiaをプッシュすると、デフォルトで 1倍の解像度アセットのGaiaをビルドします。もっと高い解像度アセットを指定するには、makeオプションの <code>GAIA_DEV_PIXELS_PER_PX</code> or <code>GAIA_DPPX</code> を使う必要があります (このオプションについてのより詳細は<a href="/ja/Firefox_OS/Developing_Gaia/make_options_reference#High_resolution_image_assets"> 高解像度イメージアセット</a> を見て下さい)。この方法で端末に Gaia をプッシュした時は、関連の make オプションに端末のスケールファクタを付けて指定します、例えば Flame端末向けには <code>make install-gaia GAIA_DEV_PIXELS_PER_PX=1.5</code> とする (または 2, や 2.5, など; スケールファクタの値は <a href="/ja/Apps/Build/Icon_implementation_for_apps#512_icon_for_device_display">512 icon for device display</a>内の表を見て下さい。)</p> -</div> - -<p dir="ltr">端末が正しくUSB接続されているか確認するには、こう打ちます:</p> - -<pre class="brush: bash" dir="ltr">$ adb devices</pre> - -<p dir="ltr">こんな結果を得るでしょう:</p> - -<pre class="brush: bash" dir="ltr">List of devices attached -emulator-5554 device</pre> - -<h2 id="エミュレータや実機でGeckoとGaiaをビルドして使用する">エミュレータや実機でGeckoとGaiaをビルドして使用する</h2> - -<p>互換モバイル端末を持っていれば、<a href="/ja/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">あなた独自バージョンの Firefox OSをビルド・インストール</a>できて、エミュレータ上や端末にプッシュして、これを実行できます。</p> diff --git a/files/ja/archive/b2g_os/developing_gaia/gaia_tools_reference/index.html b/files/ja/archive/b2g_os/developing_gaia/gaia_tools_reference/index.html deleted file mode 100644 index 678038e952..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/gaia_tools_reference/index.html +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: Gaia ツールのリファレンス -slug: Archive/B2G_OS/Developing_Gaia/Gaia_tools_reference -tags: - - Firefox OS - - Gaia - - Reference - - Référence(2) - - Tools -translation_of: Archive/B2G_OS/Developing_Gaia/Gaia_tools_reference ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p><span class="short_text" id="result_box" lang="ja"><span>この記事では、</span><span>Gaia </span><span>での作業</span><span>のための</span><span>利用可能な</span><span>便利なツール</span><span>を紹介します。</span></span></p> -</div> - -<div class="note"> -<p><strong>Note</strong>: You can find a number of very useful tips and tricks on debugging Firefox OS at the <a href="https://wiki.mozilla.org/B2G/QA/Tips_And_Tricks">B2G QA Tips and tricks page</a>.</p> -</div> - -<h2 id="MozITP">MozITP</h2> - -<p><a href="https://developer.mozilla.org/docs/Mozilla/Firefox_OS/Automated_testing/MozITP">MozITP</a> is an all-in-one package bundle for Gaia related tools. It contains pre-configured flash tool (b2g_util), b2g-installer and Gaia Integration Test environment. You can use MozITP to test Gaia Integration Test on Mulet, emulator or real devices. You can also flash builds from TaskCluster or b2g-installer blob-free builds.</p> - -<h2 id="Foxbox">Foxbox</h2> - -<p><a href="https://github.com/gasolin/foxbox">Foxbox</a> is a build automation script that builds a full Gaia development environment with the Gaia build hosted inside a VM, which is also accessible from the host machine (meaning you can still workon it using your favourite text editor, etc.) This works on all platforms, but should be especially useful to Windows users as the regular Gaia build procedure doesn't work on a standard Windows environment.</p> - -<h2 id="Backuprestoreflashing_tools">Backup/restore/flashing tools</h2> - -<p>Tools to backup your profile, etc.</p> - -<h3 id="b2g_util">b2g_util</h3> - -<p>The <a href="https://pypi.python.org/pypi/b2g_util">b2g_util tools package</a> provides a variety of tools to help you with debugging Firefox OS. It can:</p> - -<ul> - <li>Check the installed b2g version</li> - <li>Get the crash report link</li> - <li>Reset the device</li> - <li>Enable/disable the cert apps for WebIDE</li> - <li>Backup/restore your profile (currently not complete, but a workaround is provided for now.)</li> -</ul> - -<p>To install it, you first need Python 2.7, <a href="https://pypi.python.org/pypi/pip/">pip</a>, and <a href="https://pypi.python.org/pypi/setuptools">setuptools</a>. then you can run:</p> - -<pre class="brush: bash line-numbers language-bash"><code class="language-bash">sudo pip install -U b2g_util</code></pre> - -<p>Once installation is complete, you can connect your device and test it by issuing the following command to get the installed b2g version:</p> - -<pre class="brush: bash line-numbers language-bash"><code class="language-bash">b2g_check_versions</code></pre> - -<h3 id="pc-sync-tool">pc-sync-tool</h3> - -<p><a href="https://marketplace.firefox.com/app/pcsync">The pc-sync-tool</a> is an app available in the Firefox Marketplace that backs up your data/profile. It must be used in conjunction with the <a href="http://download.firefox.com.cn/ffosassistant.xpi">Firefox OS assistant add-on</a> for desktop.</p> - -<h3 id="Backup_and_restore_profile">Backup and restore profile</h3> - -<p>To backup and restore data you can use our <code>backup_restore_profile.py</code> tool, which is contained in the <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool">B2G-flash-tool Git repo</a>.</p> - -<ol> - <li>Clone the above repo (<code>git clone https://github.com/Mozilla-TWQA/B2G-flash-tool</code>.)</li> - <li><strong>M</strong>ake sure that your phone is connected via USB to your computer, and that ADB (see <a href="#Important_steps_to_follow_first">Important steps to follow first</a> above) and Debugging via USB (in your device's <a href="https://developer.mozilla.org/Firefox_OS/Debugging/Developer_settings">Developer settings</a>) are enabled.</li> - <li>cd into the cloned directory</li> -</ol> - -<p>To backup data:</p> - -<pre class="brush: bash line-numbers language-bash"><code class="language-bash">python backup_restore_profile.py -b</code></pre> - -<p>This should save your device profile to a directory called <code>mozilla-profile</code>, in the same directory as the script is located. To restore your backup:</p> - -<pre class="brush: bash line-numbers language-bash"><code class="language-bash">python backup_restore_profile.py -r</code></pre> - -<div class="note"> -<p><strong>Note</strong>: To display a full list of options for the tool, run it with a <code>-h</code> or <code>--help</code> flag.</p> -</div> - -<h3 id="B2G-flash-tool">B2G-flash-tool</h3> - -<p>The <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool">B2G-flash-tool</a> repo also contains many other tools for rapid flashing of new builds to devices and related tasks — ideal for QA work. For example:</p> - -<ul> - <li><a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/flash_pvt.py">flash_pvt.py</a> — The main tool for flashing new builds.</li> - <li><a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/change_channel.sh">change_channel.sh</a> — Allows you to quickly change a phone's update channel.</li> - <li><a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/check_versions.py">check_versions.py</a> — Returns the version og B2G installed on a device.</li> - <li><a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/shallow_flash.sh">shallow_flash.sh</a> — Shallow flashes Gaia and/or Gecko onto a device (<a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/shallow_flash.bat">shallow_flash.bat</a> available for Windows, too).</li> - <li><a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/update_system_fonts.sh">update_system_fonts.sh</a> — Updates the system fonts on B2G v2.1 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1032874" title="FIXED: [Flame][2.1] latest nightly update changed fonts to something which looks like Courier New">バグ 1032874</a>).</li> -</ul> - -<h2 id="Debugging_tools">Debugging tools</h2> - -<p>Tools that perform debugging functions.</p> - -<h3 id="WebIDE">WebIDE</h3> - -<p>Firefox's <a href="https://developer.mozilla.org/docs/Tools/WebIDE">WebIDE</a> tool deserves a special mention here — as well as just testing and debugging apps, it is also useful for monitoring performance, memory usage, etc. (see <a href="https://developer.mozilla.org/docs/Tools/WebIDE#Monitoring_performance">Monitoring performance</a>.)</p> - -<h3 id="get_crashreports.sh">get_crashreports.sh</h3> - -<p>Contained with the the <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool">B2G-flash-tool</a> repo, <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/get_crashreports.sh">get_crashreports.sh</a> retrieves device crash reports (<code>/data/b2g/mozilla/Crash Reports/</code>.)</p> - -<h3 id="B2G_root_directory_tools">B2G root directory tools</h3> - -<p>There are a number of scripts in the <a href="https://github.com/mozilla-b2g/B2G">B2G root directory</a> that perform various useful debugging functions, such as:</p> - -<ul> - <li><a href="https://github.com/mozilla-b2g/B2G/blob/master/run-gdb.sh">run-gdb.sh</a>: Runs the gdb command line debugger (see <a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Debugging_B2G_using_gdb">Debugging B2G using gdb and related tools</a> for more details.)</li> - <li><a href="https://github.com/mozilla-b2g/B2G/blob/master/run-valgrind.sh">run-valgrind.sh</a>: Runs the Valgrind debugger (see <a href="https://developer.mozilla.org/Firefox_OS/Debugging/Debugging_B2G_using_valgrind">Debugging B2G using Valgrind</a> for more information.)</li> - <li><a href="https://github.com/mozilla-b2g/B2G/blob/master/watch-procrank.sh">watch-procrank.sh</a>: Returns memory consumption information via the procrank tool.</li> -</ul> - -<h2 id="Other_misc_tools">Other misc tools</h2> - -<p>There are a number of helpful tools located in the <a href="https://github.com/mozilla-b2g/gaia/tree/master/tools">gaia/tools/</a> directory, and other places</p> - -<h3 id="png_recompress.sh">png_recompress.sh</h3> - -<p>Located at <a href="https://github.com/mozilla-b2g/gaia/tree/master/tools">gaia/tools/</a>, <a href="https://github.com/mozilla-b2g/gaia/blob/master/tools/png_recompress.sh">png_recompress.sh</a> is a PNG image compressor. You can run it with the following command structure:</p> - -<pre class="brush: bash line-numbers language-bash"><code class="language-bash">$ ./tools/png_recompress.sh -v bg.png</code></pre> - -<p>This will remove unnecessary metadata and further compress the png; it can save up to 99.5% of the file size, which has a very measurable impact on an app's ZIP size and memory footprint.</p> - -<h3 id="svg_recompress.sh">svg_recompress.sh</h3> - -<p>Located at <a href="https://github.com/mozilla-b2g/gaia/tree/master/tools">gaia/tools/</a>, <a href="https://github.com/mozilla-b2g/gaia/blob/master/tools/svg_recompress.sh">svg_recompress.sh</a> is an SVG compressor.</p> - -<h3 id="cache_sync.py">cache_sync.py</h3> - -<p>Located at <a href="https://github.com/mozilla-b2g/gaia/tree/master/tools">gaia/tools/</a>, <a href="https://github.com/mozilla-b2g/gaia/blob/master/tools/cache_sync.py">cache_sync.py</a> synchronizes the offline cache of an external app into a local directory structure. This should be run from the base directory of an app in gaia/external-apps. It builds a directory for each known origin in the offline cache.</p> - -<h3 id="edit_prefs.sh">edit_prefs.sh</h3> - -<p>Located in the <a href="https://github.com/mozilla-b2g/B2G">B2G root directory</a>, <a href="https://github.com/mozilla-b2g/B2G/blob/master/edit-prefs.sh">edit_prefs.sh</a> provides an easy way to retrieve device prefs.</p> diff --git a/files/ja/archive/b2g_os/developing_gaia/index.html b/files/ja/archive/b2g_os/developing_gaia/index.html deleted file mode 100644 index 58186bcdcb..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Gaia の開発 -slug: Archive/B2G_OS/Developing_Gaia -tags: - - Firefox - - Gaia - - Mozilla - - OS - - UI -translation_of: Archive/B2G_OS/Developing_Gaia ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p><span class="seoSummary">Gaia は B2G OS のユーザインタフェイスで、デフォルトアプリスイートです: 画面ロック、ホーム画面、電話、その他のアプリが含まれています。Gaia は本来 B2G OS プラットフォームの上位層で起動する Web アプリの集合です。Gaia プロジェクトに貢献するために知っておく必要がある記事を紹介します。</span></p> -</div> - -<p>このガイドでは、<em>Gaia</em> に貢献するための効果的なワークフローを一通り紹介します - そして、これにより、<em>Gaia</em> コードベースに機能を追加し、<em>Gaia</em> プロジェクトについて登録されたバグに取り組むことを意味します。最初の記事群は、順番に読んでください。また、特定のプロセスの見方についてリフレッシュする必要がある場合は、関連したセクションまで読み飛ばすこともできます。</p> - -<p>その後には、追加のトピックスについてのリファレンスや情報が提供されています。</p> - -<p><img alt="" src="https://mdn.mozillademos.org/files/7951/gaia-2.0-screen.png" style="float: right; height: 533px; padding: 0px 0px 30px 30px; width: 320px;"></p> - -<h2 id="基礎">基礎</h2> - -<ol> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Running_the_Gaia_codebase">Gaia コードベースを実行する</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Gaia コードベースを理解する</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Making_Gaia_code_changes">Gaia のコードに変更を加える</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Test_Gaia_code_changes">Gaia のコードの変更をテストする</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Submitting_a_Gaia_patch">Gaia のパッチを提出する</a></li> -</ol> - -<h2 id="Gaia_ビルドリファレンス">Gaia ビルドリファレンス</h2> - -<ul> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Build_System_Primer">Gaia ビルドシステム入門</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Customizing_build-time_apps">ビルド時のアプリをカスタマイズする</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/make_options_reference">make オプションのリファレンス</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Gaia_tools_reference">Gaia ツールのリファレンス</a></li> -</ul> - -<h2 id="補足情報">補足情報</h2> - -<ul> - <li><a href="https://developer.mozilla.org/ja/Firefox_OS/Platform/Testing/Raptor">Raptor: Gaia 用パフォーマンスツール</a></li> - <li><a href="https://developer.mozilla.org/docs/Mozilla/Firefox_OS/Developing_Gaia/Localizing_Firefox_OS">B2G OS をローカライズする</a></li> - <li><a href="/ja/Firefox_OS/Firefox_OS_build_prerequisites">B2G OS ビルドの必要条件</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia">Gaia を実行する他の方法</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Market_customizations_guide">マーケットカスタマイズガイド</a></li> - <li><a href="/ja/Firefox_OS/Developing_Gaia/Customizing_the_keyboard">B2G OS アプリ内でキーボードをカスタマイズする</a></li> -</ul> - -<p> </p> - -<p></p><div class="overheadIndicator communitybox"> - - <div class="column-container"> - <h2 id="Gaiaコミュニティに参加してください">Gaiaコミュニティに参加してください</h2> - <div class="column-half"> - <div class="communitysubhead">あなたの好きな方法でディスカッションに参加してください</div> - <ul class="communitymailinglist"> - <li><a href="https://lists.mozilla.org/listinfo/dev-gaia"> メーリングリストとして</a></li> - - - <li><a href="http://groups.google.com/group/mozilla.dev.gaia"> ニュースグループとして</a></li> - <li><a href="http://groups.google.com/group/mozilla.dev.gaia/feeds"> フィードとして</a></li> -</ul> - </div> - <div class="column-half"> - <ul class="communitycontact"><li><strong>IRC: </strong><a href="irc://irc.mozilla.org/gaia">#gaia</a> <span class="smaller">(<a href="https://wiki.mozilla.org/IRC">さらに詳しく</a>)</span></li><li><strong>他の IRC チャンネル: </strong><a href="irc://irc.mozilla.org/b2g" title="Discuss B2G, the overall Firefox OS platform">#b2g</a>, <a href="irc://irc.mozilla.org/openwebapps" title="Talk with Web app developers">#openwebapps</a>, <a href="irc://irc.mozilla.org/webapi" title="Discuss Web APIs used to create powerful Web apps">#webapi</a></li></ul> - </div> - </div> -</div><p></p> - -<div id="divLookup" style="background-color: transparent; color: #000000; position: absolute; top: 942px; left: 135px; padding: 0px; border-radius: 2px;"><img></div> diff --git a/files/ja/archive/b2g_os/developing_gaia/make_options_reference/index.html b/files/ja/archive/b2g_os/developing_gaia/make_options_reference/index.html deleted file mode 100644 index 187410191d..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/make_options_reference/index.html +++ /dev/null @@ -1,383 +0,0 @@ ---- -title: make オプションのリファレンス -slug: Archive/B2G_OS/Developing_Gaia/make_options_reference -tags: - - Apps - - Firefox OS - - Gaia - - Make - - Options - - Reference -translation_of: Archive/B2G_OS/Developing_Gaia/make_options_reference ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p><span class="seoSummary"><code>make</code> コマンドは、Gaia リポジトリ内で Gaia プロファイルを作成するのに使われます。このプロファイルは、端末に読み込んだり <a href="/ja/Firefox_OS/Using_the_B2G_desktop_client">B2G デスクトップ</a> ビルド内で実行されます。この記事では、利用できる様々な make オプションを詳しく見ていきます。</span></p> -</div> - -<div class="note"> -<p><strong>注記</strong>: Makefile には多くの環境変数があります。将来削除される可能性があるので、これらに依存しないでください。</p> -</div> - -<p>作成したプロファイルは、一般的に gaia ディレクトリのルート、例えば <code>/gaia/profile</code> に作成され、次の項目を含みます:</p> - -<ul> - <li><code>defaults/</code>: 電話機の再起動後にリロードされるデフォルト設定を含むディレクトリ。</li> - <li><code>extensions/</code>: 拡張機能を含むディレクトリ。</li> - <li><code>settings.json</code>: 設定ファイル。</li> - <li><code>user.js</code>: その他の設定を含む、もう一つのファイル。</li> - <li><code>webapps/</code>: 電話機にインストールされる、全 Web アプリを含むディレクトリ。</li> -</ul> - -<div class="note"> -<p><strong>注記</strong>: プロファイルを作成済みで新しいものを作成したい場合は、新規に生成する前に、既存のプロファイルディレクトリを消さなければなりません。</p> -</div> - -<h2 id="デフォルト">デフォルト</h2> - -<pre class="brush: bash">make</pre> - -<p>これは単にノーブランドの、非デバッグのビルドを与えます。ブランドのビルドには、<a href="#Official_Mozilla_branding_make">Mozilla 公式ブランドの make</a> を使う必要があります。デバッグビルドは <a href="#Debug_make">デバッグ make</a> をする必要があります。</p> - -<h2 id="端末へプッシュする">端末へプッシュする</h2> - -<pre class="brush: bash">make install-gaia - -make reset-gaia -</pre> - -<p><a href="/ja/Firefox_OS/Debugging/Installing_ADB">ADB</a> (Android デバッグブリッジ) のセットアップでは、これらの make ターゲットは Gaia を端末にプッシュするでしょう。<code>install-gaia</code> では作業ディレクトリ内の Gaia の更新を端末にプッシュします。 <code>reset-gaia</code> では、Gaia のプッシュ前に、既存の設定やプロファイル、Webアプリ、データベース内容 (新設定のデータベースが初期化されます) が掃除されます。</p> - -<div class="note"> -<p><strong>注記</strong>: <code>make install-gaia</code> または <code>make reset-gaia</code> を用いて端末に Gaia をプッシュすると、デフォルトで 1 倍の解像度のアセットで Gaia をビルドします。さらに高い解像度を指定するには、<code>GAIA_DEV_PIXELS_PER_PX</code> または <code>GAIA_DPPX</code> の make オプションを指定します (このオプションの詳細は、<a href="/ja/Firefox_OS/Developing_Gaia/make_options_reference#High_resolution_image_assets">High resolution image assets</a> を参照)。この方法で端末に Gaia をプッシュする場合は、関連する make オプションを端末のスケールファクタに合わせて指定するべきです。例えば、Flame 端末には <code>make install-gaia GAIA_DEV_PIXELS_PER_PX=1.5</code> (または 2 や 2.5 など。スケールファクタ値は <a href="/ja/Apps/Build/Icon_implementation_for_apps#512_icon_for_device_display">512 icon for device display</a> の中の表を見てください。)</p> -</div> - -<h2 id="特定アプリのビルド">特定アプリのビルド</h2> - -<pre class="brush: bash">APP=system make - -APP=system make install-gaia</pre> - -<p>既にプロファイルがある場合、すべてのアプリを再パッケージ化して再プッシュする代わりに、再パッケージするアプリを <code>APP</code> で指定できます。このコマンドは、新しいアプリパッケージとマニフェストをプッシュします。マニフェストの変更 (例えば、新しいパーミッションやキーボードレイアウトや宣言) は Gecko によって選択されません。</p> - -<h2 id="カスタムプロファイルフォルダを指定する">カスタムプロファイルフォルダを指定する</h2> - -<p>ビルドしたプロファイルを保存するディレクトリを指定できます。次のように、<code>PROFILE_FOLDER</code> で指定します:</p> - -<pre class="brush: bash">PROFILE_FOLDER=profile-b2g-desktop make</pre> - -<h2 id="異なる端末のビルド">異なる端末のビルド</h2> - -<p>異なる目的で、異なる端末のビルドを作成する make オプションがいくつかあります。</p> - -<h3 id="Gaia_の電話機ビルドの生成">Gaia の電話機ビルドの生成</h3> - -<pre class="brush: bash">GAIA_DEVICE_TYPE=phone make</pre> - -<p>このビルドは、アプリを <code>/gaia/build/config/phone/apps-engineering.list</code> から取得します。</p> - -<h3 id="Gaia_のタブレットビルドの生成">Gaia のタブレットビルドの生成</h3> - -<pre class="brush: bash">GAIA_DEVICE_TYPE=tablet make</pre> - -<p>このビルドは、アプリを <code>/gaia/build/config/tablet/apps-engineering.list</code> から取得します。</p> - -<h3 id="spark_ビルドの生成">spark ビルドの生成</h3> - -<pre class="brush: bash">GAIA_DISTRIBUTION_DIR=distros/spark make reset-gaia</pre> - -<p>端末に spark をインストールします。同等な B2G build.sh オプションは次のようになります:</p> - -<pre class="brush: bash">GAIA_DISTRIBUTION_DIR=distros/spark ./build.sh</pre> - -<h2 id="異なるビルドタイプ">異なるビルドタイプ</h2> - -<p>異なる目的で、異なるタイプのビルドを作成する make オプションがいくつかあります。</p> - -<h3 id="プロダクション_make">プロダクション make</h3> - -<pre class="brush: bash">PRODUCTION=1 make</pre> - -<p>これは Gaia のプロダクション (製品版) ビルドを生成します:</p> - -<ul> - <li>Gaia はパッケージ型アプリとして実行され、デバッグは難しくなりますが、アプリにとっての API パーミッションなどの利用性は最も良いです。</li> - <li>テストアプリはビルドに含まれません。</li> - <li>デフォルトでリモートデバッグがオフになります。</li> - <li>画面ロックはオンになります (その代わり USB 接続は切断されます)。</li> - <li>Marionette はオフになります。</li> - <li>はじめてガイドアプリはオンになります。</li> - <li>オフラインキャッシュが使用されます。</li> -</ul> - -<div class="note"> -<p><strong>注記</strong>: 別名のコマンド <code>make production</code> でも生成できます。</p> -</div> - -<h3 id="デバッグmake">デバッグmake</h3> - -<pre class="brush: bash">DEBUG=1 make</pre> - -<p><code>DEBUG</code> 変数は、Gaia をデフォルトを変更するごとに再パッケージが必要なパッケージ型アプリでなく、特定の <code>GAIA_PORT</code> でのビルトイン Web サーバ上でホスト型アプリとして実行します。これでテストが簡単になります。最新の Firefox Nightly のプロファイルで起動すると、素晴らしい B2G 固有の Firefox 開発ツールのパネルがあります。</p> - -<p>それに加え:</p> - -<ul> - <li>テストアプリがビルドに含まれます。</li> - <li>デフォルトでリモートデバッグがオンになります。</li> - <li>画面ロックはオンになります (その代わり USB 接続は切断されません)。</li> - <li><a href="/ja/docs/Mozilla/QA/Marionette">Marionette</a> がオンになります。これは Gaia <a href="/ja/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">ユニットテスト</a> 時に必要になります。</li> - <li>はじめてガイドアプリはオフになります。</li> - <li>オフラインキャッシュは、たとえ生成されても使用されません。</li> -</ul> - -<div class="note"> -<p><strong>注記</strong>: 現在、バグ (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1180103" title="B2G desktop client get an empty homescreen when run w/ debug profile (gaia/profile-debug)">バグ 1180103</a>) があり、Gaia のデバッグプロファイルでFirefox OS シミュレータ (WebIDE でも何経由でも) を実行した時、空のホーム画面が描画されます。これを回避するには、代わりに <code>DEBUG=1 DESKTOP=0 make</code> とします ( <a href="#Device_debug_make">端末デバッグ make</a> を参照)。</p> -</div> - -<h3 id="端末デバッグ_make">端末デバッグ make</h3> - -<pre class="brush: bash">DEVICE_DEBUG=1 make</pre> - -<p>これは端末の画面ロックをオンにし、ADB ツールのデバッグを有効にするので、端末のデバッグに便利です。</p> - -<p>このパラメータは、Firefox OS 1.2 以降のバージョンで、Firefox OS Webアプリを <a href="/docs/Tools/WebIDE">WebIDE</a> でデバッグする時に指定します</p> - -<h3 id="デスクトップデバッグ_make">デスクトップデバッグ make</h3> - -<pre class="brush: bash">DEBUG=1 DESKTOP=0 make</pre> - -<p>このオプションは、<a href="/ja/Firefox_OS/Using_the_B2G_desktop_client">B2G デスクトップ</a> 内で実行する、デスクトップデバッグ版を作成します。</p> - -<h3 id="公式_Mozilla_ブランド_make">公式 Mozilla ブランド make</h3> - -<pre class="brush: bash">MOZILLA_OFFICIAL=1 make</pre> - -<p>公式の Mozilla ブランドのビルドを make するのに使います。</p> - -<h3 id="ドッグフード_make">ドッグフード make</h3> - -<pre class="brush: bash">DOGFOOD=1 make</pre> - -<p>ドッグフードオプションとユーティリティがオンになります、例えば、Feedback アプリで、簡単に OS のフィードバック投稿ができます。</p> - -<h3 id="システムアプリ_make">システムアプリ make</h3> - -<pre class="brush: bash">B2G_SYSTEM_APPS=1 make</pre> - -<p>この環境変数は、アプリを <code>/data/local</code> ではなく、<code>/system/b2g</code> に配置します。ユーザビルドの作業をする時に使うべきです。この変数は、<code>make production</code> を実行した時に自動セットされます。また <code>install-gaia</code> や <code>reset-gaia</code> にも使われます。</p> - -<h3 id="ディストリビューションおよびマーケット向けのカスタマイズビルド">ディストリビューションおよびマーケット向けのカスタマイズビルド</h3> - -<pre class="brush: bash">GAIA_DISTRIBUTION_DIR=./dir</pre> - -<div class="note"> -<p><strong>注記</strong>: 詳細は <a href="/ja/Firefox_OS/Hacking_Firefox_OS/Market_customizations_guide">Market カスタマイズ</a> をお読みください。</p> -</div> - -<h2 id="開発者デバッグ_オプション">開発者/デバッグ オプション</h2> - -<p>デバッグ用途で、機能を追加・削除したり、設定を変更する make オプションもあります。</p> - -<h3 id="リモートデバッグを有効化">リモートデバッグを有効化</h3> - -<pre class="brush: bash">REMOTE_DEBUGGER=1</pre> - -<p>これは、<a href="/ja/Firefox_OS/Debugging/Developer_settings#Remote_debugging">開発者設定</a> のオプション設定と同じ、端末上のリモートデバッグを有効にします。</p> - -<h3 id="JavaScript_最適化_make">JavaScript 最適化 make</h3> - -<pre class="brush: bash">GAIA_OPTIMIZE=1 make</pre> - -<p>これは、Gaia の JavaScript 最適化の起点となり、ファイルを連結・圧縮します。これは、<code>make production</code> を実行した時に自動でセットされます。また、<code>install-gaia</code> や <code>reset-gaia</code> にも使われます。</p> - -<h3 id="高解像度のイメージアセット">高解像度のイメージアセット</h3> - -<pre class="brush: bash">GAIA_DEV_PIXELS_PER_PX=1.5 make</pre> - -<p>あるいは、別名で:</p> - -<pre class="brush: bash">GAIA_DPPX=1.5 make</pre> - -<p>アプリのパッケージ時に、このオプションは、画像を <code>*@1.5x.(gif|jpg|png)</code> の同等品が存在する場合に、その画像に置き換えます。上記オプションを標準の <code>make</code> コマンドの部分的なオプションとして使う必要があります。例えば:</p> - -<pre class="brush: bash">GAIA_DEV_PIXELS_PER_PX=1.5 make reset-gaia - -GAIA_DEV_PIXELS_PER_PX=1.5 make install-gaia</pre> - -<p>Gaia は現在、次の画面解像度をターゲットとしています:</p> - -<ul> - <li>qHD: ~540×960; 端末のピクセル比 = 1.6875</li> - <li>WVGA: ~480×800; 端末のピクセル比 = 1.5</li> - <li>HBGA (320x240); 端末のピクセル比 = 1</li> -</ul> - -<p>qHD と WVGA 端末で画像が確実にシャープに見えるために、<code>GAIA_DEV_PIXELS_PER_PX</code> を使います。CSS ピクセル単位あたりの端末ピクセルについて、詳しい情報は、<a href="https://developer.mozilla.org/ja/docs/Mozilla/Mobile/Viewport_meta_tag#A_pixel_is_not_a_pixel" title="https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag#A_pixel_is_not_a_pixel">A pixel is not a pixel</a> 参照してください</p> - -<h3 id="統合テストの実行">統合テストの実行</h3> - -<p>make を使って Gaia の統合テストを実行できます。詳細は<a href="/ja/Firefox_OS/Platform/Automated_testing/Gaia_integration_tests">Gaia 統合テスト</a> を参照してください。</p> - -<h3 id="Raptor_パフォーマンステストの実行">Raptor パフォーマンステストの実行</h3> - -<p>Raptor テストを実行するためには、テストを実際に行う前に、端末を構成する必要があります。詳しくは、<a href="/Firefox_OS/Automated_testing/Raptor">Raptor</a> を参照してください。</p> - -<pre class="brush: bash">make raptor</pre> - -<h3 id="低メモリプロファイルのビルド">低メモリプロファイルのビルド</h3> - -<pre class="brush: bash">GAIA_MEMORY_PROFILE=low make</pre> - -<p>この変数は、Gaia の低メモリプロファイルを生成します。これは、Tarako のような低メモリ端末を想定しています。</p> - -<h3 id="はじめてガイド_(FTU)_の無効化">はじめてガイド (FTU) の無効化</h3> - -<pre class="brush: bash">NOFTU=1 -</pre> - -<p>この環境変数で FTU が無効になります。</p> - -<h3 id="ロック画面の無効化">ロック画面の無効化</h3> - -<p>Firefox OS のロック画面を <code>NO_LOCK_SCREEN</code> オプションを使って無効化できます、例えば:</p> - -<pre class="brush: bash">NO_LOCK_SCREEN=1 make</pre> - -<h3 id="リファレンス負荷データ">リファレンス負荷データ</h3> - -<p>リファレンス負荷データを使うと、開発者やテスト担当者は、新たにフラッシュされた電話機に対して、いくつかのアプリに大量のデータを素早くインストールできます。</p> - -<p>そのコマンドは次の通り (gaia ディレクトリから):</p> - -<pre class="brush: bash">make reference-workload-light</pre> - -<ul> - <li>200 件の連絡先</li> - <li>200 件の SMS メッセージ</li> - <li>50 件の通話履歴エントリ</li> - <li>20 枚のギャラリー画像</li> - <li>20 曲の歌</li> - <li>5 本の動画</li> -</ul> - -<pre class="brush: bash">make reference-workload-medium</pre> - -<ul> - <li>500 件の連絡先</li> - <li>500 件の SMS メッセージ</li> - <li>100 件の通話履歴エントリ</li> - <li>50 枚のギャラリー画像</li> - <li>50 曲の歌</li> - <li>10 本の動画</li> -</ul> - -<pre class="brush: bash">make reference-workload-heavy</pre> - -<ul> - <li>1000 件の連絡先</li> - <li>1000 件の SMS メッセージ</li> - <li>200 件の通話履歴エントリ</li> - <li>100 枚のギャラリー画像</li> - <li>100 曲の歌</li> - <li>20 本の動画</li> -</ul> - -<pre class="brush: bash">make reference-workload-x-heavy</pre> - -<ul> - <li>2000 件の連絡先</li> - <li>2000 件の SMS メッセージ</li> - <li>500 件の通話履歴エントリ</li> - <li>250 枚のギャラリー画像</li> - <li>250 曲の歌</li> - <li>50 本の動画</li> -</ul> - -<p>これらのターゲットには、アプリ名をスペースで区切った <code>APP</code> 環境変数か、<code>APPS</code> 環境変数が指定できます。例えば:</p> - -<pre class="brush: bash">APP=sms make reference-workload-light -APPS="sms communications/contacts" make reference-workload-heavy -</pre> - -<p>利用可能なアプリは次の通り:</p> - -<pre class="brush: bash">APPS="gallery music video communications/contacts sms communications/dialer"</pre> - -<p>リファレンス負荷データに音楽 (歌) を入れるには、mid3v2 ユーティリティがインストールされていなければなりません。このユーティリティは次のコマンドでインストールします:</p> - -<pre class="brush: bash">sudo apt-get install python-mutagen</pre> - -<p>代わりに、Fedora や RHEL を実行している場合、これを使います:</p> - -<pre class="brush: bash">sudo yum install python-mutagen</pre> - -<h3 id="ドキュメント_make">ドキュメント make</h3> - -<p>Gaia のドキュメントは、jsdoc3 を通じてビルドされます。これを生成するには、次のコマンドを使います:</p> - -<pre class="brush: bash">make docs</pre> - -<h3 id="IME_レイアウトと辞書の有効化">IME レイアウトと辞書の有効化</h3> - -<p>キーボード IME レイアウトと辞書を有効化するには、次のコマンド構成を使用します:</p> - -<pre class="brush: bash">GAIA_KEYBOARD_LAYOUTS=en,de,fr,jp-kanji make</pre> - -<p>現在デフォルトでは、ディスク容量のために、全てのレイアウトを積んでいません。レイアウトと辞書を切り離すために <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1029951">Bug 1029951</a> が作業中です (ユーザ辞書をダウンロード提供します)。</p> - -<p>すべての利用可能なレイアウトを知るには <a href="https://github.com/mozilla-b2g/gaia/blob/26fb1315c57b029eb66cc1421d5df7bbd0d9acb3/shared/js/keyboard_helper.js#L96">shared/js/keyboard_helper.js</a> のファイルを見てください。</p> diff --git a/files/ja/archive/b2g_os/developing_gaia/making_gaia_code_changes/index.html b/files/ja/archive/b2g_os/developing_gaia/making_gaia_code_changes/index.html deleted file mode 100644 index 7f7735cc14..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/making_gaia_code_changes/index.html +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: Gaia のコードに変更を加える -slug: Archive/B2G_OS/Developing_Gaia/Making_Gaia_code_changes -tags: - - Firefox OS - - Gaia - - 初心者 -translation_of: Archive/B2G_OS/Developing_Gaia/Making_Gaia_code_changes ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p><span class="seoSummary">今やデスクトップでGaiaを実行していて、コードベースがどう動作するかをある程度理解し、プロジェクトにコントリビュート(貢献)し始める準備ができているでしょう。この記事では変更を加える方法と、取り組むべきバグの見つけ方を記述します。</span></p> -</div> - -<h2 id="Gitのベストプラクティス">Gitのベストプラクティス</h2> - -<ol> - <li>Gaiaに変更を加える時は、まず最新をmasterから取得すべきです: - <pre class="brush: bash">cd path/to/gaia -git checkout master -git pull upstream master</pre> - </li> - <li>次に、あなたの修正を乗せるブランチをチェックアウトします: - <pre class="brush: bash">git checkout -b my-code-fix</pre> - </li> - <li>最後に、 <code>gaia/apps</code> ディレクトリに移動し、アプリファイルを変更します。</li> -</ol> - -<h2 id="簡単なコード変更例">簡単なコード変更例</h2> - -<p>コード変更を見るには:</p> - -<ol> - <li>Gaiaコードベースに必要な変更を加え、変更を保存します。</li> - <li>FirefoxのMuletか、WebIDE内のsimulatorをシャットダウンします。</li> - <li><code>make</code>を使ってGaiaプロフィールをリビルドします。</li> - <li>FirefoxのMuletか、WebIDE内のsimulatorを再起動します。</li> -</ol> - -<p>ロックスクリーンの時計の色変更のような簡単な例を見てみましょう:</p> - -<p><img alt="Gaia lockscreen showing the clock display in white text" src="https://mdn.mozillademos.org/files/7929/gaia-lockscreen-clock.png" style="display: block; height: 623px; margin: 0px auto; width: 369px;"></p> - -<ol> - <li>スタイルがどうやってセットされているのか見つける最良の方法は、開発者ツールを使うことです。デスクトップ版Firefoxで Ctrl/右 + クリックしてコンテキストメニューから <em>要素を調査</em> を選びます。</li> - <li>どのCSSファイルを編集するかがわかったら — ここでは <code>gaia/apps/system/lockscreen/style/lockscreen.css</code> — 画面右手側で、CSSファイルが望み通りの状態になるよう編集します。</li> - <li>変更に満足したら、ファイルディレクトリに移動して変更します。</li> - <li>次に、この節の最初で概説したステップに従い、変更を見ます。</li> -</ol> - -<p><img alt="Gaia lockscreen showing the clock display modified from white to red text" src="https://mdn.mozillademos.org/files/7931/gaia-lockscreen-clock-modified.png" style="display: block; height: 622px; margin: 0px auto; width: 366px;"><br> - <br> - <br> - Gaia Firefox Muletのレンダリング制限:</p> - -<ul> - <li>デスクトップ版Firefoxレンダリングでは、アプリは実機の動作と比べてはるかに正確ですが、あちこちに違いがあるかもしれません。</li> - <li>デスクトップ版Firefoxでは全てのデバイスAPIをサポートしているわけではありません;有効なデバイスAPI一覧は <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/preferences.js">preferences.js</a> に見ることができます。</li> -</ul> - -<h2 id="取り組むべきバグを見つける場所">取り組むべきバグを見つける場所</h2> - -<p>Firefox OS のバグを見つける最良の方法は、 <a href="http://www.joshmatthews.net/bugsahoy/?b2g=1">Josh Matthews の、Bugs Ahoy(おーいバグ)、アプリ</a>です — これはMozilla の Bugzilla からバグを直接引き込んで、検索、閲覧しやすく表示してくれます。 いったん取り組むバグを見つけたら、Bugzilla ページに移動して"assigned to" 項目に自分自身を入力し、下記に示すように、作業を開始します。</p> - -<h3 id="有用なヒント">有用なヒント</h3> - -<ul> - <li>助言つき(mentored)バグに取り組む時、Gaiaコアチームの誰かがあなたの進捗をモニタし、コードとプロセスとの援助を提供します。あなたがFirefox OSの貢献プロセスの初心者である場合、 これらに参加するのは有用です。これらはFirefox OS Bugzilla ページの"Mentors"項目に入力されていることで示されます。 Bugs Ahoy で助言つきバグが一覧できます。</li> - <li>あなたが完全に新しいBugzillaユーザーである場合、自身をバグの担当にアサインできないかもしれません。できない場合、権限のある助言者にアサインしてもらうよう依頼するか、もしくは単にバグコメントで依頼して下さい。</li> - <li>多少経験を積んだ後、自身にバグのアサインできる権限を誰かに依頼するべきでしょう。</li> - <li>新しいコントリビューターが簡単なバグを探す場合、もう一つ探すのに良いホワイトボードエントリーは<code>[good first bug]</code>です。最初のバグに適したリストは <a href="http://www.joshmatthews.net/bugsahoy/?b2g=1&simple=1">http://www.joshmatthews.net/bugsahoy/?b2g=1&simple=1</a> で一覧できます。</li> - <li>貢献したいプロジェクトを探すのには検索結果を保存すべきです。例えば下記では Gaia Clock アプリのバグ検索が取得できます:</li> -</ul> - -<p><a href="https://bugzilla.mozilla.org/buglist.cgi?columnlist=product%2Ccf_blocking_b2g%2Cbug_status%2Cresolution%2Cshort_desc&resolution=---&query_based_on=CLOCK&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Gaia%3A%3AClock&product=Boot2Gecko&known_name=CLOCK&list_id=10497922">https://bugzilla.mozilla.org/buglist.cgi?columnlist=product%2Ccf_blocking_b2g%2Cbug_status%2Cresolution%2Cshort_desc&resolution=---&query_based_on=CLOCK&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Gaia%3A%3AClock&product=Boot2Gecko&known_name=CLOCK&list_id=9776392</a></p> - -<h2 id="参考情報">参考情報</h2> - -<ul> - <li><a href="https://mozilla.app.box.com/s/wzgsb3lkqglv0dnfdgzs">Gaia powerpoints for visual/interaction specifications</a></li> - <li><a href="https://etherpad.mozilla.org/gaia-meeting-notes">Weekly Gaia meeting Etherpad</a></li> - <li><a href="https://datazilla.mozilla.org/">Datazilla</a>: Mozilla's performance test utility</li> -</ul> diff --git a/files/ja/archive/b2g_os/developing_gaia/market_customizations_guide/index.html b/files/ja/archive/b2g_os/developing_gaia/market_customizations_guide/index.html deleted file mode 100644 index 21120bab66..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/market_customizations_guide/index.html +++ /dev/null @@ -1,1313 +0,0 @@ ---- -title: Market customizations guide -slug: Archive/B2G_OS/Developing_Gaia/Market_customizations_guide -tags: - - B2G - - Customization - - Firefox OS - - Gaia - - Marketplace - - build -translation_of: Archive/B2G_OS/Developing_Gaia/Market_customizations_guide ---- -<div class="summary"> -<p>マーケットカスタマイズ機能を使うとコアの Gaia リポジトリを書き換えることなく独立したディレクトリでビルド時のカスタマイズを指定 (例えば、ビルド二度のアプリを含めるかなど) することができます。独自のカスタマイズを独立したディレクトリで用意することもできるし、事前に用意されたソースの入ったディレクトリを使うこともできます。カスタマイズはビルドオプションで指定します。ここではカスタマイズのしかたや使い方を紹介します。</p> -</div> - -<h2 id="カスタマイズ概要">カスタマイズ概要</h2> - -<p>Firefox OS は 1.0.1 以降、Firefox 同様のカスタマイズシステムを使っています。この記事に書かれている機能は特に明記されない限り Firefox OS 1.0.1 以降で動作します。</p> - -<p>フルセットの <a href="https://github.com/mozilla-b2g/gaia/tree/master/customization">Gaia ディストリビューションカスタマイズサンプル</a>を Gaia リポジトリの中に用意しています。ビルド時のカスタマイズで何が出来るかするにはまずこれを直接触ってみるのが良いでしょう。この記事でもあとで言及します。</p> - -<div class="note"> -<p><strong>メモ</strong>: カスタマイズサンプルをより良くするための提案があったり、この記事で更新されているがコードが古くなっているような場合は上記の Github リポジトリにプルリクエストを送ってください。</p> -</div> - -<p>カスタマイズサンプルのディレクトリ構造は次の通りです:</p> - -<pre> customize-sample - ├── power - │ ├── carrier_power_on.png - │ └── carrier_power_off.png - ├── ringtones - │ ├── list.json - │ └── ringer_dream_theme.ogg - ├── wallpapers - │ ├── customize.png - │ └── list.json - ├── browser.json - ├── calendar.json - ├── contacts.json - ├── costcontrol.json - ├── device-features.json -<span style="font-size: 1rem;"> ├── eu-roaming.json</span> - ├── homescreens.json - ├── network.json - ├── settings.json - ├── sms-blacklist.json - ├── support.json - ├── wapuaprof.json - └── apps.list</pre> - -<div class="note"> -<p><strong>メモ</strong>: すべてのファイルは必須ではありません。ファイルを含めなければシステムのデフォルト設定でビルドされます。</p> -</div> - -<p>後に個々のカスタマイズについて説明しますが、まずはどのように Gaia にカスタマイズを適用するか説明します。</p> - -<h2 id="カスタマイズの適用手順">カスタマイズの適用手順</h2> - -<p>カスタマイズサンプルを Gaia に適用するには次のようにしてください:</p> - -<ol> - <li>Gaia のソースコードを <a href="https://github.com/mozilla-b2g/gaia">https://github.com/mozilla-b2g/gaia</a> からクローンしてください。</li> - <li><code>gaia/customization/</code> ディレクトリを別のディレクトリにコピーして自分でカスタマイズすることもできますし <code>gaia/customization/</code> ディレクトリを直接書き換えることもできます。カスタマイズファイルを収めるディレクトリへのパスは下記の <code><DISTRIBUTION_PATH></code> で指定できます。任意のディレクトリパスを指定してください。</li> - <li>必要に応じてサンプルを編集してください。</li> - <li>Firefox OS デバイスを USB ケーブルでコンピュータに接続し、<a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> で接続できることを確認してください。</li> - <li>次のように <code>GAIA_DISTRIBUTION_DIR</code> 環境変数を指定して Gaia をビルドしてください:</li> - <li> - <pre class="brush: bash">make production GAIA_DISTRIBUTION_DIR=<DISTRIBUTION_PATH></pre> - </li> - <li>カスタマイズが適用された Gaia を Firefox OS デバイスにインストールできます。</li> -</ol> - -<p>カスタマイズサンプルディレクトリを <code>gaia/distribution/</code> ディレクトリにコピーした場合、環境変数を指定する必要はありません:</p> - -<pre class="brush: bash">make production</pre> - -<div class="note"> -<p><strong>メモ</strong>: 一部のカスタマイズは Gaia ビルドスクリプト中で行えます。ビルドスクリプトのカスタマイズについては <a href="/en-US/Firefox_OS/Developing_Gaia/make_options_reference">make オプションリファレンス</a>をご覧ください。</p> -</div> - -<div class="note"> -<p><strong>メモ</strong>: SIM カード固有のカスタマイズはビルド時に含められますが、初回起動時のセットアップ中、実行時に適用されます。</p> -</div> - -<h2 id="ビルド時のカスタマイズ">ビルド時のカスタマイズ</h2> - -<p>それではサンプルに含まれているさまざまなカスタマイズ例を見ていきましょう。</p> - -<h3 id="power">power/</h3> - -<p>電源オン・オフ時のアニメーション (あるいは静止画) を含められます。ファイルは MP4 のアニメーションか PNG の静止画です。</p> - -<p>次のような名前のファイルを用意してください:</p> - -<ul> - <li><code>carrier_power_on.png</code></li> - <li><code>carrier_power_on.mp4</code></li> - <li><code>carrier_power_off.png</code></li> - <li><code>carrier_power_off.mp4</code></li> -</ul> - -<h3 id="ringtones">ringtones/</h3> - -<p>カスタム着信音を含められます。次のように <code>list.json</code> ファイルで着信音ファイルのリストを指定します:</p> - -<pre class="brush: js"> { - "ringer_classic_courier.opus": "", - "ringer_dream_theme.ogg": "", - "ringer_loud_windchimes.opus": "", - "ringer_bitbounce.opus": "" - }</pre> - -<p>カスタム着信音は Firefox OS の環境設定アプリの <em>サウンド > 着信</em> で指定できます。 デフォルトの着信音は DataURI を用いて <code>settings.json</code> で設定します。DataURI は node/npm の <strong>datauri</strong> コマンドで生成できます:</p> - -<ol> - <li><strong>npm install datauri -g</strong> コマンドでインストールしてください。</li> - <li><strong>datauri <FILE></strong> コマンドでファイルを DataURI に変換してください。</li> -</ol> - -<h3 id="wallpapers">wallpapers/</h3> - -<p>カスタム壁紙 (PNG ファイル) を <code>list.json</code> ファイルで指定すると、Firefox OS の環境設定アプリの <em>画面表示 > 壁紙</em> で指定できるようになります。</p> - -<p>デフォルトの壁紙は次のように <code>settings.json</code> で指定してください:</p> - -<pre class="brush: js">"wallpaper.image": "image location"</pre> - -<div class="note"> -<p><strong>メモ</strong>: 画像はファイルパスまたは dataURI で指定できます。</p> -</div> - -<h3 id="browser.json">browser.json</h3> - -<p>このファイルではブックマークやデフォルト検索エンジンなど、ブラウザアプリをカスタマイズできます。このファイルの書き方は <a href="/en-US/Firefox_OS/Hacking_Firefox_OS/Market_customizations_guide#Browser_bookmarks_.26_default_search_engine">ブラウザのブックマークとデフォルト検索エンジン</a> をご覧ください。</p> - -<h3 id="calendar.json">calendar.json</h3> - -<p>このファイルでは Firefox OS のカレンダーアプリに独自のカレンダーを指定できます。Google OAuth credentials を指定する必要があります。加えて、カレンダーの CalDav API アクセスが必要になります。API キーとシークレットを生成するには、Google の <a href="https://developers.google.com/google-apps/calendar/caldav/v2/guide#creating_your_client_id">creating your client ID</a> ページに記載の通り、次の手順で操作してください:</p> - -<ol> - <li><a href="https://code.google.com/apis/console/b/0">API console</a> を開いてください。</li> - <li>プロジェクトを開き <em>APIs & auth > APIs で Calendar CalDav API</em> <em>を有効化してください。</em></li> - <li><em>Credentials</em> をクリックしてください。</li> - <li><em>Create new client ID</em> をクリックしてください。</li> - <li><em>Application type</em> を Installed application に設定し、<em>Installed application type</em> を <em>Other</em> に設定し、<em>Create Client ID</em>. ボタンを押してください。<em>Client ID</em> と <em>Client secret</em> が表示されます。</li> - <li><code>calendar.json</code> ファイルを開き <code>client_id</code> と <code>client_secret</code> に Google API コンソールで表示された <em>Client ID</em> と <em>Client secret</em> を入力して保存してください。</li> -</ol> - -<div class="note"> -<p><strong>メモ</strong>: API の利用回数は 1 日 1,000,000 リクエストに制限されています。</p> -</div> - -<h3 id="camera-config.js_(Gallery_and_Camera_app_image_sizes)">camera-config.js (Gallery and Camera app image sizes)</h3> - -<div class="code-body highlight"> -<pre class="line"><span class="p">{</span> - <span class="nt">"maxImagePixelSize"</span><span class="p">:</span> <span class="mi">6000000</span><span class="p">,</span> - <span class="nt">"maxSnapshotPixelSize"</span><span class="p">:</span> <span class="mi">4000000</span><span class="p">,</span> - <span class="nt">"requiredEXIFPreviewSize"</span><span class="p">:</span> <span class="p">{</span> - <span class="nt">"width"</span><span class="p">:</span> <span class="mi">1200</span><span class="p">,</span> - <span class="nt">"height"</span><span class="p">:</span> <span class="mi">1222</span> - <span class="p">}</span> -<span class="p">}</span></pre> -</div> - -<p><code>maxImagePixelSize</code> と <code>maxSnapshotPixelSize</code> はギャラリーとカメラアプリで表示する画像の最大ピクセルサイズです。デフォルトは 5 メガピクセル (5*2<sup>20</sup> ピクセル) になっています。</p> - -<p><code>requiredEXIFPreviewSize </code>プロパティを追加すればフルスクリーンプレビューで表示されるための最小 EXIF プレビューサイズも指定できます。これを指定しなければ EXIF プレビューはランドスケープとポートレイト (横と縦) モード両方で (高さまたは幅が) 画面サイズ以上になる場合にのみ EXIF プレビューが使用されます。</p> - -<h3 id="contacts.json">contacts.json</h3> - -<p>Gaia ビルド時の連絡帳データベースに含める連絡先のリストを指定できます。</p> - -<p><code>contacts.json</code> ファイルのサンプルは次の通りです:</p> - -<pre class="brush: js">[ - { - "name": ["John Doe"], - "givenName": ["John"], - "familyName": ["Doe"], - "nickname": ["Johnny"], - "category": ["Work", "Racing Team"], - "email": [ - { - "type": ["personal"], - "value": "john.doe@example.org", - "pref": true - }, - { - "type": ["work"], - "value": "jdoe@example.com" - } - ], - "adr": [ - { - "type": ["personal"], - "streetAddress": "123 Foopy St.", - "locality": "San Francisco", - "region": "Downtown", - "postalCode": "94030", - "countryName": "US" - } - ] - }, - { - "name": ["CarrierX"], - "email": [ - { - "type": ["work"], - "value": "support@carrierx.com" - } - ], - "url": [ - { - "type": ["work"], - "value": "https://www.carrierx.com" - } - ] - } - ]</pre> - -<div class="note"> -<p><strong>メモ</strong>: Contacts オブジェクトのレイアウト詳細は <a href="/en-US/docs/WebAPI/Contacts">Contacts API ページ</a> をご覧ください。</p> -</div> - -<div class="note"> -<p><strong>メモ</strong>: SIM カード依存のカスタマイズについては <a href="#Browser_bookmarks_and_default_search_engine">Browser bookmarks and default search engine</a> 節をご覧ください。</p> -</div> - -<h3 id="device-features.json">device-features.json</h3> - -<p>ハードウェアでサポートする機能を指定します。デフォルトは次の通りです:</p> - -<pre class="brush: js">{ - "ambientLight": true, - "vibration": true -}</pre> - -<p>各機能を無効化するには <code>false</code> を指定してください。</p> - -<h3 style="line-height: 24px; font-size: 1.71428571428571rem;" id="eu-roaming.json">eu-roaming.json</h3> - -<p>EU のローミング規制に従うべきオペレーターのリストとその APN 設定が含められます。このファイルは 3 つの部分からなり、最初の <code>home</code> では規制に従うべきオペレーターのオペレーターコードを指定します。次の<span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">foreign</code><span style="line-height: 1.5;"> </span>ではローミング前に EU ローミング通知が表示されるべき海外オペレーターのオペレーターコードを指定します。最後の部分では EU ローミングの APN 設定を含めます。デフォルトファイルは次のようになります:</p> - -<pre style="font-size: 14px;" class="brush: js">{ - "home": null, - "foreign": null, - "defaultApns": [] -} -</pre> - -<p>OS にローミング通知を表示させたい場合、次のような形でファイルを用意してください。この例では、ユーザがオペレーターコードが "001, 01" の SIM カードを使っていてオペレーターコード "002, 02" の海外ネットワークにローミング接続するときに EU ローミング通知が表示されます:</p> - -<pre style="font-size: 14px;" class="brush: js">{ - "home": { - "001": { - "01": true - } - }, - "foreign": { - "002": { - "02": true - } - }, - "defaultApns": [{ - "apn": "eu.apn", - "types": ["default"] - ]} -} -</pre> - -<div class="note"> -<p><strong>メモ</strong>: <span style="font-family: courier new,andale mono,monospace;">defaultApns</span> フィールドにリストされる APN 設定はすべて環境設定アプリにデフォルトでリスト表示されます。</p> -</div> - -<h3 id="homescreens.json">homescreens.json</h3> - -<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/homescreens.json">homescreens.json</a> では Firefox OS のドックとホームスクリーンに表示するアプリとその順序を定義します。デフォルトでは次のような感じです:</p> - -<pre class="brush: js">{"homescreens": [ - [ - ["apps", "communications", "dialer"], - ["apps", "sms"], - ["apps", "browser"], - ["apps", "camera"] - ] - ]}</pre> - -<p>この設定ではドックに表示される 4 つのアプリを指定しています。配列を追加すると、ホームスクリーンの 1 ページ目に表示されるアプリ、次を追加すると 2 ページ目のものと順次設定できます。</p> - -<pre class="brush: js">{"homescreens": [ - [ // We're in the dock! - ["apps", "communications", "dialer"], - ["apps", "sms"], - ["apps", "browser"], - ["apps", "camera"] - ], - [ // We're on Page 1 of the homescreen - ["apps", "email"], - ["apps", "settings"], - ["apps", "clock"], - ["apps", "calendar"] - ], - [ // We're on Page 2 of the homescreen - ["external-apps", "customapp1"], - ["external-apps", "customapp2"], - ["external-apps", "customapp3"], - ["external-apps", "customapp4"] - ] - ]}</pre> - -<p>内側の配列の 1 つめの要素にはアプリが入っているフォルダ名 ("apps" や "external-apps" を、2 つめの要素にはアプリのディレクトリ名 ("email" や "browser" など) を指定してください。</p> - -<h4 id="コレクション">コレクション</h4> - -<div class="note"> -<p><strong>メモ</strong>: Fierfox 2.0 では <code>collections</code> ディレクトリは <code>homescreen</code> アプリの中の <code>collections</code> アプリに移動しました。マニフェストの値も一部変更されている事に注意してください (例えば <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/collection/collections/funny/manifest.collection">funny コレクションのマニフェスト</a> をご覧ください)。<code>provider_id</code> は <code>categoryId</code> に、<code>apps</code> は <code>pinned</code> に変更されています。</p> -</div> - -<p>コレクションはホームスクリーンに独自のアイコンで表示されるアプリのグループです。そのアイコンをタップすると、コレクションに含まれるアプリのアイコン一覧を含む新しい画面が表示されます。デフォルトでどのようなコレクションが用意されているかは <a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/collection/collections">ソースコードの collections ディレクトリ</a> をご覧ください:</p> - -<ul> - <li><code>funny</code>: 最新のオモシロアプリ</li> - <li><code>games</code>: オンラインゲームで遊ぶ</li> - <li><code>local</code>: あなたのいる場所に関するアプリ</li> - <li><code>music</code>: 好きな音楽を聴こう</li> - <li><code>news</code>: 世界の最新ニュースに注目</li> - <li><code>shopping</code>: お買い物を楽しもう</li> - <li><code>showbiz</code>: エンタメアプリを見つけよう</li> - <li><code>social</code>: どこでもソーシャルネットワーク</li> - <li><code>sports</code>: スポーツのベストアプリ</li> - <li><code>tv</code>: メディア関連アプリ</li> -</ul> - -<p>個別のディレクトリではいろいろな解像度のアイコンファイルと、名前や役割とアイコンへのパスなどコレクションのメタデータが定義されています。</p> - -<div class="note"> -<p><strong>メモ</strong>: E.me のサーバでは追加のコレクションが定義されており、合計 19 のコレクションがあります (上記の 10 に加えて 9 あります)。これらのリストについてはホームスクリーンをロングタップして「スマートコレクションを追加」を選択すると表示されます。</p> -</div> - -<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/homescreens.json"><code>homescreens.json</code></a> ではコレクションをどのページでどの順番で読み込むか定義できます。例えば、<code>shopping</code>, <code>social</code>, <code>sports</code> および <code>tv</code> コレクションを表示したければ次のように指定します:</p> - -<pre class="brush: js">{"homescreens": [ - [ - ["apps/collection/collections", "shopping"], - ["apps/collection/collections", "social"], - ["apps/collection/collections", "sports"], - ["apps/collection/collections", "tv"] - ], [ - ["apps", "communications", "dialer"], - ["apps", "sms"], - ["apps", "browser"], - ["apps", "camera"] - ] - ]}</pre> - -<p>最上部の配列はそれぞれホームスクリーンのページに対応しており、この場合はコレクションのドックに表示され、個別のアプリがホームスクリーンの 1 ページ目に表示されます。</p> - -<div class="note"> -<p><strong>メモ</strong>: 初期設定では、Gaia ホームスクリーンの最初のページに次の 4 つのコレクションが表示されます: <em>Social</em>, <em>Games</em>, <em>Music</em>, <em>Entertainment</em>.</p> -</div> - -<div class="note"> -<p><strong>メモ</strong>: コレクション名は小文字で指定します。</p> -</div> - -<h5 id="コレクションには何が含まれるか">コレクションには何が含まれるか</h5> - -<p>コレクションには 2 つの種類のアプリがあります。<br> - <br> - <strong>Local apps</strong> は <code>/apps/collection/collections/<collectionName>/manifest.collection</code> のマニフェストファイルでビルド時に定義される物です。各コレクションに含まれるローカルアプリはマニフェストファイルで定義します。例えば、social コレクション (電話、SMS、連絡帳、メールアプリを含む) のマニフェストは次のようになります:</p> - -<pre class="brush: js">{ - "name": "Social", - "role": "collection", - "provider_id": "289", // adaptive search identifier - "apps": [ - ["apps", "communications", "dialer"], - ["apps", "sms"], - ["apps", "communications", "contacts"], - ["apps", "email"] - ], - "default_locale": "en-US", - "icons": { - "60": "/collections/social/icon.png", - "90": "/collections/social/icon@1.5x.png", - "120": "/collections/social/icon@2x.png" - } - }</pre> - -<p><strong>Remote apps</strong> は適応検索のプロバイダにより実行時に、デバイスがオンライン状態の時に提供されます。</p> - -<h5 id="コレクションの翻訳方法">コレクションの翻訳方法</h5> - -<p>コレクションの翻訳はホームスクリーンアプリの <code>apps/collection/locales/</code> ディレクトリにあるローカルファイルで定義します。各ロケールのファイルは <code>collections.<言語コード>.properties</code> のような名前規則になっており、<code><言語コード> </code>は例えばフランス語なら fr、日本語なら ja などになります。内容はデフォルトの英語文字列と翻訳バージョンを書いた行が含まれる単純なファイルです。例えばフランス語のロケールファイルは次のようになります:</p> - -<pre><span class="c1"># Add bookmark to homescreen</span><span class="na"> -add-to-home-screen</span><span class="o">=</span><span class="s">Ajouter à l’écran d’accueil</span><span class="na"> -add-to-home-screen-header</span><span class="o">=</span><span class="s">Ajouter un lien</span><span class="na"> -website-name</span><span class="o">=</span><span class="s">Nom du site web</span><span class="na"> -address</span><span class="o">=</span><span class="s">Adresse</span><span class="na"> -added-to-home-screen</span><span class="o">=</span><span class="s">Ajouté à l’écran d’accueil</span></pre> - -<h5 id="カスタムコレクション">カスタムコレクション</h5> - -<p>Firefox OS 1.3 からは独自のカスタムコレクションを定義できます。単に <a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/collection/collections">collections ディレクトリ</a> の中に追加し、上記のように <code>collections.json </code>でそれを指定してください。</p> - -<h4 id="垂直ホームスクリーンの設定">垂直ホームスクリーンの設定</h4> - -<p>Firefox OS 2.0 以降では、従来の水平にページめくりするホームスクリーンではなく縦スクロールする垂直ホームスクリーン (vertical homescreen) を選択できます。垂直ホームスクリーンの設定は <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/verticalhome/build/default-homescreens.json">default-homescreens.json</a> で、表示するアプリやコレクション、ホームスクリーンにアイコンを並べる列の数、ブックマークなどを指定できます。</p> - -<h3 id="network.json_(カスタマイズフォルダにはありません)">network.json (カスタマイズフォルダにはありません)</h3> - -<div class="warning"> -<p><strong>重要</strong>: Firefox OS 1.4 以降ではサポートされていません</p> -</div> - -<p>In Firefox OS < 1.4, this file can be created in <code>gaia/apps/settings/resources</code>, and it allows you to set the network types supported by the device. Firefox OS supports the following types:</p> - -<ul> - <li>'wcdma/gsm' (WCDMA preferred)</li> - <li>'gsm'</li> - <li>'wcdma'</li> - <li>'wcdma/gsm-auto' (GSM preferred)</li> - <li>'cdma/evdo' (CDMA preferred)</li> - <li>'cdma'</li> - <li>'evdo'</li> - <li>'wcdma/gsm/cdma/evdo' (Automatic)</li> -</ul> - -<p>An example is as follows:</p> - -<pre class="brush: js">{ - "types": [ - "cdma/evdo", - "cdma", "evdo" - ] -}</pre> - -<h3 id="settings.json">settings.json</h3> - -<ul> - <li>一般的な設定: 1.0.1</li> - <li>ロケットバーのデフォルト検索エンジン: 2.0</li> -</ul> - -<p>このファイルではデフォルトの壁紙、着信音、ロックスクリーンの有効無効、Bluetooth の有効無効などを指定できます。<a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/common-settings.json">build/config/common-settings.json</a> を見るとどのような設定が可能か分かります。例えば、WiFi をデフォルトで無効にするには <code><span class="nt">"wifi.enabled"</span><span class="p">:</span> <span class="kc">false</span></code> などと設定できます。</p> - -<p>カスタム設定は <a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/settings.json">customization/settings.json</a> で指定できます。</p> - -<h4 id="ロケットバーのデフォルト検索エンジン">ロケットバーのデフォルト検索エンジン</h4> - -<p>Firefox OS 2.0 以降では、<code>settings.json</code> で次のような設定でロケットバーのデフォルト検索エンジンが指定できるようになります:</p> - -<pre>"search.urlTemplate": "https://www.google.com/search?q={searchTerms}", -"search.suggestionsUrlTemplate": "https://www.google.com/complete/search?client=firefox&q={searchTerms}", -"search.iconUrl": "data:image/x-icon;base64,AAABAAIAEBAAAAAAAAB9AQAAJ [TRUNCATED FOR BREVITY] -</pre> - -<h3 id="検索プロバイダのカスタマイズ">検索プロバイダのカスタマイズ</h3> - -<p>Firefox OS 2.0 以降ではデフォルトの <a href="/en-US/docs/https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/resources/search/providers.json">apps/settings/resources/search/providers.json</a> ファイルで検索プロバイダとアイコンファイルのリストを指定できます。ビルド時に <a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/search/providers.json">customization/search/providers.json</a> ファイルを書き換え、適切なアイコンファイルを同じディレクトリに含めることで変更できます。このディレクトリが存在するとビルド時に <code>app/settings/resources/search</code> の中身を上書きします。</p> - -<h3 id="デフォルトホームスクリーンアプリのカスタマイズ">デフォルトホームスクリーンアプリのカスタマイズ</h3> - -<p><code>homescreen.appName</code> ではデフォルトのホームスクリーンアプリを指定できます。</p> - -<div class="code-body highlight"> -<pre class="line"><span class="p">{</span> <span class="nt">"homescreen.appName"</span><span class="p">:</span> <span class="s2">"homescreen-stingray"</span> <span class="p">}</span></pre> -</div> - -<h3 id="sms-blacklist.json">sms-blacklist.json</h3> - -<p>このファイルには SMS のブラックリストを記載します: このファイルに書かれた番号には SMS メッセージを送信できません。このリストは SMS アプリ <code>blacklist.json </code>ファイルを上書きします。番号は次のように配列で指定します:</p> - -<pre>["11223344", "55667788"]</pre> - -<h3 id="cellbroadcast">cellbroadcast</h3> - -<p>Listen するチャンネルを指定できます:</p> - -<ul> - <li>利用可能時: 実行時: Settings — <code>ril.cellbroadcast.searchlist</code></li> - <li>型: 文字列</li> - <li>有効な書式: <code>\d(-\d)?(,\d(-\d))*</code></li> -</ul> - -<p>イベントレポートを無効化できます:</p> - -<ul> - <li>利用可能時: - <ul> - <li>実行時: Settings — <code>ril.cellbroadcast.disabled</code></li> - <li>ビルド時: Preference — <code>ril.cellbroadcast.disabled</code></li> - </ul> - </li> - <li>型: 真偽値</li> - <li>意味: true にするとセルブロードキャストレポートが完全に無効化されます。</li> -</ul> - -<div class="note"> -<p><strong>Note</strong>: デフォルト設定は <a href="https://mxr.mozilla.org/gaia/source/shared/resources/apn/operator_variant.xml">operator_variant.xml</a> に記載されています。</p> -</div> - -<h3 id="support.json">support.json</h3> - -<p>このファイルにはオンラインサポートや電話サポートなどのサポート先情報を記載します。このファイルがある場合、Settings アプリの <code>support.json</code> を上書きします。このカスタマイズファイルではデフォルト設定を上書きするため、デフォルト設定を残しつつサポートリソースを追加したい場合、組み込みのアプリからコピーして、それを元にカスタマイズをしてください。</p> - -<p>JSON ファイルは次のようなものになります:</p> - -<pre class="brush: js">{ - "onlinesupport": { - "href": "http://support.mozilla.org/", - "title": "Mozilla Support" - }, - "callsupport": [ - { - "href": "tel:12345678", - "title": "Call Support 1" - }, - { - "href": "tel:87654321", - "title": "Call Support 2" - } - ] - }</pre> - -<h3 id="WAP_ユーザエージェントプロファイル_(wapuaprof.json)">WAP ユーザエージェントプロファイル (wapuaprof.json)</h3> - -<p>WAP ユーザエージェントプロファイルでは WAP パケット送信時のユーザエージェント情報を上書きできます。デフォルトの WAP ユーザエージェントプロファイルを MCC/MNC を元に歌が期したい場合などに利用できます (より詳しくは <a href="#runtime_customization">runtime customization</a> をご覧ください)。</p> - -<h3 id="apps.list">apps.list</h3> - -<p>このリストファイルでは実行時にどのアプリを読み込みたいか指定できます (後述する <a href="#Applications">Applications</a> セクションで説明している <code>variant.json</code> と同様の形式です)。アプリケーションを次のようにして指定します:</p> - -<pre class="brush: bash">apps/* -external-apps/* -outoftree_apps/*</pre> - -<p>フォルダ内のアプリ全部ではなく個別のアプリを次のように指定することもできます:</p> - -<pre class="brush: bash">apps/email -apps/settings</pre> - -<div class="note"> -<p><strong>Note</strong>: 独自の外部アプリを自分の Gaia ビルドに含めたい場合、決まった方法でビルドして、 <code>gaia/external-apps/</code> ディレクトリに入れる必要があります。手順については Read <a href="#Building_Prebundled_web_apps">Building Prebundled web apps</a> をご覧ください。</p> -</div> - -<div class="warning"> -<p><strong>重要</strong>: Firefox OS のカスタムビルドに追加で含めるアプリについては Mozilla との Distribution Agreement で指定されている必要があります。</p> -</div> - -<h2 id="その他のカスタマイズ設定">その他のカスタマイズ設定</h2> - -<p>他にもカスタマイズできる項目が多くあるので紹介します。</p> - -<div class="note"> -<p><strong>Note</strong>: 以下の節で使われているビルドスクリプトの多くは <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/applications-data.js">gaia/build/applications-data.js</a> にあります。これはビルド時にブラウザアプリの <code>init.json</code> ファイルにコピーされます。</p> -</div> - -<h3 id="ブラウザブックマークとデフォルト検索エンジン">ブラウザブックマークとデフォルト検索エンジン</h3> - -<ul> - <li>ブックマーク: 1.0.1</li> - <li>デフォルト検索エンジン: 1.2</li> -</ul> - -<p>デフォルトのブックマークと検索エンジンはビルド時にカスタマイズ可能で、一つのビルドでも国やネットワーク (回線、キャリア) によって異なります。カスタマイズされたデータはブラウザアプリの初回起動時に、デバイスに挿入されている SIM カードの <a href="http://en.wikipedia.org/wiki/Mobile_country_code">MCC と MNC</a> に応じて読み込まれます。</p> - -<div class="note"> -<p><strong>Note</strong>: ブックマークは Firefox OS 1.0.1 以降でカスタマイズ可能ですが、 <a href="#Other_single_variant_customizations"><span style="line-height: 1.5;">Other single variant customizations</span></a> 節で記載の通り、2.1 以降ではカスタマイズ方法が変わります。デフォルト検索エンジンは Firefox OS 1.2 以降でカスタマイズ可能です。</p> -</div> - -<p>下の例 (<code>browser.json</code>) ではブラジルの Vivo (724006 という値は 724 がブラジルを、006 が Vivo を MMC/MNC コードで表しています) での設定例です。SIM カードの値にマッチするものが無い場合や SIM カードが挿入されていない場合はデフォルトのフォールバック (000000) が使用されます。</p> - -<pre class="brush: js">content = { - '000000': { - 'bookmarks': [ - { 'title': 'Mozilla', - 'uri': 'https://mozilla.org', - 'iconUri': - 'data:image/png;base64,AAABAAIAEBAAAAEAIABo[truncated]' - }, - { 'title': 'Firefox OS', - 'uri': 'https://mozilla.org/firefoxos', - 'iconUri': - 'data:image/png;base64,AAABAAIAEBAAAAEA[truncated]' - } - ], - 'searchEngines' : [ - { - 'title': 'Google', - 'uri': 'https://www.google.com/search?q={searchTerms}', - 'iconUri': - 'data:image/png;base64,AAABAAIAEBAAAAEAIABoBAA[truncated]' - } - ], - 'settings' : { - 'defaultSearchEngine': 'https://www.google.com/search?q={searchTerms}' - } - }, - - '724006': { - "bookmarks": [ - { "title": "Vivo Busca", - "uri": "https://www.google.com.br/m/search", - "iconUri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC[truncated]" - }, - { "title": "Serviços e Downloads", - "uri": "http://vds.vivo.com.br", - "iconUri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACA[truncated]" - }, - { - "title": "Site Vivo", - "uri": "http://www.vivo.com.br/conteudosmartphone", - "iconUri": "data:image/jpg;base64,/9j/4AAQSkZJRg[truncated]" - } - ], - 'searchEngines' : [ - { - 'title': 'Yahoo', - 'uri': 'https://search.yahoo.com/search?q={searchTerms}', - 'iconUri': - 'data:image/png;base64,AAABAAIAEBAAAAEAIABoBAA[truncated]' - } - ], - 'settings' : { - 'defaultSearchEngine': 'https://search.yahoo.com/search?q={searchTerms}' - } - } - };</pre> - -<p>この例では、ブラウザ初回起動時にブラジルの Vivo の SIM カードが挿入されている場合、Vivo のブックマークが使用され、デフォルト検索エンジンは Yahoo になります。初回起動時に他の SIM カードが挿入されていたり、SIM カードが無い場合は Mozilla のブックマークが使用され、デフォルト検索エンジンは Google になります。以下の点については注意してください:</p> - -<ul> - <li><code>defaultSearchEngine </code>プロパティは指定の検索エンジンの <code>uri </code>プロパティと一致する必要があります。この文字列は <code>{searchTerms}</code> プレースホルダのテンプレートとして扱われ、実行時にユーザの検索クエリ文字列で置き換えられます。検索文字列など他の値が URL テンプレート末尾にクエリ文字列として追加されることもあります。</li> - <li>上に示す favicon URL は HTTP URL ではなく画像データを Base64 でエンコードした dataURI (長すぎるので省略しています) になります。 ブラウザの初回起動時、ユーザがインターネットに繋がっていなくともアイコンを表示するため、HTTP URL ではなく dataURL にすることが推奨されています。</li> - <li>単一のビルドでも複数のカスタマイズを 6 桁の数字のコードで指定されるネットワークや国に応じて適用できます。6 桁コードは MCC コードと MNC コードの組み合わせで、それぞれ桁数が少ない場合は 0 で埋めて 3 桁とします。</li> - <li>最初にデフォルト設定を適用するとき、ブラウザはまず MCC と MNC コードに正確に一致するものを探しますが、一致するものが無い場合は MCC+000 のものを探し、それもなければ 000+000 にフォールバックします。</li> - <li>Gaia をバージョン間でアップグレードする場合、新しいカスタマイズはそのカスタマイズがアップグレード対象となる新バージョンの Gaia での新機能である場合にのみ適用されます。以前のバージョンで指定済みのカスタマイズは上書きされません。</li> -</ul> - -<div class="note"> -<p><strong>Note</strong>: ブラウザアプリではブックマークを逆順で表示するため、JSON ファイルで最初のブックマークは最後に表示されます。</p> -</div> - -<h3 id="Single_variant_customization_to_override_list_of_providers_and_Rocketbar_search_provider">Single variant customization to override list of providers and Rocketbar search provider</h3> - -<ol> - <li>The default Rocketbar search provider and list of providers can also be customized per MCC/MNC — data added the first time the relevant SIM card is inserted into the phone — by specifying them in JSON files in your distribution directory: - <ul> - <li>The list of providers per MCC/MNC is specified in <a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/mobizilla/mobizilla_search.json">mobizilla_search.json</a> in our customization sample:</li> - <li>The default Rocketbar search provider is specified in <a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/mobizilla/mobizilla_default_search.json">mobizilla_default_search.json</a> in our customization sample.</li> - </ul> - </li> - <li><a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/variant.json">variant.json</a> then defines which <code>.json</code> file is used to specify the settings for each MCC/MNC pair; see <a href="https://github.com/mozilla-b2g/gaia/blob/master/customization/variant.json#L47-L48">lines 47–48</a> in our sample: - <pre class="brush: json">"search": "mobizilla/mobizilla_search.json", -"default_search": "mobizilla/mobizilla_default_search.json",</pre> - </li> - <li><code>variant.json</code> is placed in the root of your distribution directory.</li> - <li>In order to apply the single variant configuration you have to set the <code>GAIA_DISTRIBUTION_DIR</code> variable to the path of your distribution directory when building Gaia.</li> -</ol> - -<h3 id="Data_and_messaging_settings">Data and messaging settings</h3> - -<p>Device data and messaging settings are runtime-customizable.</p> - -<p>To apply specific settings, change <code>gaia/shared/resources/apn/apns_conf_local.xml</code>, simply adding or editing carrier blocks as required:</p> - -<pre class="brush: xml"> <apn carrier="Test Network" - mcc="001" - mnc="01" - apn="internet" - user="user" - password="password" - proxy="127.0.0.1" - port="8080" - mmsc="http://127.0.0.1" - mmsproxy="127.0.0.1" - mmsport="8080" - authtype="0" - type="default,supl,mms" - /></pre> - -<h3 id="Voicemail_and_cell_broadcast_settings">Voicemail and cell broadcast settings</h3> - -<p>To apply specific voicemail and cell broadcast settings, change <code>gaia/shared/resources/apn/operator_variant.xml</code>. Add or edit a carrier block, changing attributes as needed:</p> - -<pre class="brush: xml"> <operator carrier="Test Network with Operator Variant Settings" - mcc="001" - mnc="01" - cellBroadcastSearchList="0,1,2,3" - voicemail="999999" - /></pre> - -<h3 id="WAP_user_agent_profile">WAP user agent profile</h3> - -<p>The WAP user agent profile is another app that supports runtime customization. It overrides the user agent information when sending WAP packets, based on MCC/MNC. The profile overriding has <code>url</code> and <code>tagname</code> parts, but we only support <code>url</code> in our current implementation.</p> - -<p>The WAP user agent profile uses the same coding style for its key as the browser app, although "000000" is used as the default profile. An example follows:</p> - -<pre class="brush: js"> { - "000000": { - "url": "http://example.url/default.xml" - }, - "123001": { - "url": "http://example.url/custom123001.xml" - } - }</pre> - -<p>In this example, the <code>url</code> of the default profile is <code>http://example.url/default.xml</code>; for MCC = 123 and MNC = 001, the <code>url</code> <code>is http://example.url/custom123001.xml</code>. If there was another ic card with MCC = 123 and MNC = 100, its <code>url</code> would be <code>http://example.url/default.xml</code>.</p> - -<p>If the 000000 is removed from this example, like so:</p> - -<pre class="brush: js"> { - "123001": { - "url": "http://example.url/custom123001.xml" - } - }</pre> - -<p>the UA profile <code>url</code> of the ic card with MCC = 123 and MNC = 001 is now overridden as <code>http://example.url/custom123001.xml</code>. No others will be overridden.</p> - -<p>If we have the "000000" as before, but we also have a "123001" case with no <code>url</code> inside it, like so:</p> - -<pre class="brush: js"> { - "000000": { - "url": "http://example.url/default.xml" - }, - "123001": {} - }</pre> - -<p>All UA profile urls will now be overridden as <code>http://example.url/default.xml</code></p> - -<h3 id="Applications">Applications</h3> - -<p>Applications installed in Firefox OS can be customized at runtime, in a number of ways (see also <a href="/en-US/Firefox_OS/Platform/Gaia/Hacking#Customizing_the_build-time_apps">Customizing the build-time apps</a>). Perhaps the most powerful way is to edit the <code>variant.json</code> configuration file, which allows apps to be selectively installed and placed in the desired position in the homescreen, depending on the MCC/MNC. The customized applications will be added to the standard applications list.</p> - -<p>The relevant part of the <code>variant.json</code> file typically looks like so.</p> - -<pre class="brush: js"> { - "apps": { - "puzzle": - { - "manifestURL": "https://owd.tid.es/store/packages/fe8e4a866c518a42db9d2041568684c1.webapp" - }, - "store": - { - "manifestURL": "https://owd.tid.es/store/manifest.webapp", - "installOrigin": "https://www.openwebdevice.com" - } - }, - "operators": [ - { - "id": "movistar-co", - "mcc-mnc": [ - "214-01", - "214-02" - ], - "apps": [ - { - "id": "store", - "screen": 0, - "location": 2 - } - ] - }, - { - "id": "movistar-mx", - "mcc-mnc": [ - "215-23" - ], - "apps": [ - { - "id": "store", - "screen": 0, - "location": 2 - }, - { - "id": "puzzle" - } - ] - } - ] - }</pre> - -<ul> - <li>The first object of the JSON is called <code>apps</code>, and defines the custom applications to be copied at buildtime. The example uses two applications, one hosted (store) and one packaged (puzzle). Notice that while packaged apps only require the <code>manifestURL</code>, hosted ones also need the <code>installOrigin</code> in order to download them.</li> - <li>The second object, called <code>operators</code>, is responsible of the configuration based on MCC/MNC. The object contains an array of objects for each MCC/MNC pair. These objects define the <code>id</code> of the operator, a MCC/MNC list for the configuration and a list of <code>apps</code> objects defining which applications are going to be installed at runtime in each case.</li> - <li>Each <code>apps</code> object requires an <code>id</code> property and has two optional arguments to set the position in the homescreen: - <ul> - <li>The <code>screen</code> property sets the screen number.</li> - <li>The <code>location</code> property sets the position on that screen.</li> - </ul> - </li> -</ul> - -<h3 id="Other_single_variant_customizations">Other single variant customizations</h3> - -<p>The same file <code>variant.json</code> file — used to configure applications at runtime depending on the MCC/MNC — also allows you to configure specific resources by adding some attributes under each operator object. Thus, an operator can have the following settings:</p> - -<pre class="brush: js"> { - "apps": { - ... - }, - "operators": [ - { - "id": "movistar-co", - "mcc-mnc": [ - "214-01", - "214-02" - ], - "apps": [ - { - "id": "store", - "screen": 0, - "location": 2 - } - ], - "support_contacts": "resources/support_contacts_movistar.json", - "default_contacts": "resources/contacts_movistar.json", - "ringtone": { - "path": "resources/Movistar_Mid_ABR_128kbps.ogg", - "name": "Tono Movistar" - }, - "wallpaper": "resources/customize.jpg", - "keyboard": "resources/keyboard_movistar.json", - "network_type": "resources/network_type_movistar.json", - "known_networks": "resources/known_networks_movistar.json", - "data_ftu": true, - "sms": "resources/sms_movistar.json", - "topsites": "resources/topsites_movistar.json", - "bookmarks": "resources/bookmarks_movistar.json", - "data_roaming": true, - "power": { - "poweron": { - "video": "app://operatorresources/resources/power/latam_power_on.mp4" - }, - "poweroff": { - "video": "resources/latam_power_off.mp4" - } - }, - "nfc": true - } - ... - ] - } -</pre> - -<p><span style="line-height: 1.5;">And here are the details of the specific resources for each operator.</span></p> - -<h4 id="Support_contacts">Support contacts</h4> - -<p><code>support_contacts</code> specifies a path to a file containing contacts to be shown on the help screen (<code>Settings > Help</code>), offering the same functionality as <a href="#support.json">support.json</a>. The file format is:</p> - -<pre class="brush: js"> { - "onlinesupport": { - "title": "Mozilla Support", - "href": "http://test.mozilla.org/support" - }, - "callsupport1": { - "title": "Call Support (Primary)", - "href": "tel:14155550001" - }, - "callsupport2": { - "title": "Call Support (Secondary)", - "href": "tel:14155550002" - } - }</pre> - -<h4 id="Default_contacts">Default contacts</h4> - -<p><code>default_contacts</code> contains the path to a file containing contacts that will be preloaded to the Contacts application, depending on the MCC/MNC pair present at run time. The section names are the MCC/MNC pair, and section contents should be an array of contacts following the same format as <a href="#contacts.json">contacts.json</a>. For example:</p> - -<pre class="brush: js"> { - "123123": - [ - {name: ["John Doe"]}, - // etc - ], - } -</pre> - -<h4 id="Ringtone">Ringtone</h4> - -<p><code>ringtone</code> sets the default ringtone and contains two attributes, both mandatory:</p> - -<ul> - <li><code>path</code>: The path to the ringtone audio file.</li> - <li><code>name</code>: The name to display when the ringtone is shown in settings.</li> -</ul> - -<h4 id="Wallpaper">Wallpaper</h4> - -<p><code>wallpaper</code> contains the path to the image file (PNG) that will be set as the default wallpaper.</p> - -<h4 id="Keyboard_settings">Keyboard settings</h4> - -<p><code>keyboard</code> contains the path to a file containing keyboard settings configuration information. The file format is as follows:</p> - -<pre class="brush: js"> { - "keyboard.vibration": true, - "keyboard.autocorrect": false, - "keyboard.clicksound": true, - "keyboard.wordsuggestion": false - }</pre> - -<h4 id="Network_Display_Indicator">Network Display Indicator</h4> - -<p><code>network_type</code> contains the path to a file that will hold an associated text that will be shown to the user when that network is being used by the device — for each of the network types supported by the device. The text will be shown on the Settings app, status bar, and quick settings.</p> - -<p>The status bar and all the occurrences on the Settings app will use the text value indicated in the file. For quick settings the file must contain a <code>data_sprite</code> key that will point to a css sprite holding the icons for all the supported network types.</p> - -<p>The <code>data_sprite</code> key must always be a URL pointing to a preinstalled app on the device. A file format example follows:</p> - -<pre class="brush: js"> { - "lte": "4G", - "ehrpd": "4G", - "hspa+": "H+", - "hsdpa": "H", - "hsupa": "H", - "hspa": "H", - "evdo0": "E", - "evdoa": "E", - "evdob": "E", - "1xrtt": "1x", - "umts": "3G", - "edge": "E", - "is95a": "2G", - "is95b": "2G", - "gprs": "2G", - "wcdma/gsm": "2G/3G GSM auto", - "gsm": "2G GSM", - "wcdma": "3G GSM", - "wcdma/gsm-auto": "2G GSM Preferred", - "cdma/evdo": "2G/3G CDMA auto", - "cdma": "2G CDMA", - "evdo": "3G CDMA", - "wcdma/gsm/cdma/evdo": "2G-3G GSM/CDMA auto", - "data_sprite": "app://operatorresources/resources/quick_settings/images/data-sprite-latam.png" - }</pre> - -<h4 id="Pre-populate_WiFi_SSIDs">Pre-populate WiFi SSIDs</h4> - -<p><code>known_networks</code> contains the path to a file containing descriptions of known wifi networks. Here is a file format example:</p> - -<pre class="brush: js"> { - "OPEN": { - "ssid": "OPEN" - }, - "WEP-WITHOUTKEY": { - "ssid": "wifi-WEP-WITHOUTKEY", - "keyType": "WEP" - }, - "WEP_KEY": { - "ssid": "WEP-KEYOK", - "keyType": "WEP", - "capabilities": "", - "password": "constrasenya1" - }, - "WEP_KEYOK_WPS": { - "ssid": "WEP-KEYOK-WPS", - "keyType": "WEP", - "capabilities":"WPS", - "password": "constrasenya1" - }, - "wpa": { - "ssid": "macaFirefoxHotspot", - "keyType": "WPA-PSK" - }, - "WPA-PSK_KEY": { - "ssid": "WPA-PSK-KEYOK", - "keyType": "WPA-PSK", - "capabilities":"", - "password": "constrasenya1" - }, - "WPA-PSK_KEY_WPS": { - "ssid": "WPA-PSK-KEYOK-WPS", - "keyType": "WPA-PSK", - "capabilities":"WPS", - "password": "constrasenya1" - }, - "WPA-EAP-PSK_WITHOUTEAP": { - "ssid": "WPA-EAP-WITHOUTKEY", - "keyType": "WPA-EAP" - }, - "WPA-EAP_SIM": { - "ssid": "WPA-EAP-SIM", - "keyType": "WPA-EAP", - "eap": "SIM", - "password": "constrasenya1" - }, - "WPA-EAP-KEYOK-WPS": { - "ssid": "WPA-EAP-KEYOK-WPS", - "keyType": "WPA-EAP", - "eap": "PEAP", - "capabilities": "WPS", - "password": "constrasenya1", - "identity": "HI\\usr" - }, - "WPA-EAP-KEYOK-CAPOK-PHASE2-OK": { - "ssid": "WPA-EAP-KEYOK-CAPOK-PHASE2", - "keyType": "WPA-EAP", - "eap": "PEAP", - "capabilities":"WPS", - "phase2": "PAP", - "password": "constrasenya1", - "identity": "HI\\usr" - } - }</pre> - -<h4 id="Data_enableddisabled_by_default_during_FTU">Data enabled/disabled by default during FTU</h4> - -<p>The <code>data_ftu</code> attribute defines if the data setting is enabled or disabled by default during FTU. This is a boolean value (true or false).</p> - -<h4 id="Maximum_number_of_SMS_to_convert_to_MMS">Maximum number of SMS to convert to MMS</h4> - -<p><code>sms</code> contains the path to a file holding some customization details for SMS. Currently the only attribute that can be set is the maximum number of SMS messages that can be converted to MMS. A file format example follows:</p> - -<pre class="brush: js"> { - "smsMaxConcat": 9 - }</pre> - -<h4 id="Pre-populate_browser_top_sites">Pre-populate browser top sites</h4> - -<p> </p> - -<p><code>topsites</code> contains the path to a file containing an array of topsite objects. A topsite object has three parameters: the <code>title</code> (string), the <code>uri</code> (url) and the <code>iconPath</code>. Here is a file format example:</p> - -<pre class="brush: js">{ - "topsites": [ - { - "title": "Movistar", - "uri": "http://www.movistar.es", - "iconPath": "resources/movistar.ico" - } - ] -}</pre> - -<h4 id="Bookmarks">Bookmarks</h4> - -<div class="note"> -<p><strong>Note</strong>: For information about customizing bookmarks on earlier versions of Firefox OS see the <a href="#Browser_bookmarks_and_default_search_engines">Browser bookmarks and default search engines</a> section.</p> -</div> - -<p><code>bookmarks</code> contains the path to a file containing an array of bookmark objects. The bookmark object has three parameters: the <code>title</code> (string), the <code>uri</code> (url) and the <code>iconPath</code>. File format example:</p> - -<pre class="brush: js">{ - "bookmarks": [ - { - "title": "Google", - "uri": "http://www.google.es", - "iconPath": "resources/google.ico" - } - ] -}</pre> - -<h4 id="Data_roaming_onoff_by_default">Data roaming on/off by default</h4> - -<p>The <code>data_roaming</code> attribute defines if data roaming is enabled by default; its value is a boolean (<code>true</code> or <code>false</code>).</p> - -<h4 id="Power_onoff_operator_animation">Power on/off operator animation</h4> - -<p>Custom power on/off animations are configured using an object as a value for the <code>power</code> attribute. The object contains two attributes, one for the boot animation when the device is switched on (<code>poweron</code>) and the other one for the animation when the device shuts down. Both attributes are configured with a key value identifying the resource to be loaded — the resource key should be <code>video</code> and the value is a path to the resource. Note that the path can be a local path to the resource in the build machine filesystem (for example <code>resource/afile.png</code>) or a URI to file inside a Gaia application that will be installed in the device (for example <code>app://name.domain/path/to/video.mp4</code>).</p> - -<p>Here is an example of the full structure of a power object:</p> - -<pre class="brush: js">"power": { - "poweron": { - "video": "app://operatorresources/resources/power/latam_power_on.mp4" - }, - "poweroff": { - "video": "resources/Power_off_test.mp4" - } -}</pre> - -<h4 id="NFC_enableddisabled_by_default">NFC enabled/disabled by default</h4> - -<p>The <code>nfc</code> attribute defines if Near Field Communication is enabled by default; its value is a boolean (<code>true</code> or <code>false</code>).</p> - -<h2 id="Building_Prebundled_web_apps">Building Prebundled web apps</h2> - -<p>Earlier on, we discussed the <a href="#apps.list">apps.list</a> file, and how this can be used to add built-in apps to your build. These apps need to be built in a certain way, then added to the <code>gaia/external-apps</code> directory.<br> - <br> - To build Prebundled web apps, you can utilize our <a href="https://github.com/mozilla-b2g/preload-app-toolkit">preload-app-toolkit</a> script, which builds a prebundled webapp from a given <code>.webapp</code> URL. It can accept hosted web app manifests, or packaged app mini-manifests.</p> - -<h3 id="To_bundle_a_single_web_app">To bundle a single web app</h3> - -<p>Find a <code>.webapp</code> URL that want to bundle, and run the command to bundle it, as follows:</p> - -<pre>python preload.py http://<webapp url></pre> - -<p>This will generate a directory with the same name as the target webapp's name, e.g. <code>accuweather</code>.</p> - -<h3 id="Batch_process_to_bundle_multiple_web_apps">Batch process to bundle multiple web apps</h3> - -<p>You can create a file called <code>list</code>, containing all the app names and <code>.webapp</code> locations you want to bundle all together in a batch. The format is:</p> - -<pre>myFirstApp,https://www.firstapp.com/manifest.webapp -mySecondApp,https://www.secondapp.com/manifest.webapp -etc.</pre> - -<p>You need to save this <code>list</code> file in the same directory as our <code>preload.py</code> script, then run the following command:</p> - -<pre>$ python preload.py</pre> - -<p>The <code>preload.py</code> script will parse the list file and do the batch conversion for you.</p> - -<h3 id="Prebundled_web_app_metadata.json">Prebundled web app metadata.json</h3> - -<p>Every Prebundled webapp should have a <code>metadata.json</code> file contained within its root directory. The <a href="https://marketplace.firefox.com/">Firefox Marketplace</a> counts on this <code>metadata.json</code> file for auto-updating. This file is auto-generated by the <code>preload.py</code> script.<br> - <br> - For a hosted webapp, the properties of <code>metadata.json</code> are:</p> - -<ul> - <li><code>origin</code>: The domain name of the webapp url.</li> - <li><code>manifestURL</code>: The location of the web app manifest for a hosted app.</li> - <li><code>installOrigin(hosted)</code>: The location the app was installed from in the customization. For customizations, this should always be <code>https://marketplace.firefox.com</code>.</li> - <li><code>etag</code>: This is the webapp manifest <code>etag</code> used for checking for updates. The <code>etag</code> value is retrieved by the <code>parse</code> <code>html</code> header when downloading the <code>.webapp</code> file from the server.</li> - <li><code>external</code>: This is a required field in Firefox OS 2.1+. The value is <code>true</code> for prebundled apps, and <code>false</code> for non-external apps. This is used for checking if fine tuning the file order in the application.zip is necessary (fine tuning will occur if the value is set to <code>true</code>).</li> -</ul> - -<p>For a packaged webapp, the properties of <code>metadata.json</code> are:</p> - -<ul> - <li><code>manifestURL</code>: This should be the location of the mini-manifest. For customizations right now, the <code>manifestURL</code> will always be a mini-manifest from <code>marketplace.firefox.com</code>.</li> - <li><code>installOrigin(hosted)</code>: The location the app was installed from in the customization. For customizations, this should always be <code>https://marketplace.firefox.com</code>.</li> - <li><code>etag</code>: This is the webapp manifest <code>etag</code> used for checking for updates. The <code>etag</code> value is retrieved by the <code>parse html</code> header when downloading the <code>.webapp</code> file from the server.</li> - <li><code>external</code>: This is a required field in Firefox OS 2.1+. The value is <code>true</code> for prebundled apps, and false for For non-external apps it should be false. Use for checking if fine tunining file order in the application.zip is needed ( fine tune if the value is true ).</li> - <li><code>packageEtag</code>: This is the app package's <code>etag,</code> retrieved by the <code>parse html</code> header when downloading the package from the server once an update has been detected.</li> -</ul> - -<h3 id="Packaged_web_app_auto-updates_update.webapp_format">Packaged web app auto-updates: update.webapp format</h3> - -<p>Packaged webapps have an <code>update.webapp</code> file, which is used for auto-updates. The format is similar to <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest"><code>manifest.webapp</code></a>, but you have to include additional attributes:</p> - -<ul> - <li><code>package_path</code> is the path to the packaged (zip) file.</li> - <li><code>size</code> is the package size, in bytes.</li> -</ul> - -<pre class="brush: js"> { - "name": "Game Pack", - "icons": { - "60": "/icon-60.png", - "128": "/icon-128.png" - }, - "version": "1.1.2", - "package_path": "/application.zip", - "developer": { - "url": "http://abc.com", - "name": "abc Inc." - }, - "release_notes": "2nd release", - "locales": { - "es": { - "launch_path": "/index-es.html", - "description": "show me customization." - } - }, - "size": 5460141 - }</pre> - -<h3 id="Pre-bundled_web_app_AppCache_format">Pre-bundled web app AppCache format</h3> - -<p>If your web app's <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest"><code>manifest.webapp</code></a> has an <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest#appcache_path"><code>appcache_path</code></a> included in it, the <code>preload.py</code> script will fetch the AppCache file pointed to, and pre-fetch all the resources described in the AppCache file. The Pre-bundled webapp AppCache is a bit different, as Gecko recognizes a different format, but this is auto-generated by the <code>preload.py</code> script.</p> - -<p>The translated file structure is:</p> - -<pre> <app name> - ├── manifest.webapp - ├── metadata.json - └── cache - ├── manifest.appcache - └── <resources> -</pre> - -<div class="note"> -<p><strong>Note</strong>: If a different name is given to the AppCache file in the <code>appcache_path</code>, it needs to be renamed to <code>manifest.appcache</code> and saved in the <code>cache</code> folder.</p> -</div> - -<h2 id="FAQ">FAQ</h2> - -<p>The following is a list of common questions and answers about market customizations.</p> - -<h3 id="What_can_be_customized">What can be customized?</h3> - -<ul> - <li>Brand - <ul> - <li>Start up & Power off animations</li> - <li>Network name on Lock screen and in Utility Tray</li> - <li>First Run Experience logos</li> - </ul> - </li> - <li>Localization - <ul> - <li>Installed locales (shared/locales)</li> - <li>Default locale (<code>GAIA_DEFAULT_LOCALE</code>)</li> - <li>Default keyboard layouts (Multiple keyboards can be enabled, not tied to locale)</li> - </ul> - </li> - <li>Apps - <ul> - <li>Preinstalled third party apps</li> - <li>Home grid app placement</li> - <li>Licensing</li> - <li>In-app payment provider configuration</li> - </ul> - </li> - <li>Settings - <ul> - <li>Default screen brightness</li> - <li>Device Information — Model (name or #)</li> - <li>Device Information — Legal Information link or content</li> - <li>Help — Online support link</li> - <li>Help — Call support phone number</li> - <li>Help — User guide link</li> - <li>APN</li> - <li>MMS message size limitation</li> - <li>MMS message retrieval mode</li> - </ul> - </li> - <li>Media preloads - <ul> - <li>Wallpapers</li> - <li>Music</li> - <li>Videos</li> - <li>Gallery</li> - </ul> - </li> - <li>Sounds - <ul> - <li>Start up & Power off</li> - <li>Ring tone</li> - <li>Message tone</li> - </ul> - </li> - <li>Everything.me - <ul> - <li>Option to enable or disable the feature</li> - <li>Set of default categories and apps</li> - </ul> - </li> - <li>Browser - <ul> - <li>Default bookmarks</li> - <li>Default search engine</li> - </ul> - </li> -</ul> - -<h3 id="How_and_where_do_you_define_a_customized_app_grid_layout">How and where do you define a customized app grid layout?</h3> - -<p>This is currently defined in <code>gaia/apps/homescreen/js/init.json</code>. <code>customize.py</code> takes care of building this in the correct format.</p> - -<h3 id="Is_it_possible_to_define_whether_an_app_is_removable_in_the_homescreen_configuration">Is it possible to define whether an app is removable in the homescreen configuration?</h3> - -<p>No. All apps in <code>/system/b2g</code> are non-removable; those in <code>/data</code> are removable. Since all preloaded apps come from <code>/system</code>, we need to move them to <code>/data</code> if we want them to be removable.</p> - -<h3 id="How_do_you_add_a_preloaded_packaged_or_hosted_app_to_the_build">How do you add a preloaded packaged or hosted app to the build?</h3> - -<p>These should both be added to <code>gaia/external-apps</code>. <code>customize.py</code> will allow entry of the URL to a packaged app or a hosted app manifest, and will download it into the correct place and create <code>metadata.json</code>. This will serve as the "build step".</p> - -<p>We have different metadata for packaged and hosted apps to distinguish them.</p> - -<p>See <a href="#Building_Prebundled_web_apps">Building Prebundled web apps</a> for more details.</p> - -<h3 id="How_do_you_prepare_a_preloaded_hosted_app_for_initial_offline_support">How do you prepare a preloaded hosted app for initial offline support?</h3> - -<p>You need to provide all the files to cache in the directory <code>external-apps/MY_APP/cache</code>, along with the AppCache manifest.</p> - -<p>See <a href="#Building_Prebundled_web_apps">Building Prebundled web apps</a> for more details.</p> - -<h3 id="What_Marketplace_Customizations_Are_Possible">What Marketplace Customizations Are Possible?</h3> - -<ul> - <li>On-device - <ul> - <li>The customization on the device regarding payments is limited to populating a whitelist of payment providers. There are a couple prefs for this, documented on <a href="https://wiki.mozilla.org/WebAPI/WebPayment#Testing">Web Payments</a>.</li> - <li>For example, Mozilla B2G phones will ship with <a href="https://github.com/mozilla/webpay#readme">our implementation of the payment provider</a> in a whitelist so that it is accessible to the Marketplace and third party apps for in-app purchases via <a href="/ja/docs/Web/API/Navigator/mozPay" title="mozPay 関数は決済の実行に使用され、アプリ内課金を実現します。"><code>navigator.mozPay</code></a>. Some more info on providers is available at <a href="https://wiki.mozilla.org/WebAPI/WebPaymentProvider">Web Payment Providers</a>.</li> - <li>If any carrier wants to implement their own payment processor and whitelist it, they are free to do so. However, the <a href="https://marketplace.firefox.com/">Firefox Marketplace</a> is only configured to enable purchases through Mozilla's payment provider at this time.</li> - </ul> - </li> - <li>On-server - <ul> - <li>The merchant app sets a price point for the product and Mozilla's backend payment processor chooses the currency based on the user's network. None of currency, regional taxation, or l10n can be controlled by device configs (yet).</li> - <li>Category in the Firefox Marketplace specific to the carrier with your operator logo/name in the region.</li> - <li>Featured apps / promotions in the Firefox Marketplace, specified by the Carrier.</li> - </ul> - </li> -</ul> - -<p>There are many other considerations when adding a region or carrier. See <a href="https://wiki.mozilla.org/Marketplace/AddingRegionsAndCarriers">Adding Regions and Carriers</a> for more details.</p> - -<h3 id="How_do_I_package_and_store_per-market_customization_changes">How do I package and store per-market customization changes?</h3> - -<p>Store only the files changed; currently these are in various locations in the filesystem. In B2G v2, we are considering consolidating these into a single location, similar to the branding directories we have for Gecko.</p> - -<h3 id="How_do_you_build_the_product_with_a_specific_market's_configuration">How do you build the product with a specific market's configuration?</h3> - -<p>Copy your changed files into a checkout of Gaia, and build using that modified Gaia. <code>customize.py</code> will provide a UI for setting relevant switches, create the appropriate files in the appropriate places in the gaia checkout, and then build the profile from that Gaia.</p> - -<h3 id="How_to_customize_power_on_off_animation">How to customize power on / off animation?</h3> - -<ul> - <li>This animation uses <a href="http://www.droidforums.net/forum/droid-hacks/33932-bootanimation-zip-file-explained.html">Android's <code>bootanimation.zip</code>/<code>desc.txt</code> format</a>.</li> - <li>This lets us create multi-part animation sequences where we can specify things like size, framerate, and number of times an animation sequence loops for each part.</li> - <li>There is also an animated PNG transition animation that bridges the gap between this <code>bootanimation.zip</code> sequence and the transition to the lockscreen, which is performed by Gaia.</li> - <li>The size on disk of the default animation is 8.2MB (looping) + 3.6MB (frame 18 transition) = 11.8MB total.</li> - <li>Currently, the shutdown animation is a custom css animation based on a design specified in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=809342" title="FIXED: [System] Need a shutdown animation implementation">バグ 809342</a>.</li> -</ul> diff --git a/files/ja/archive/b2g_os/developing_gaia/running_the_gaia_codebase/index.html b/files/ja/archive/b2g_os/developing_gaia/running_the_gaia_codebase/index.html deleted file mode 100644 index 2303dd84b3..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/running_the_gaia_codebase/index.html +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: Gaia コードベースを実行する -slug: Archive/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase -tags: - - Contributing - - Firefox - - Gaia - - OS - - running firefox os localy - - コントリビュート -translation_of: Archive/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<p>この記事ではGaiaコードベースがローカルにてどう実行されるか、セットアップでどんなツールが使えるのかを一通り詳しく見て行きます。</p> - -<p>まず初めに、Gaiaにコントリビュート(貢献)するには、GeckoやB2Gをビルドする<strong>必要はない</strong>ことを理解すべきです。ただGaiaのソースコードをダウンロードし、同じ方法で実行、編集できる事が必要です。</p> - -<p>Gaiaを実行するには、いくつかの方法があります:</p> - -<ul> - <li>更新されたGaiaビルドを電話機に焼く</li> - <li>WebIDEの内部でGaiaを実行する</li> - <li>Firefox Muletツール内でデスクトップのGaiaを起動する</li> -</ul> - -<p>異なる方法で実行する上での正確な情報は<a href="/ja/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia">Gaiaを実行する色々な方法</a>のページで見つかり、加えて要求されるより詳細な情報へのリンクがあります。一般に、これらは最も複雑なもの(しかし最も現実的な体験がある)から最も易しいもの(しかし最も現実的でない)の順番に並んでいます。</p> - -<p>この記事ではデスクトップ版 Firefox Mulet か WebIDE 内で実行するのに集中します。— Gaiaコードベースへの大半の変更に対して、これが更新をテストする最速のメカニズムになります、しかし明らかにいくつかの機能 (デバイスAPI群や電話機のハードウェアとのやりとりのようなもの) で実機端末が必要となるものもあります。</p> - -<p><strong>記</strong>: これ以上のGaiaヘルプを得るのに最良な場所は、IRCチャンネルの #fxos (<a href="https://wiki.mozilla.org/IRC">Mozilla IRC</a>に詳細情報あり) と <a href="https://lists.mozilla.org/listinfo/dev-fxos">dev-fxos のメーリングリスト</a>です。</p> - -<h2 id="独自ビルドのGaiaを実行する">独自ビルドのGaiaを実行する</h2> - -<p><strong>記</strong>: 簡単で、一発のビルドプロセスのために、<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Developing_Gaia/Gaia_tools_reference#Foxbox">Foxbox</a> ツールを試してください。Windows ユーザは、不通のGaiaビルド手順が標準Windows環境で動作しないために、特にこれの恩恵を受けます。</p> - -<ol> - <li>最初に、 <a href="https://github.com/mozilla-b2g/gaia">GithubのGaiaリポジトリ</a>をフォークします。</li> - <li>次に、ローカルにクローンします。: - <pre>git clone https://github.com/your-username/gaia.git</pre> - </li> - <li>upstreamをこのように追加します: - <pre>cd gaia -git remote add upstream https://github.com/mozilla-b2g/gaia</pre> - </li> - <li>今はGaiaのデバッグプロファイルを作る必要があります。リポジトリフォルダで<code> make を実行することで、</code><code>profileディレクトリ内に</code>任意デバッグ用のプロファイルが作成されます。</li> - <li>デバッグプロファイルが生成された時、<em>"Profile Ready: please run [b2g|firefox] -profile /Users/chris/git/gaia/profile" という行を伴ったメッセージが出てきます。これは無視して、その代わりに</em> <a href="https://developer.mozilla.org/ja/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia#Using_Gaia_in_Firefox_Mulet">Mulet</a> や <a href="https://developer.mozilla.org/ja/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia#Using_Gaia_inside_WebIDE_with_a_Firefox_OS_Simulator">WebIDE</a> を、リンク先の手順を使って実行します。</li> -</ol> - -<h2 id="トラブルシューティングと既知の問題">トラブルシューティングと既知の問題</h2> - -<h3 id="Error_Python_実行ファイルpython3_は_v3.x_で、これは_gyp_によりサポートされていない。">Error: Python 実行ファイル"python3" は v3.x で、これは gyp によりサポートされていない。</h3> - -<p>いくつかのLinux ディストリビューション (例: Archlinux)で、デフォルトの<code>python</code><code>はpython3です。これは</code> <code>npm</code> がコマンドを実行する (例. テスト実行時) 時に失敗の元になります。きっぱりと修正するために、次のコマンドを実行できます:</p> - -<pre><code>npm config set python python2</code></pre> - -<p> </p> - -<p>この <a href="http://stackoverflow.com/questions/20454199/how-to-use-a-different-version-of-python-duing-npm-install">Stack Overflow ページ</a> で他の解決法を探せます。</p> - -<p>次に <code>node_modules</code> ディレクトリを削除して、失敗したコマンドを再実行します。</p> - -<h3 id="NodeJSをインストールして下さい_--_(linuxでは_aptitude_を、osxでは_homebrew_を使う)">NodeJSをインストールして下さい -- (linuxでは aptitude を、osxでは homebrew を使う)</h3> - -<p>それで、インストールしたつもりでもこのエラーが出ます。Debian や、Ubuntuのような他のDebianベースのディストリビューションで起こりえます。こうしたディストリビューションでは、NodeJS は <code>nodejs</code> パッケージに含まれていて、全て正しくセットアップするには <code>nodejs-legacy</code> パッケージをインストールできます:</p> - -<pre><code>sudo aptitude install nodejs-legacy</code></pre> - -<p> </p> - -<p>このパッケージのインストールに問題がある場合、 あなたは<a href="http://www.ubuntuupdates.org/ppa/chris_lea_nodejs">Chris Lea's PPA for Node</a>を使っているかもしれません; 先に進む前にこれを削除して下さい。</p> - -<p>異なる Gaia のブランチでは異なる node のバージョンが必要になります。; 例えば以前 node 0.10 と v2.5 のブランチで構築し、master ブランチに切り替えたい場合、以下のように実施します:</p> - -<pre><code>npm use 4.2 && rm -r node_modules && npm install --production</code></pre> - -<p><img></p> diff --git a/files/ja/archive/b2g_os/developing_gaia/submitting_a_gaia_patch/index.html b/files/ja/archive/b2g_os/developing_gaia/submitting_a_gaia_patch/index.html deleted file mode 100644 index f8a98981c5..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/submitting_a_gaia_patch/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: Gaia のパッチを提出する -slug: Archive/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch -tags: - - Bugzilla - - Firefox OS - - Gaia - - コントリビュート - - パッチ -translation_of: Archive/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch ---- -<div class="summary"> -<p>これまでに、コード変更を完了し、それがGaiaを壊していないか検証しているはずです。次のステップは中心リポジトリにパッチを提出する事で、この記事ではその説明を意図しています。</p> -</div> - -<p>Gaia にパッチを送るのは、慣れるまでややトリッキーでしょう、なぜなら Bugzilla <strong>と</strong> Github と、正しいシーケンスとするために特殊なフラグを使用することが含まれているためです。</p> - -<h2 id="Autolanderを使った容易なパッチ提出">Autolanderを使った容易なパッチ提出</h2> - -<p><a href="https://github.com/mozilla/autolander">Autolander</a> はGaia (と、一緒に使用されるその他のプロジェクト) にパッチを送るのに要する、多くのステップを自動的に扱うツールであり、その過程の時間短縮とエラー削減になります。Autolander は、プルリクエストとバグを自動で添付したりして、Bugzilla から Github へのワークフローを統合します。Autolander を使用するには:</p> - -<ol> - <li>最初に、bugzilla にバグを登録して、まだ誰もコード変更していない場合に、何を行なっているのかを示します。これは <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20OS">Firefox OS product </a>の下に投稿すべきで、かつあなたのコードが何をするのかについて良い説明を付けます。</li> - <li>今度はパッチの <a href="https://help.github.com/articles/creating-a-pull-request">プルリクエストを作成する</a> 時間です。最初から我々のガイドに従ってきている場合、Gaiaリポジトリをローカルにフォークして一意に名づけたブランチに対して変更を加えているはずです。次に変更を <code>「git add .」</code> して、<code>「git commit -m 'コミットメッセージ'</code>」とします。</li> - <li><code>'<code>コミットメッセージ</code>'</code>にはBugzilla のバグ番号とバグのタイトルを含める必要があります。それに加え、パッチが何を行うのか、誰がコミットしたのかを記述します。例えばこう: - <pre class="brush: bash">Bug 9999999 - Fix that annoying bug R=johndoe</pre> - </li> - <li>github上の、あなたのGaiaフォークにコードをプッシュして、次にコードを含めてもらうためにPR(プルリクエスト)を作成します。</li> - <li>プルリクエストが開かれたら、PR のタイトル内に見つかるバグに対して、自動的に添付されます。</li> - <li>将来的には、添付ファイルが推奨レビューワーから r+ を与えられた時、キーワード項目に <code>autoland</code> キーワードを追加して、Gaia master にコードをランドできるようになります(つまりAutolander はコードをランドするでしょう: PR をマージして、バグに対してコミットを置き、バグが解決済みだとマークするまで) <strong>しかしながら</strong>、現在ここの部分はまだ作業中なので、いまのところは <code>checkin-needed</code> キーワードを追加して、他の適切な人があなたの代わりにランドしてくれるのを待たねばなりません。</li> -</ol> - -<div class="note"> -<p><strong>記</strong>: Autolander はmasterにランドする前に統合テストを実行します。統合テストがパスしない場合、Autolander はコードをランドするのを拒否します。プルリクエストとコミットメッセージにバグ番号が入っているかといった基本的なバリデーションが実行されます。</p> -</div> - -<div class="note"> -<p><strong>記</strong>: プルリクエストは、ランドするのを要求されるためにランドされます。プルリクエストは統合ブランチにマージされ、このブランチ内で並行して統合テストが実行されます。PRが統合テストに失敗した場合、統合ブランチからも拒否されて、残っているコミットから統合ブランチが再度ビルドされます。コミットがパスした場合はmasterをそのコミットまで fast-forward します。</p> -</div> - -<h2 id="手動でのパッチ提出">手動でのパッチ提出</h2> - -<p>何らかの理由で、Autolander に頼りたくない場合、下記の手順に従って、手動でGaiaにパッチを提出します。</p> - -<ol> - <li>最初に、bugzilla にバグを登録して、まだ誰もコード変更していない場合に、何を行なっているのかを示します。これは <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20OS">Firefox OS product </a>の下に投稿すべきで、かつあなたのコードが何をするのかについて良い説明を付けます。</li> - <li>今度はパッチの <a href="https://help.github.com/articles/creating-a-pull-request">プルリクエストを作成する</a> 時間です。最初から我々のガイドに従ってきている場合、Gaiaリポジトリをローカルにフォークして一意に名づけたブランチに対して変更を加えているはずです。次に変更を <code>「git add .」</code> して、<code>「git commit -m 'コミットメッセージ'</code>」とします。</li> - <li><code>'<code>コミットメッセージ</code>'</code>にはBugzilla のバグ番号とバグのタイトルを含める必要があります。それに加え、パッチが何を行うのか、誰がコミットしたのかを記述します。例えばこう: - <pre class="brush: bash">Bug 9999999 - Fix that annoying bug R=johndoe</pre> - </li> - <li>github上の、あなたのGaiaフォークにコードをプッシュして、次にコードを含めてもらうためにPR(プルリクエスト)を作成します。</li> - <li>PR の URL を bugzilla のバグに添付します (<em>Add an attachment</em> のリンクに従い、ファイル入力モードにて添付としてペーストするテキストを選び、PR の URL を添付の内容として入力し、簡単な説明を入力します)。</li> - <li>Bugzilla バグへの PR の添付上に、レビューを依頼します。<code>review: ?</code> フラグを添付物に加えて依頼できるでしょう。次に、あなたのコードが適用されるモジュールのオーナーを入れます(詳細は <a href="https://wiki.mozilla.org/Modules/FirefoxOS">モジュールオーナーのページ</a> を見て下さい。)</li> - <li>パッチをレビューするレビューアが割り当てられるのを待ちます。この時点で、多分レビューアは Github の PR に 変更/修正 を要求するようコメントして、Bugzilla にリンクするでしょう。</li> - <li>レビューアのコメントに対応して、前と同様に PR に更なる変更をプッシュして、 <code>review: ?</code> フラグを外します。</li> - <li>いったんレビューアのコメントが向けられて <code>r+</code> フラグ (レビュー/承認済みを意味します) が付けられると、<a href="https://github.com/ginatrapani/todo.txt-android/wiki/Squash-All-Commits-Related-to-a-Single-Issue-into-a-Single-Commit">全コミットを1つにつぶし(squash)</a><a href="https://github.com/ginatrapani/todo.txt-android/wiki/Squash-All-Commits-Related-to-a-Single-Issue-into-a-Single-Commit">ます</a> (下記の <a href="#Tips_on_Gaia_Rebasing">Tips_on_Gaia_Rebasing</a> の節も読んで下さい。)。</li> - <li>キーワード項目に <code>checkin-needed</code> キーワードを加えます。この時点で誰かがあなたのパッチを Gaia のソースに定着させる (PR をマージするなど) のを待つ必要があります。</li> - <li>おめでとうございます! あなたのコードは Firefox OS の一部になりました!</li> -</ol> - -<div class="note"> -<p><strong>記</strong>: レビュー毎に1つのコミットを突き出すのをお勧めします。</p> -</div> - -<div class="note"> -<p><strong>記</strong>: これ以上のパッチ投稿手順は<a href="https://github.com/mozilla-b2g/gaia/blob/master/CONTRIBUTING.md">contributing.md</a>で見つけられます。</p> -</div> - -<h2 id="GaiaのRebaseについてのTips">GaiaのRebaseについてのTips</h2> - -<p>Gaia の master ブランチは常に(1日に何度も何度も)変更されています。2時間かかるパッチ作成をした後、master ブランチがあなたの下で変わっている事に気づくかもしれません。<br> - <br> - あなたの作業ブランチ (例. <code>my-code-fix</code>) から、最初に rebase を試すのはこのようになります:</p> - -<pre class="brush: bash">git checkout -b my-code-fix-r1 -git pull --rebase upstream master</pre> - -<p>衝突がなければ、このように続けます:</p> - -<pre class="brush: bash">git checkout my-code-fix -git pull --rebase upstream master -git branch -D my-code-fix-r1</pre> - -<p>衝突のある場合、衝突した変更の開発者と一緒に解決して、上記の rebase プロセスを繰り返します。</p> - -<h2 id="エンジニアリングバグに対してステータスを_トラッキングする">エンジニアリングバグに対してステータスを トラッキングする</h2> - -<p>Mozillaは <a href="/en-US/docs/Developer_Guide/Committing_Rules_and_Responsibilities">Sheriff</a>(保安官) という特別権限を持っています。 Sheriff にはコードをマージしたり、ブランチ状態をメンテする責任があります。Firefox OS チーム内にいるテストの失敗を調査するsheriffの数は限られているため、sheriff が不完全なパッチの全てを元に戻すのは困難です。</p> - -<p>Firefox OS では、ゆえに、パッチが動作するか否かの検証で失敗した場合、問題を解決する新しいパッチを定着させるための新しいバグを開くのが好まれます。これはQAとプロマネのチームにトラッキングステータスの問題を引き起こします。</p> - -<p>ゆえに、我々はステータストラッキングバグとエンジニアリングバグを分けています。</p> - -<ul> - <li>ステータストラッキングバグは "meta" キーワードで識別されます。ステータスバグは受容可能な条件を満たさない場合や、再現手順に失敗する場合にも、再度開かれる事があります。</li> - <li>エンジニアリングバグは自動テストに失敗したり、全く動作しない時<strong>だけに</strong>開かれるべきです。あるパッチでエンジニアリングバグの一部分が修正された場合、バグを複製して "see also" 項目にオリジナルのバグへの参照を記し、失敗するポイントを記述します。</li> -</ul> - -<div class="note"> -<p><strong>記</strong>: これはユーザストーリーバグでもあります。プロマネはユーザストーリーの項目にユーザストーリーと需要可能な条件をうめます。</p> -</div> - -<h3 id="たまたまステータストラッキング中のバグを定着させた場合に回復する">たまたまステータストラッキング中のバグを定着させた場合に回復する</h3> - -<p>こうなった場合、パニックにならないで下さい。たまたまパッチを定着させたり、レビューを得たり、トランクに定着させたり、何も修正されていないと報告されたりした場合、なすべきことはここにあります:</p> - -<ol> - <li>Bugzilla の UI の右下隅の "Clone this bug" を押して新規バグを作成し、オリジナルの項目の大半をそこにコピーします。ホワイトボード、キーワード、STR/ユーザのストーリーが新しいバグにコピーされているのを確認します。</li> - <li>新規のバグが古いバグにブロックされるようセットします。新規バグは、新しいステータストラッキングバグになるでしょう。</li> - <li><em>needinfo</em> フラグを使って、適切なプロマネステータストラッキングバグが変更されたのが知れ渡るように警告します。Wiki上にて <a href="https://wiki.mozilla.org/FirefoxOS/Teams">Firefox OSの別のプロマネのメールアドレスを発見</a> できます。</li> - <li>新規のエンジニアリングバグを作成して、故障手順や受容可能な条件を記述します。また、この新規バグを使ってステータストラッキングバグをブロックします。</li> - <li>新規バグの解決法を提供するよう試みます。楽しくハックしましょう!!!</li> -</ol> - -<h2 id="パッチを別のブランチに取り込むには">パッチを別のブランチに取り込むには</h2> - -<p>バグの別バージョンのタグが見られる事もあるでしょう。Firefox OSの古めのブランチにパッチを持ち上げたい場合、パッチを定着させる規約を満たすかどうか確認します。詳細は<a href="https://wiki.mozilla.org/Release_Management/B2G_Landing">B2G Landing page</a>で見つかります。</p> - -<div style="background-color: transparent; color: #000000; position: absolute; top: 1914px; left: 277px; padding: 0px; border-radius: 2px;" id="divLookup"><img></div> diff --git a/files/ja/archive/b2g_os/developing_gaia/testing_gaia_code_changes/index.html b/files/ja/archive/b2g_os/developing_gaia/testing_gaia_code_changes/index.html deleted file mode 100644 index 3ec1fc72ae..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/testing_gaia_code_changes/index.html +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: Gaia のコードの変更をテストする -slug: Archive/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes -tags: - - Firefox OS - - Gaia - - UI - - コントリビュート - - テスト - - 統合 -translation_of: Archive/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p><span class="seoSummary">Gaiaコードベースへの変更が完了して動作がOKと思われる時、次のステップは、プロジェクトに戻すパッチを投稿する前に、テストプロシージャを一通り通して、変更が本当に動作する —のと、Gaiaのその他の部分と一緒に正しく動作する— のを確認する事です。この記事では方法を説明します。</span></p> -</div> - -<p>テストの手順は、一般にこんな構成です:</p> - -<ul> - <li>標準のデバッグ手順</li> - <li>自動テストを実行する</li> -</ul> - -<p>両方の領域を観察してみましょう。</p> - -<h2 id="標準デバッグを行う">標準デバッグを行う</h2> - -<p>熟練のweb開発者ならGaiaのコードをデバッグするのは慣れたプロセスでしょう。すでに<a href="/ja/Firefox_OS/Developing_Gaia/Running_the_Gaia_codebase#Running_Gaia_in_Desktop_Firefox">デスクトッブ版FirefoxでGaiaを実行する</a>方法や、<a href="/ja/Firefox_OS/Developing_Gaia/Making_Gaia_code_changes#Simple_code_change_example">簡単な変更を加える</a>方法を見てきました。もっと複雑なコードベースの追加のためには、デスクトッブ版Firefoxのビューにてアクセスできる、Firefoxデバッグツールをもっと使いこなしたくなるでしょう。</p> - -<p><strong>記</strong>: これらのツールの詳細なマニュアルは<a href="/ja/docs/Tools">Tools zone</a>にあります。</p> - -<h2 id="自動テスト">自動テスト</h2> - -<p>パッチを投稿する前に、Gaiaにふさわしい標準テストスイートも実行しておくべきであり、そうすることで既存の主要な電話機能に逆行した変更をしていないことを確認します。 実行できるテストは:</p> - -<ul> - <li>ユニットテスト</li> - <li>統合テスト</li> - <li>パフォーマンステスト</li> - <li>UI テスト</li> -</ul> - -<p>一般的にパッチの投稿前には、テスト実施を求めます; 最初の貢献の場合はテストなしに投稿できますが、将来にテストが実施されるように手助けを求める必要があります。テスト実行の前にはGaiaリポジトリを更新して、最新のものが手元にあるのを確認すべきです。</p> - -<div class="note"> -<p><strong>ショートカット</strong>: もしテスト環境の構築方法を知らない場合、<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Automated_testing/MozITP">MozITP</a> を使用してください — このツールセットは自動で Ubuntu VMをセットアップし、インテグレーションテストを実施し UI のテストを実施するテスト環境をワンクリックで作成することが出来ます。</p> -</div> - -<div class="note"> -<p><strong>記</strong>: テストを動作させる方法については、<a href="/ja/Firefox_OS/Platform/Testing/">Firefox OS の自動テスト のページ</a>で見つけることができます。</p> -</div> - -<div class="note"> -<p><strong>記</strong>: 利用可能であれば実機端末 (いくつかの機能 /ハードは、エミュレータではサポートしません) での各テストの実行を検討し、利用不可の場合はB2G デスクトッブエミュレータか、Firefoxナイトリーを使います。</p> -</div> - -<h3 id="ユニットテスト">ユニットテスト</h3> - -<p>ユニットテストは、大きなアプリケーション内の、個々のユニットのテスト — Gaiaの場合ぱ個々のアプリ—です。Gaiaで使用するのは:</p> - -<ul> - <li>テストフレームワークとしての<a href="http://visionmedia.github.io/mocha/">mocha</a></li> - <li>アサートライブラリの<a href="http://chaijs.com/api/assert/">chai</a></li> - <li>モック&スタブライブラリ<a href="http://sinonjs.org/">sinon.js</a></li> - <li>テストカバレッジツールの<a href="http://blanketjs.org/">blanket.js</a></li> -</ul> - -<p>下記コマンドでダウンロード、インストール、及び ユニットテストサーバの提供ができます(実行にかなりの時間がかかり、なのでお茶を入れる良い時間かもしれません):</p> - -<pre class="brush: bash">DEBUG=1 make -export FIREFOX=/Applications/FirefoxNightly.app/Contents/MacOS/firefox -bin/gaia-test</pre> - -<p>ユニットテスト一覧のwebページが開くでしょう。実行するにす:</p> - -<ul> - <li>ページ内の一覧から実行したいユニットテストを選択します (アスタリスクが横に出ています)。</li> - <li>"Execute" ボタンをクリックします。</li> - <li>ページ下端にスクロールして結果を見ます。</li> -</ul> - -<p>開いているウィンドウで、新規のターミナルウィンドウから全テストスイートを実行することもできます。:</p> - -<pre class="brush: bash">make test-agent-test</pre> - -<div class="note"> -<p><strong>記</strong>: これはかなり長い時間がかかります、なぜなら実行すべきテストが大量にあるためで(ひょっとして1時間以上)、ゆえにおそらくあなたが変更したアプリ向けのテストだけを実行したくなるでしょう。これを行うには <code>APP=<app folder name></code> をコマンドに追加します、例えば <code>APP=settings</code>。</p> -</div> - -<div class="note"> -<p><strong>記</strong>: テストについてのより詳しい情報は<a href="/ja/Firefox_OS/Platform/Testing/Gaia_unit_tests">Gaia ユニットテスト</a> を見て下さい。</p> -</div> - -<h3 id="統合テスト">統合テスト</h3> - -<p>統合テストには、異なるユニットのコードを一緒なグループにして、それらが一緒に正しく動作するかのテストを含んでおり、ユニットテストの次の論理的ステップです。Gaiaの統合テストは JavaScriptで書かれるmarionetteスクリプトと pythonベースのサーバで動かされます。これはGeckoと通信してブラウザと Firefox OS 端末の両方の制御と、お互いの相互作用が可能になります。</p> - -<p>下記コマンドを実行して統合テストを起動できます:</p> - -<pre class="brush: bash">make test-integration</pre> - -<div class="note"> -<p><strong>記</strong>: ユニットテストと同様に、統合テストスイート全体の実施には時間がかかります、なので <code>APP=<app folder name></code> を上記のコマンドに追加してアプリ単体をテストできます、例えば <code>APP=calendar</code>。</p> -</div> - -<div class="note"> -<p><strong>記</strong>: 統合テストのより詳細な情報は、<a href="/ja/Firefox_OS/Platform/Automated_testing/Gaia_integration_tests">Gaia 統合テスト</a>を読んでください。</p> -</div> - -<h3 id="パフォーマンステスト">パフォーマンステスト</h3> - -<p>Gaia のパフォーマンステストは、 外部の <a href="/docs/Mozilla/Firefox_OS/Platform/Testing/Raptor">Raptor CLI ツール</a> で実行されます。Raptor ではアプリを複数回起動することを自動化できて、アプリの起動時間についての統計情報を出力します。テスト実行後には、Raptor はアプリケーションについてのメモリ情報も出力します。</p> - -<p>Raptor のパフォーマンステストを実行するには、次を見てください <a href="/docs/Mozilla/Firefox_OS/Platform/Testing/Raptor#Getting_Started">Raptor: Getting Started.</a></p> - -<h3 id="UIテスト">UIテスト</h3> - -<p> <a href="/ja/Firefox_OS/Platform/Automated_testing/gaia-ui-tests">Gaia UI テスト入門</a>を見て下さい。</p> - -<div id="divLookup" style="background-color: transparent; color: #000000; position: absolute; top: 2293px; left: 473px; padding: 0px; border-radius: 2px;"><img></div> diff --git a/files/ja/archive/b2g_os/developing_gaia/understanding_the_gaia_codebase/index.html b/files/ja/archive/b2g_os/developing_gaia/understanding_the_gaia_codebase/index.html deleted file mode 100644 index 075138e621..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/understanding_the_gaia_codebase/index.html +++ /dev/null @@ -1,210 +0,0 @@ ---- -title: Gaia コードベースを理解する -slug: Archive/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase -tags: - - Code - - Firefox OS - - Gaia - - Guide - - JavaScript - - contribution -translation_of: Archive/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p><span class="seoSummary"><a href="https://github.com/mozilla-b2g/gaia/">Gaiaコードベース</a>にあなたの変更を加え始める前に、全体がどう構成されているか、コードの慣習が適用されているかについての基礎を理解しておくべきです。この記事では両方の点について説明します。</span></p> -</div> - -<h2 id="Gaia_ブランチ">Gaia ブランチ</h2> - -<p>Gaia コードベースには色々なブランチがあり、それは何の作業をしているかによります (またはどの端末を持っているか) masterブランチをダウンロードや、ハック、makeしたいのではないかもしれません。ここに最も普通で、たぶん興味を持たれるリポジトリの簡単なガイドがあります:</p> - -<ul> - <li><strong>master</strong> — 最新の開発ブランチです。新機能の開発 (やバグ修正) や、電話機・エミュレータで最新の Gaia を実行する場合、このブランチを使います。</li> - <li><strong>v2.1</strong>, <strong>v2.0</strong>, <strong>v1.4</strong>, など。 — Gaia 2.1, 2.0, 1.4, などの機能凍結バージョンです。特定の Gaia バージョンのバグ修正や、アプリを開発して特定の Gaia バージョンで動作確認をする場合、 (例えば、Firefox OS ビルディングブロックを変更して動かし、他のGaiaバージョンでも自分のレイアウト動作するか確かめたい場合。)このブランチを使います。</li> - <li><strong>v1.3t</strong> — Gaiaの低メモリ版で、Tarako や Spice Fire Oneといった低メモリ端末で実行するために開発されました。このような端末向けのアプリを開発したい場合、このブランチで作業すべきです。</li> -</ul> - -<h2 id="Gaiaコードベースの構造">Gaiaコードベースの構造</h2> - -<p>以下の章では、Gaiaコードベースの最も重要な部分を概説します。</p> - -<h3 id="apps">apps/</h3> - -<p>このディレクトリには主なGaiaアプリがあります。ホームスクリーンに表示されるアプリ(カレンダーやカメラのようなもの)と下にあるアプリ(システム、ホームスクリーン、キーボードといったもの)との両方のアプリがあります。このアプリの動作は少しずつ異なる方法で、ただ多くの共通機能があります、それは:</p> - -<ul> - <li><code>index.html</code>: 各アプリの中心のファイル</li> - <li><code>manifest.webapp</code>: アプリを定義するマニフェストファイル</li> - <li><code>locales</code>: そのアプリ用の翻訳文字列</li> - <li><code>test</code>: アプリに固有のユニットテストと統合テスト</li> - <li><code>js</code>, <code>style</code>: そのアプリ用のスクリプトやスタイル</li> - <li><code>resources</code>: 画像、音やその他資産</li> -</ul> - -<div class="note"> -<p><strong>記</strong>: 実際に動くアプリの詳細情報は <a href="/ja/Firefox_OS/Platform/Gaia/Gaia_apps">Gaia apps guide</a> で見つかります。</p> -</div> - -<h3 id="build">build/</h3> - -<p>ビルドスクリプトを含むディレクトリ</p> - -<h3 id="dev_apps">dev_apps/</h3> - -<p>このディレクトリはカスタマイズにより同梱されるアプリを含みます。例えば、カスタムビルド時に同梱したいカスタムアプリをここに入れます。</p> - -<div class="note"> -<p><strong>記</strong>: Gaiaのカスタムの詳細情報については <a href="/ja/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide">Market customizations guide </a>を読みます。</p> -</div> - -<h3 id="keyboard">keyboard/</h3> - -<p>keyboardディレクトリには異なる言語用のキーボード辞書やレイアウトがあります。</p> - -<h3 id="locales">locales/</h3> - -<p>このディレクトリには <code>languages_all.json</code> というJSONファイルがあり、Gaiaでどの言語をサポートするかを定義します。アプリをどうローカライズするかの詳細な洞察については <a href="/ja/Apps/Build/Localization/Getting_started_with_app_localization">Getting started with app localization</a> を読みます。</p> - -<h3 id="shared">shared/</h3> - -<p>このディレクトリには、複数のアプリが利用している多くのリソースがあります; 主要ないくつかは:</p> - -<ul> - <li><code>gaia/shared/js</code>: 共通機能を行う、JavaScript ライブラリ</li> - <li><code>l10n.js</code>: 端末のロケールを判定するローカリゼーションライブラリで、ローカライズ可能な文字列をアプリのlocalesフォルダにある文字列に置換します。ローカライズ可能な文字列は、 <code>data-l10n-id</code> 属性エレメントが同梱されます。</li> - <li><code>gaia/shared/locales</code>: 異なるロケール向けのローカライズされたリソース。</li> - <li><code>gaia/shared/resources</code>: アイコン、着信音、アラームサウンドトラックといった共通の資産</li> - <li><code>gaia/shared/style</code>: スタイルシートや、ボタン・プログレスバー・ツールバーなどの共通アイテム用のその他のスタイルリソース。これらの詳細情報は <a href="/ja/Apps/Design/Firefox_OS_building_blocks">Firefox OS Building Blocks</a>を見て下さい。</li> - <li><code>gaia/shared/style_unstable</code>: 不安定または実験的なスタイルリソース</li> - <li><code>gaia/shared/test</code>: ユニットテストや統合テストを定義するJavaScript</li> -</ul> - -<h3 id="tools">tools/</h3> - -<p>toolsディレクトリにはビルドスクリプトやテスト向けのツールがあります。</p> - -<h2 id="Gaiaコーディングスタイル">Gaiaコーディングスタイル</h2> - -<p>Gaiaは<a href="http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml">Google JavaScriptコーディングスタイル</a>に従っています。</p> - -<p>背景の情報:</p> - -<ul> - <li>コーディングスタイル: <a href="/en-US/docs/Mozilla/Developer_guide/Coding_Style#General_practices">General practices</a></li> - <li>コーディングスタイル: <a href="/en-US/docs/Mozilla/Developer_guide/Coding_Style#JavaScript_practices">JavaScript practices</a></li> - <li>コーディングスタイル: <a href="/en-US/docs/Mozilla/Developer_guide/Coding_Style#Naming_and_Formatting_code">Naming and formatting code</a></li> -</ul> - -<h3 id="特有のルール">特有のルール</h3> - -<ol> - <li>HTML ファイルが <code><!DOCTYPE html></code> (すなわち、HTML5文書)と宣言されているか確認して下さい。未定義なら、Internet Explorer 9 以降では互換モードで読み込まれます。</li> - <li><code>JavaScriptファイルの先頭に"use strict"<code>; </code>宣言を(このように、クォート含め)入れて、strict(厳密な)モードにして下さい。</code></li> - <li>常にタブでなく、2文字の半角スペースでインデントして下さい。</li> - <li>コードの論理的な部分に分けるのに、改行を使用して下さい!</li> - <li>複数の単語のファイル名は"アンダースコア"文字で単語を分けます、 <code>like_this.js</code> のように。</li> - <li>文字列用には、ダブルクォーテーションの代わりにシングルクォーテーションを使います。</li> - <li>展開した条件構造を使います: - <pre class="brush: js">悪い例 -if (expression) doSomething(); - -正しい例 -if (expression) { - doSomething(); -}</pre> - </li> - <li><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/System">Systemアプリ</a>で作業している場合、<a href="https://groups.google.com/forum/#!msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ">ガイダンス一覧</a>を確認して下さい。</li> -</ol> - -<h3 id="コミットごとのコーディングスタイルチェック">コミットごとのコーディングスタイルチェック</h3> - -<p>Gaia は <a href="http://www.jshint.com/">jshint</a> を使って、各コミット前(pre-commit フック経由)に JSのコーディングスタイルを自動的にチェックしています。いったんGaia リポジトリにプルリクエストを送信すると、Travis(GithubのCI)サーバがこの linter で全スタイルが正しいかをダブルチェックします。 <code>make</code> コマンドが実行されると、<a href="https://github.com/mozilla-b2g/gaia/blob/master/tools/pre-commit">gaia/tools/pre-commit</a> にあるpre-commit フックスクリプトがプロジェクトの <code>.git/hooks</code> フォルダにコピーされます。</p> - -<div class="note"> -<p><strong>記</strong>: かつては <a href="https://developers.google.com/closure/utilities/docs/linter_howto">gjslint</a> をコーティングスタイルチェックに使用していましたが、jshint の方がより厳密で良い結果が出るため、その使用を廃止しました。Firefox OS 1.4 以降ではJSHintを使用しており、gjslint はJSHintに移行されていない、古いファイル用にのみ推奨します。</p> -</div> - -<h3 id="Gaia経由で手動lintチェックを実行する">Gaia経由で手動lintチェックを実行する</h3> - -<p>パッチを投げる前に、JSHintを手動で実行して、スタイルエラーをチェックする事を推奨します。<br> - <br> - Gaia内のjshintに関するより詳しい情報については、<a href="https://github.com/mozilla-b2g/gaia/tree/master/build/jshint">gaia/build/jshint</a> ディレクトリの中を見て下さい。 Gaia はビルドスクリプトを提供しています。実行するには:</p> - -<pre class="brush: bash">$ make lint</pre> - -<p>として gjslint と jshint 両方のスタイルチェックができます。あるいは</p> - -<pre class="brush: bash">$ make hint</pre> - -<p>と実行して単なる jshint スタイルチェックができます。</p> - -<pre class="brush: bash language-html"><code class="language-bash">$ make eslint</code></pre> - -<p>と実行して単なる eslint スタイルチェックができます。</p> - -<div class="note"> -<p><strong>記</strong>: Gaiaを使わず、自分専用の jshint をインストールしたい場合、下記を使用できます:</p> - -<pre class="brush: bash">npm install jshint -g -jshint myfile.js -</pre> -</div> - -<p> </p> - -<div id="divLookup" style="background-color: transparent; color: #000000; position: absolute; top: 3139px; left: 395px; padding: 0px; border-radius: 2px;"><img></div> diff --git a/files/ja/archive/b2g_os/developing_gaia/構造入門書/index.html b/files/ja/archive/b2g_os/developing_gaia/構造入門書/index.html deleted file mode 100644 index ccfd97f081..0000000000 --- a/files/ja/archive/b2g_os/developing_gaia/構造入門書/index.html +++ /dev/null @@ -1,249 +0,0 @@ ---- -title: Gaia 構造入門書 -slug: Archive/B2G_OS/Developing_Gaia/構造入門書 -tags: - - Build documentation - - Building - - Firefox OS - - Gaia - - Guide -translation_of: Archive/B2G_OS/Developing_Gaia/Build_System_Primer ---- -<p></p><section class="Quick_links" id="Quick_Links"> - -<ol> - <li class="toggle"> - <details> - <summary>Build and install</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details> - <summary>Porting B2G OS</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> - </ol> - </details> - </li> - <li class="toggle"> - <details open> - <summary>Developing Gaia</summary> - <ol> - <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> - <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> - </ol> - </details> - </li> - <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> -</ol> -</section><p></p> - -<div class="summary"> -<p>この記事ではGaiaのビルドシステムがどのように動作するのかを、makefileや、ビルド手順や、環境変数や、カスタマイズを含めて説明します。</p> -</div> - -<p>ビルドステップ用に意味のある成果の大半は、Gaiaの <code>build/</code> サブディレクトリにあるスクリプトによって実行されます。これはmakeやnode.jsや、<a href="/ja/docs/Mozilla/Projects/XULRunner">XULRunner</a>の実行環境である <a href="https://developer.mozilla.org/ja/docs/XPConnect/xpcshell" title="https://developer.mozilla.org/en-US/docs/XPConnect/xpcshell">XPCShell</a> (JS Shellとも言う)を使って実行されます。Gaiaのビルドシステムは、webアプリのインストールや、テストや、ローカライゼイションや、実端末へパッケージするのに役立つヘルパーツールを含んでいます。その他に開発者がGaiaをカスタマイズするのも可能になり、例えば、デフォルトの壁紙、着信音、アプリ、設定の変更ができます。</p> - -<div class="note"> -<p><strong>記</strong>: XPCShell は node.js と同様ですが、違いとしていくつかMozilla風味の javascriptも実行できます。これは Gaia ビルドスクリプトを Firefox拡張機能内で実行できるようにします。</p> -</div> - -<h2 id="Makefile">Makefile</h2> - -<p>Makefileはひとかたまりのゴールから構成されています。 この節では最も役立つものを説明します。</p> - -<h3 id="install-gaia">install-gaia</h3> - -<p>このゴールは全てのGaia用アプリを端末にプッシュします。特定のアプリだけをプッシュしたい場合、次のように<code> APP</code> フラグを使用できます:</p> - -<pre class="brush: bash">APP=calendar make install-gaia</pre> - -<p>このディレクトリは Gaia アプリのディレクトリ(例 <code>apps</code>)の中にある必要があります。</p> - -<h3 id="reset-gaia">reset-gaia</h3> - -<p>これは <code>install-gaia</code> とほぼ同じ動きをしますが、違いはまず掃除(clean)をして、次に全アプリをインストールした後にパーミッションをセットアップします。アプリはエンジニアリングビルドと同様に <code>/data/local</code> 内にあります。これはテストやデバッグのアプリもプッシュします。</p> - -<div class="warning"> -<p><strong>要注意</strong>: <code>APP</code> 環境変数を <code>reset-gaia</code> と一緒に使うと動作しているように見えますが、電話機が使えない状態 (このゴールを APP 変数なしで実行すると復活できます) になるでしょう。なので行わないようにして下さい。</p> -</div> - -<h3 id="production">production</h3> - -<p><code>reset-gaia と同様で、違いはソースコードが最適化されます。このゴールは基本的にユーザビルドのエミュレーションを可能にします。これはユーザビルドでインストールされるアプリもプッシュされます。</code></p> - -<div class="warning"> -<p><strong>要注意</strong>: <code>APP</code> 環境変数を <code>production</code> と一緒に使うと動作しているように見えますが、電話機が使えない状態 (このゴールを APP 変数なしで実行すると復活できます) になるでしょう。なので行わないようにして下さい。</p> -</div> - -<h3 id="reference_workloads">reference workloads</h3> - -<p>このゴールは端末に色々なサイズの負荷をかけて、デバッグしたり、パフォーマンスや、起こりうるスケーラビリティの問題を修正したりするのに役立ちます。このゴールは APP または APPS 環境変数を受け入れ、それはスペースで区切られたアプリ名を含みます、例えば</p> - -<pre class="brush: bash">APP=sms make reference-workload-light -APPS="sms communications/contacts" make reference-workload-heavy -</pre> - -<div class="note"> -<p><strong>記</strong>: 詳細情報は、<a href="/ja/Firefox_OS/Platform/Gaia/Hacking#Reference_Workloads">Hacking Gaia: Reference workloads</a>を読んで下さい。</p> -</div> - -<h2 id="環境変数">環境変数</h2> - -<p>いくつかの環境変数は端末へのビルドとインストールの側面を制御します、例えば:</p> - -<h4 id="P1">P=1</h4> - -<p>これはマルチコアCPUを活かしてビルド時間を高速化するパラレルビルドを有効にします。デフォルト値は <strong>0</strong>です。</p> - -<div class="warning"> -<p><strong>要注意</strong>: パラレルビルドは実験的機能で、不安定な場合があります。</p> -</div> - -<h4 id="GAIA_OPTIMIZE1">GAIA_OPTIMIZE=1</h4> - -<p>これは JavaScript ファイルの最適化を有効にします。これは <code>make production </code>実行時に自動的にセットされます。これは <code>install-gaia</code> や <code>reset-gaia</code> でも使われることがあります。</p> - -<h4 id="PRODUCTION1">PRODUCTION=1</h4> - -<p>これは基本的に <code>make production</code> のエイリアスです。</p> - -<h4 id="DEBUG1">DEBUG=1</h4> - -<p>これは Gaia <a href="/ja/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">ユニットテスト</a>や、FirefoxでFirefox OSアプリを開発する時に使う、デバッグプロファイルを生成できるようになります。新規生成の前に、既存のプロファイルディレクトリを削除しておく必要があります。</p> - -<h4 id="DEVICE_DEBUG1">DEVICE_DEBUG=1</h4> - -<p>端末の画面ロックを無効にします。</p> - -<h4 id="GAIA_DEVICE_TYPEphone">GAIA_DEVICE_TYPE=phone</h4> - -<p>この変数は色々な 'app.list' から特定端末をビルドするのを許可します。全ての 'app.list' ファイルは /build/config/$(GAIA_DEVICE_TYPE)/ フォルダにあります。</p> - -<p>GAIA_DEVICE_TYPE のデフォルト値は <strong>phone</strong> です。</p> - -<div class="note"> -<p><strong>記</strong>: 詳細とオプションについては、<a href="/ja/Firefox_OS/Platform/Gaia/Hacking#Make_options">Hacking Gaia make options</a> のガイドを参照下さい。</p> -</div> - -<h2 id="ビルド手順">ビルド手順</h2> - -<p>ここにgaiaをビルドするためのシーケンス図があります:</p> - -<p><img alt="" src="https://mdn.mozillademos.org/files/8635/gaia-build-system-seq-diagram.png" style="height: 1497px; width: 2222px;"></p> - -<p>pre-app.js と app.js と post-app.js とは Makefile によって実行され、大抵のビルドタスクは xpcshell スクリプトによって完了します。Makefile はOSを判定したり b2g-desktop をダウンロードするのに使われ、我々はMakefile から xpcshell スクリプトにタスクを移行する予定です。</p> - -<p>なぜ pre-app と app と post-app とがあるのか疑問に思うかもしれません、それは Makefile から xpcshell スクリプトへ、依存性を移動しているからです、なので大半の依存性を xpcshell に移行するため、 pre-app.js と post-app.js を <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021051">bug 1021051</a> に基いて作りました。そして最終的には、<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1053703">bug 1053703 </a>に基いてapp.js と pre-app.js と post-app.js はマージされるでしょう。</p> - -<p>gaiaビルドシステムには3種類のディレクトリがあります:</p> - -<ol> - <li>ソースディレクトリ: apps, dev_apps, shared ディレクトリ</li> - <li>ステージディレクトリ: build_stage</li> - <li>プロファイルディレクトリ: profile, profile-debug や profile-test ディレクトリ</li> -</ol> - -<p>我々のゴールはソースディレクトリにファイル生成することでは決してなく、不幸にもまだソースディレクトリにファイル生成するモジュールが残っていますが、この問題を解決する予定です。どのモジュールがソース、ステージ、プロファイルディレクトリにファイル生成するのかを示す表がここにあります。</p> - -<p><img alt="" src="https://mdn.mozillademos.org/files/8653/file-accessing.png" style="height: 1250px; width: 1136px;"></p> - -<p>ここにgaiaディレクトリで <code>make</code> が実行された時のビルドプロセスを、実行される順に載せます:</p> - -<ol> - <li><strong>b2g_sdk</strong>: b2g-デスクトップは<code> GAIA_DIR/build/</code>にある xpcshell スクリプトを実行するのに使われます。</li> - <li><strong>svoperapps</strong>: モバイル通信事業者や国がインストールするアプリ用に、アプリをダウンロードして、設定ファイルを生成します。</li> - <li><strong>webapp-manifests</strong>: ビルドプロセス用のwebアプリのメタデータを生成します。</li> - <li><strong>keyboard-layouts</strong>: デフォルトのキーボードレイアウト設定を生成します。</li> - <li><strong>settings.json (settings.js)</strong>: この JavaScript はFirefox OSのデフォルト設定を生成し、それは Gaia により読み込まれます。</li> - <li><strong>webapp-shared</strong>: 各アプリに使われるファイルを、shared ディレクトリから build_stage ディレクトリに移動します。</li> - <li><strong>preferences</strong>: Firefox OS用のデフォルト設定を生成します; <code>user.js</code> ファイルを生成して端末に配置し、Geckoにより読み込まれます。この値は <code>DEBUG=1</code> のような別の環境変数によって変更される可能性があるのに注意して下さい。</li> - <li><strong>app.js</strong>: <code>アプリ</code>ディレクトリ内のMakefile: これらが存在する場合に実行されます。各アプリにとって、アプリのMakefileがなければ、Gaia Makefile がアプリのディレクトリを<code>build_stage</code>にコピーして、<code>[アプリ</code>ディレクトリ<code>]/build/build.js</code> があれば実行します。より詳細は <a href="#Build_script_for_apps">Build script for apps</a> を見て下さい。</li> - <li><strong>test-agent-bootstrap & test-agent-config</strong>: 2つのmakeルールを含む test-agent をセットアップします<code>、test-agent-config</code> と <code>test-agent-bootstrap-apps</code> で、これは各アプリのテスト環境セットアップに使われます。</li> - <li><strong>webapp-optimize</strong>: このスクリプトはJavaScript 最小化、ローカライゼーションリソースファイルを JSON ファイルにまとめる、必要に応じてデフォルト言語用の HTML ファイルを生成する、といった色々な最適化手順を含みます。</li> - <li><strong>webapp-zip</strong>: これは各アプリを別のzipファイルに圧縮して <code>profile/</code> ディレクトリに配置します。</li> - <li><strong>optimize-clean</strong>: <code>optimize-clean</code> はデフォルト言語のHTMLファイルをきれいにします。</li> - <li><strong>contacts</strong>: <code>GAIA_DISTRIBUTION_DIR </code>に存在すれば、事前読込された連絡先ファイルをプロファイルにコピーします</li> - <li><strong>extensions</strong>: <code>GAIA_DIR/tools/extensions</code> 内の拡張機能をプロファイルディレクトリにコピーします; 別の設定のセットアップは別の拡張機能のコピー指定を可能にします。</li> - <li><strong>installed-extensions.json (additional-extensions.js)</strong>: 最終的に、このスクリプトが追加拡張機能をプロファイルディレクトリにダウンロードします。</li> -</ol> - -<h2 id="アプリ用のビルドスクリプト">アプリ用のビルドスクリプト</h2> - -<p>デフォルトでは、アプリのビルドスクリプト <span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">[アプリディレクトリ]/build/build.js</span><span style="line-height: 1.5;"> がある場合、app.js によって実行されます。$APP/build/build.js がない場合、app.js はアプリを build_stage にコピーします。</span></p> - -<p>アプリディレクトリ内のファイルは、アプリのビルドスクリプトによってbuild_stage ディレクトリにコピーされるべきです、なぜなら app.js はアプリのビルドスクリプトがある場合はそれらをコピーしないからです。例えばカレンダーアプリに build/build.js があって、カレンダーアプリ用の build.js によって<a href="https://github.com/mozilla-b2g/gaia/blob/a0fa29db8e9e15afe3b1787bf494caa86a033f10/apps/calendar/build/build.js#L8">utils.copyToStage() が呼ばれるべきです。</a></p> - -<div class="note"> -<p><strong>記</strong>: アプリケーション外部のソース (shared/ の中のような) のために、index.html の<head> 内のコメントの中に入れておく必要があって、それにより、shared/ がアプリ内にコピーされるようになります。</p> -</div> - -<p> </p> - -<p>アプリ用のビルドスクリプトは $GAIA_DIR/build 内の全ビルドモジュールが必要で、特にアプリのビルドに便利なユーティリティモジュールが要ります。モジュールを取得するのに require('utils') を使えます。</p> - -<p><img alt="" src="https://mdn.mozillademos.org/files/8651/flow-diagram.png" style="height: 952px; width: 1004px;"></p> - -<h2 id="設定をカスタマイズする">設定をカスタマイズする</h2> - -<p>カスタム設定があると気づいた場合、端末に書き込む時間をそれぞれセットする必要があり、<code>custom-prefs.js</code> というファイルを<code>build/config</code> ディレクトリ内に作ってその中におく事ができます。これで上書きされてソース制御外になるのを防止できます。</p> - -<p>ここに便利な設定があります:</p> - -<pre class="brush: js">// this enables marionette which lets you run performance tests -// see https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_performance_tests -user_pref("marionette.defaultPrefs.enabled", true); - -// this sets the port for remote debugging your application on the device -user_pref("devtools.debugger.remote-port", 60000); - -// this enables the remote debugger -user_pref("devtools.debugger.remote-enabled", true); - -// this outputs debug information about the Radio Interface Layer in logcat -user_pref("ril.debugging.enabled", true); -</pre> - -<p>このファイルはプロファイル生成するたびに読み込まれます。全て確実に生成させるのに最も安全な方法は、最初にプロファイルを消す事です:</p> - -<pre class="brush: bash">rm -rf profile && make profile</pre> - -<p>それで <code>install-gaia</code> ゴールを安全に使えます。</p> - -<h2 id="FAQ">FAQ</h2> - -<h3 id="焼き込み後に端末が黒いままになる">焼き込み後に端末が黒いままになる</h3> - -<p>これは端末がアイドル時に焼き込みした場合に時々起こりえます。これを治療するには単にコマンドラインで次のコマンドを使って B2G を再起動します:</p> - -<pre class="brush: bash">adb shell stop b2g && adb shell start b2g</pre> - -<p> </p> - -<div id="divLookup" style="background-color: transparent; color: #000000; position: absolute; top: 5161px; left: 906px; padding: 0px; border-radius: 2px;"><img></div> |