KEONとPEAKが無くてもFirefox OS開発出来る

11,442 views

Published on

Published in: Technology

KEONとPEAKが無くてもFirefox OS開発出来る

  1. 1. KEON と PEAK が無くてもFirefox OS 開発出来る
  2. 2. 自己紹介●twitter : @androidsolablog : http://blog.sola-dolphin-1.net/●JCROM(Japanese custom rom) Projecthttps://sites.google.com/site/jcromproject/Android をベースにしたカスタム ROM を作ってます。●HTML5 、 JavaScript は触れた事が無いので、何かアプリ作るためにこれから勉強します。
  3. 3. 本日の内容●Nexus S 等の Android 端末で Firefox OS を使う●PandaBoard 等の開発ボードで Firefox OS を使う●KEON と PEAK 向けに Firefox OS をビルドする●Firefox OS をカスタマイズしてみる
  4. 4. その前に KEON と PEAK を使わない理由
  5. 5. 4/23 開発者向け端末販売開始
  6. 6. 4/23 開発者向け端末販売開始15:34 に KEON と PEAK を注文完了。オーダー番号も 2 桁。後は待つだけ!
  7. 7. 待つだけ・・・
  8. 8. 4/29KEON が発送されたというツイートが出始める(自分にはまだ来ない・・・)
  9. 9. 5/1KEON や PEAK が届いたというツイートが出始める(自分にはまだ発送連絡すら来ない・・・)
  10. 10. 5/3自分よりかなり遅く注文した人にも発送連絡が(自分には・・・)
  11. 11. 5/3Geeksphone の人に連絡してみた(メールで)
  12. 12. 5/4 Geeksphone から返事が来た●我々は頑張ってる●全員分の発送を今週中にやるよ( 5/4 は土曜日・・・)●問題あれば連絡してね(自分の注文への回答が来てない時点で問題あり)
  13. 13. 5/5ちゃんと調べてくれと再度メールを送った
  14. 14. 5/7 Geeksphone から再度返事が来た●ほとんどの注文は処理したよ●処理した中にお前のがあれば UPS から連絡あるよ●もし来なかったら調べるから連絡してね(テンプレな印象、たぶんちゃんと調べてない)
  15. 15. この時点でもういいやという状態に(一応、代引が問題なのでは?とメールした)
  16. 16. ここで手元にあるNexus S と Galaxy Nexus を取り出した
  17. 17. Nexus S 等の Android 端末で Firefox OS を使う
  18. 18. Nexus S で Firefox OS●Mozilla Developer Network の Firefox OS の所に手順があります。http://goo.gl/ZfNdA
  19. 19. Nexus S で Firefox OS●ソースコード取得&ビルド$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh nexus-s$ ./build.sh
  20. 20. Nexus S で Firefox OS●Nexus S への書き込みfastboot モードにして以下を実行$ fastboot flash boot out/target/product/crespo/boot.img$ fastboot flash systemout/target/product/crespo/system.img$ fastboot flash userdataout/target/product/crespo/userdata.img
  21. 21. Nexus S で Firefox OS●Nexus S で Firefox OS が起動(しかし ... )KEON や PEAK の画面写真と違って、幅が余ってる感じ ...
  22. 22. Nexus S で Firefox OS●Nexus S で Firefox OS が起動(しかし ... )アプリの一覧も同じ状態左右の何も無い空間が気になる
  23. 23. Nexus S で Firefox OS●Nexus S で Firefox OS が起動(しかし ... )言語の選択に日本語が無い!
  24. 24. 画面の調整●KEON と PEAK の画面写真HVGA(240x320) と qHD(540x960) のどちらも画面ピッタリ。HVGA 向けだから Nexus S(480x800)では左右に空間が出来ると予想したが、 qHD でもうまく表示出来てるので、何か仕組みがあるはず。
  25. 25. KEON と PEAK のビルド環境●manifest.xml を確認すると、 PEAK 向けが無かった※デフォルトで取得する v1-train ブランチには無い●PEAK 用のマニフェストファイルは master ブランチに登録されていた●KEON は v1-train か master 、 PEAK は master を使用しろという事?
  26. 26. KEON と PEAK の違い●gaia 、 gecko 、 gonk-misc を比較した( Firefox OS固有の部分らしいので)– KEONgaia : v1-traingecko : gecko-18gonk-misc: v1-train– PEAKgaia : mastergecko : mastergonk-misc: mastermaster ブランチを使えばOK ?master ブランチを使えばOK ?
  27. 27. ホームアプリを比較●gaia の下にホームアプリと思われるソースコードがあったので、確認してみた。– ホームアプリの場所gaia/apps/homescreen– 確認したソースコードstyle/grid.cssアプリ一覧を表示してる画面のレイアウト定義
  28. 28. ホームアプリを比較●master は横幅 100% 指定してるからいっぱいに表示される?--- /home/sola/v1-train/B2G/gaia/apps/homescreen/style/grid.css+++ /home/sola/master/B2G/gaia/apps/homescreen/style/grid.css@@ -25,7 +25,7 @@}.apps ol {- width: -moz-calc(4 * 8rem);+ width: 100%;padding: 0;list-style-type: none;display: block;
  29. 29. 起動画面等のリソースファイル●gaia の下を比較していたら、以下のリソースファイル達を見つけた。ディレクトリ  shared/resources/branding/official/ファイル  Browser.png  about_logo.png  initlogo.png  logosmall.png  powered.png  privacy_sprite.png  splash_screen_generic.png
  30. 30. 起動画面等のリソースファイル●master ブランチの方には、更に以下のファイルが登録されている。ディレクトリ  shared/resources/branding/official/ファイル  Browser@2x.png  about_logo@2x.png  initlogo@2x.png  logosmall@2x.png  powered@2x.png  privacy_sprite@2x.png ※ PEAK の画面サイズに合わせた画像
  31. 31. @2x の画像はどこで参照してる?●参照箇所が分かれば HVGA(KEON) と qHD(PEAK) を判断する方法が分かるかも?grep した結果、Makefile 、 build/webapp-zip.js 、 build/settings.py の 3 ファイルで見つかった。
  32. 32. @2x の画像はどこで参照してる?●HIDPI という変数が条件になっているgaia/build/webapp-zip.js// Forces the file to pass as @2xif ( HIDPI != * && file.path.search(@2x) == -1 ) {var path2x = file.path.split(.)[0]+@2x.+file.path.split(.)[1];var file2x = new FileUtils.File(path2x);// Adds the suffixif ( file2x.exists() ) {var path = path.split(.)[0]+@2x.+path.split(.)[1];var file = file2x;}}addToZip(zip, /shared/resources/ + path, file);
  33. 33. HIDPI はどこで設定している?●HIDPI への設定があるのは Makefile のみgaia/Makefile32 行目HIDPI?=*412 行目const HIDPI = "$(HIDPI)";●export HIDPI=1 としてからビルドすれば、 @2x のファイルを使用するようになる。この辺の仕組みを拡張すれば、色々な解像度向けにリソースファイルを用意して使うことが出来そう。
  34. 34. Nexus S 向けに変更する内容●gaia のブランチを v1-train から master に変更する●HIDPI=1 を設定してからビルドする
  35. 35. Nexus S 向けに変更した結果●期待通り、画面に合うように配置されるようになった
  36. 36. 日本語を追加する方法●ソースツリーには日本語のデータが見つからないが、どうすれば良いか?※キーボードレイアウトに関しては日本語向けが用意されていたが、参考にはならず。
  37. 37. 日本語を追加する方法●何か書いてないかと Mozilla の wiki を眺めていたら答えが書いてあった。https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/BuildingBuilding multilocale という項目があって、 Gaia とGecko 向けに日本語等の言語データを追加する方法が書いてある。
  38. 38. 日本語を追加する方法●Gaia$ hg clone http://hg.mozilla.org/gaia-l10n/ja gaia-l10n/ja$ export LOCALE_BASEDIR=$PWD/gaia-l10n$ exportLOCALES_FILE=$PWD/B2G/gaia/shared/resources/languages-japan.jsonlanguages-japan.json の内容英語と日本語の 2 種類を選べるようにするには以下のように書く。{"en-US" : "English (US)","ja" : " 日本語 "}
  39. 39. 日本語を追加する方法●Gecko$ hg clone http://hg.mozilla.org/l10n-central/ja gecko-l10n/ja$ hg clone http://hg.mozilla.org/build/compare-locales$ export L10NBASEDIR=$PWD/gecko-l10n$ export MOZ_CHROME_MULTILOCALE="ja"$ export PATH="$PATH:$PWD/compare-locales/scripts"$ export PYTHONPATH="$PWD/compare-locales/lib"MOZ_CHROME_MULTILOCALE には追加するものを記述する。複数書く例MOZ_CHROME_MULTILOCALE="ja zh-TW"
  40. 40. 日本語を追加した結果●期待通り、画面に合うように配置されるようになった
  41. 41. その他やると良さそうな事●日本語辞書を追加する●フォントを変更する●official ビルドに変更する●user/userdebug でビルドする
  42. 42. 日本語辞書を追加する●辞書に関しての README があるので、確認する。gaia/apps/keyboard/js/imes/jskanji/README# Japanese IMEAbout DictionaryThe IME dictionary is converted from IPAdic project withfollowing steps:1. Get a copy of IPAdic athttp://sourceforge.jp/projects/ipadic/.2. Extract all .dic files to dict/ipadic/.3. run `make` under the `dict` directory to generate dict.json.The tool of `dict/jcconv.py` is getting fromhttps://github.com/taichino/jcconv.
  43. 43. 日本語辞書を追加する●README にある URL にアクセスすると、 IPAdic legacyと書いてあった。●調べると( IPAdic を元に作った?) NAIST JapaneseDictionary というのがあるらしいので、こちらを使うことにした。http://sourceforge.jp/projects/naist-jdic/
  44. 44. 日本語辞書を追加する●json 形式のファイルを作成するhttp://sourceforge.jp/projects/naist-jdic/releases/ からnaist-jdic-0.4.3.tar.gz をダウンロードして展開する。$ tar zxvf naist-jdic-0.4.3.tar.gz辞書データを json 形式のフィアルに変換する。$ mkdir gaia/apps/keyboard/js/imes/jskanji/dict/ipadic$ cp naist-jdic-0.4.3/naist-jdic.dicgaia/apps/keyboard/js/imes/jskanji/dict/ipadic/$ cd gaia/apps/keyboard/js/imes/jskanji/dict$ make json
  45. 45. フォントを変更する●中華フォントで日本語は耐えられないよねって事で
  46. 46. フォントを追加する例●Android で使用されている MTLmr3m.ttf を使う場合MTLmr3m.ttf をソースツリーのどこかに置く。他のフォントが置いてある所( external/moztt )に便乗させてもらう。external/moztt/Android.mk に以下の内容を追記。include $(CLEAR_VARS)LOCAL_MODULE := MTLmr3m.ttfLOCAL_SRC_FILES := MTLmr3m/$(LOCAL_MODULE)LOCAL_MODULE_CLASS := ETCLOCAL_MODULE_TAGS := optionalLOCAL_MODULE_PATH := $(TARGET_OUT)/fontsinclude $(BUILD_PREBUILT)
  47. 47. フォントを追加する例●Android で使用されている MTLmr3m.ttf を使う場合MTLmr3m.ttf をビルドして出来るイメージに組み込むように、PRODUCT_PACKAGES に MTLmr3m.ttf を追記する。ビルド時に読まれる Android.mk 等に追記してあげれば良いので、 gonk-misc/b2g.mk に以下の 1 行を追記した。PRODUCT_PACKAGES += MTLmr3m.ttf
  48. 48. フォントを追加する例●瀬戸フォントにするとこうなるMTLmr3m.ttf を setofont.ttf に読み替えて組み込めば OK です。瀬戸フォントはこちらからダウロードhttp://nonty.net/item/font/setofont.php
  49. 49. official ビルドに変更する●大して重要ではないが、 official でビルドした方が見た目が良い(好みの問題)unofficial official
  50. 50. official ビルドに変更する●MOZILLA_OFFICIAL を 1 にしてあげれば良いgaia/Makefile の中で参照して OFFICIAL という変数に代入してる。OFFICIAL が 1 かどうかで、- shared/resources/branding/unofficial- shared/resources/branding/officialのどちらを使用するか判断している。
  51. 51. user/userdebug でビルドする●普通にビルドするのとは何が違う?「普通にビルドする」例$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh nexus-s$ ./build.shこれでビルドすると eng となっている。Android だとデバッグ関連の機能が有効だったり、 root になってる状態。
  52. 52. user/userdebug でビルドする●user でビルドするのは出荷向けroot にはなれない。色々と弄ったりする時にはこれでビルドしない方が良いと思う。カスタム ROM 公開時にこれでビルドしています。●userdebug は user に近いが、デバッグ用の機能が有効になってる。su コマンドの実行で root になれる。カスタム ROM 開発時にはこれでビルドしています。
  53. 53. user/userdebug でビルドする●user/userdebug でビルドする簡単な方法$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh nexus-sここの段階で生成されている .config ファイルを編集する。.config の内容MAKE_FLAGS=-j10GECKO_OBJDIR=/home/sola/B2G/objdir-geckoDEVICE_NAME=nexus-sDEVICE=crespoLUNCH=full_crespo-userdebugこの後、 $ ./build.sh を実行してビルドすれば OKこれを追加します。( userdebug の例です)これを追加します。( userdebug の例です)
  54. 54. Firefox OS での user/userdebug の差gaia/Makefile の内容GAIA_PROFILE_INSTALL_PARENT := $(TARGET_OUT_DATA)/localGAIA_APP_INSTALL_PARENT := $(GAIA_PROFILE_INSTALL_PARENT)ifneq ($(filter user userdebug, $(TARGET_BUILD_VARIANT)),)GAIA_MAKE_FLAGS += PRODUCTION=1B2G_SYSTEM_APPS := 1endififeq ($(B2G_SYSTEM_APPS),1)GAIA_MAKE_FLAGS += B2G_SYSTEM_APPS=1GAIA_APP_INSTALL_PARENT := $(TARGET_OUT)/b2gCLEAN_PROFILE := 1endifGAIA_APP_INSTALL_PATH := $(GAIA_APP_INSTALL_PARENT)/webappsuser/userdebug の時だけuser/userdebug の時だけアプリのインストールパスの設定アプリのインストールパスの設定
  55. 55. Firefox OS での user/userdebug の差gaia/Makefile の内容GAIA_PROFILE_INSTALL_PARENT := $(TARGET_OUT_DATA)/localGAIA_APP_INSTALL_PARENT := $(GAIA_PROFILE_INSTALL_PARENT)ifneq ($(filter user userdebug, $(TARGET_BUILD_VARIANT)),)GAIA_MAKE_FLAGS += PRODUCTION=1B2G_SYSTEM_APPS := 1endififeq ($(B2G_SYSTEM_APPS),1)GAIA_MAKE_FLAGS += B2G_SYSTEM_APPS=1GAIA_APP_INSTALL_PARENT := $(TARGET_OUT)/b2gCLEAN_PROFILE := 1endifGAIA_APP_INSTALL_PATH := $(GAIA_APP_INSTALL_PARENT)/webappsuser または userdebug でビルドすると/system/b2g になるuser または userdebug でビルドすると/system/b2g になる初期値は /data/local初期値は /data/local
  56. 56. Firefox OS での user/userdebug の差●user/userdebug でビルドすると system パーティション( system/b2g/webapps )にアプリが格納される。●eng (デフォルト)でビルドすると data パーティション( data/local/webapps )にアプリが格納される。user/userdebug でビルドしないと、初期化( dataパーティションのクリア)でたぶん起動しなくなる。アプリがいなくなるので ...eng ビルドのまま system パーティションにアプリを格納したければ、 gaia/Makefile を編集すれば良い。
  57. 57. Galaxy Nexus で Firefox OS を使う
  58. 58. Galaxy Nexus で Firefox OS●Mozilla Developer Network の Firefox OS の所に手順があります。http://goo.gl/ZfNdA
  59. 59. Galaxy Nexus で Firefox OS●ソースコード取得&ビルド$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh galaxy-nexus※ 日本語化等、変更を加える場合はここで作業を行う。$ ./build.sh
  60. 60. Galaxy Nexus で Firefox OS●Galaxy Nexus への書き込みfastboot モードにして以下を実行$ fastboot flash boot out/target/product/maguro/boot.img$ fastboot flash systemout/target/product/maguro/system.img$ fastboot flash userdataout/target/product/maguro/userdata.img
  61. 61. Galaxy Nexus で Firefox OS●Galaxy Nexus で Firefox OS を使う時の課題– キーが電源、音量 UP/DOWN しかないのでホームキーを押せない(戻れない)– カメラ使えない– SD カード認識しない
  62. 62. Galaxy Nexus で Firefox OS●ホームキーを使う方法音量 UP キーをホームキーに割り当てる。(音量の操作は設定から行えば何とかなるので)device/samsung/tuna/tuna-gpio-keypad.kl を変更する。-key 115 VOLUME_UP WAKE+key 115 HOME WAKE変更後、 $ ./build.sh でビルドし直す。●カメラと SD カードは未対応Galaxy Nexus でどうしても使いたいという気持ちにならないので詳しくは調べてない ...
  63. 63. PandaBoard 等の開発ボードで Firefox OS を使う
  64. 64. PandaBoard ES で Firefox OS●Mozilla Developer Network の Firefox OS の所に手順があります。http://goo.gl/ZfNdA
  65. 65. PandaBoard ES で Firefox OS●ソースコード取得&ビルド$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh pandaboard$ ./build.sh
  66. 66. PandaBoard ES で Firefox OS●ソースコード取得&ビルド$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh pandaboard$ ./build.shビルドエラーで終了した( 5/10 )(ソース取得した日によってはエラー出ないかも)
  67. 67. PandaBoard ES で Firefox OS●暫定的な対処(ビルドエラー出てなければ不要)ビルドエラーが出ていた二つのリポジトリを削除した- external/negatus- external/orangutan
  68. 68. PandaBoard ES で Firefox OS●SD カードへのイメージの書き込みfastboot での手順が書いてあるけど、 PC で直接 SDカードに書き込む事にする。B2G ディレクトリ直下で以下を実行$ wgethttp://sola-dolphin-1.net/data/B2G/patch/panda/mksdcard_pandaboard.sh$ chmod +x mksdcard_pandaboard.sh$ LANG=C sudo ./mksdcard_pandaboard.sh /dev/sdX $PWD※/dev/sdX は SD カードのデバイスファイルを指定。
  69. 69. PandaBoard ES で Firefox OS●PandaBoard ES で Firefox OS が起動した様子・首を曲げないと見るのが辛い・操作不能(タッチパネル無い&マウスカーソル出ない)・首を曲げないと見るのが辛い・操作不能(タッチパネル無い&マウスカーソル出ない)
  70. 70. PandaBoard ES で Firefox OS●マウスカーソルに対応https://bugzilla.mozilla.org/show_bug.cgi?id=781039●横画面表示に対応https://bugzilla.mozilla.org/show_bug.cgi?id=851442gecko へのパッチhttp://sola-dolphin-1.net/data/B2G/patch/panda/0001-enable-landscape-orientation-for-Pandaboard-DVI-outp.patchhttp://sola-dolphin-1.net/data/B2G/patch/panda/0001-Add-mouse-cursor.patchdevice/ti/panda へのパッチhttp://sola-dolphin-1.net/data/B2G/patch/panda/0001-Set-the-screen-orientation-to-landscape.patch
  71. 71. PandaBoard ES で Firefox OS●PandaBoard ES で Firefox OS が起動した様子小さくて見難いが、これがカーソルマジメに使うならもう少し大きく表示するように変更するのが良い。小さくて見難いが、これがカーソルマジメに使うならもう少し大きく表示するように変更するのが良い。
  72. 72. PandaBoard ES で Firefox OS●ホームキーの場所
  73. 73. PandaBoard ES で Firefox OS●Nexus S 向けに行った日本語化対応等は PandaBoard にも適用出来る
  74. 74. 以上のような Nexus や PandaBoard で Firefox OSを使うというブログ記事を KEON と PEAK が届かないので上げ続けた(お前らの端末イラネーよという意味を込めて)
  75. 75. そして geeksphone からメールが届く
  76. 76. 5/9 Geeksphone からの残念な連絡●メールのタイトルが「 PROBLEM WITH ORDER 」●本文は代引での注文は日本に発送出来ないという内容(過去のやり取りは何だったのかと思った・・・)TL で同様のメールが届いた人が問い合わせたところ、銀行振込に変更するしか手段が無いらしい。スペインへの送金は金かかるのでほぼ諦め状態に。
  77. 77. 5/13怪しい人からの連絡
  78. 78. 5/13 怪しい人からの転売情報が届く【ゆるぼ】と書いているが、特定の個人宛に書いている怪しい人【ゆるぼ】と書いているが、特定の個人宛に書いている怪しい人
  79. 79. 取引現場PEAK を入手しましたPEAK を入手しました
  80. 80. KEON は在庫復活した隙に注文して5/16 に入手しました
  81. 81. KEON と PEAK 向けに Firefox OS をビルドする※ 入手したのでやらないわけにはいかない
  82. 82. KEON 向けに Firefox OS をビルドする●Mozilla Developer Network の Firefox OS の所に手順があります。http://goo.gl/ZfNdA
  83. 83. KEON 向けに Firefox OS をビルドする●ソースコード取得&ビルド$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh keon日本語化等、変更を加える場合はここで作業を行う。高解像度向けの変更( gaia を master にして HIDPI を設定)は不要。$ device/geeksphone/keon$ ./extract-files.sh(実機からファイルを吸い出すので、 PC と USB 接続しておく)$ cd -$ ./build.sh
  84. 84. KEON 向けに Firefox OS をビルドする●KEON への書き込みfastboot モードにして以下を実行$ fastboot flash boot out/target/product/keon/boot.img$ fastboot flash system out/target/product/keon/system.img$ fastboot flash userdataout/target/product/keon/userdata.img
  85. 85. KEON 向けに Firefox OS をビルドする●さすが開発者向け端末。特に問題は無かった。
  86. 86. PEAK 向けに Firefox OS をビルドする●Mozilla Developer Network の Firefox OS の所に手順があります。http://goo.gl/ZfNdA
  87. 87. PEAK 向けに Firefox OS をビルドする●ソースコード取得&ビルド$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh peakKEON と PEAK のビルド環境で調べた通り、デフォルトの v1-train ブランチには peak.xml が無いのでエラーとなる。fatal: manifest peak.xml not availablefatal: manifest peak.xml not foundRepo sync failed
  88. 88. PEAK 向けに Firefox OS をビルドする●考えた解決策– master ブランチからソースを取得する– keon.xml から peak.xml を作るデバイスの固有部分だけを PEAK 向けにする
  89. 89. PEAK 向けに Firefox OS をビルドする●考えた解決策– master ブランチからソースを取得する– keon.xml から peak.xml を作るデバイスの固有部分だけを PEAK 向けにする
  90. 90. PEAK 向けに Firefox OS をビルドする●master ブランチからソースを取得するように変更$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ BRANCH=master ./config.sh peak日本語化等、変更を加える場合はここで作業を行う。今回の場合は gaia は既に master になっている。$ cd device/geeksphone/peak$ ./extract-files.sh(実機からファイルを吸い出すので、 PC と USB 接続しておく)$ ./build.sh
  91. 91. PEAK 向けに Firefox OS をビルドする●PEAK への書き込みfastboot モードにして以下を実行$ fastboot flash boot out/target/product/peak/boot.img$ fastboot flash system out/target/product/peak/system.img$ fastboot flash userdataout/target/product/peak/userdata.img
  92. 92. PEAK 向けに Firefox OS をビルドする●PEAK もうまくいったか ... ?問題無さそうに見えるが、キャプチャを取得すると 360x640 という謎の解像度で取得されていた。本当のサイズは 540x960 のはず。原因は gecko か gonk-misc と予想してる。これらを v1-train ではなくて master で使用してるのが Nexus S の環境と大きく異なる点のため。
  93. 93. PEAK 向けに Firefox OS をビルドする●考えた解決策– master ブランチからソースを取得する– keon.xml から peak.xml を作るデバイスの固有部分だけを PEAK 向けにする
  94. 94. PEAK 向けに Firefox OS をビルドする●keon.xml から peak.xml を作って、ソースを取得してみる$ git clone git://github.com/mozilla-b2g/B2G.git$ cd B2G$ ./config.sh keon ( keon 向けに一度ソースを取得する)peak.xml を作成する$ cd .repo/manifests$ cp keon.xml peak.xml
  95. 95. PEAK 向けに Firefox OS をビルドする●peak.xml の変更内容KEON 固有のリポジトリは「 <!-- Keon specific things --> 」の下に書かれているので、まずはこれを削除する。次に master ブランチにある peak.xml の「 <!-- Peak specificthings --> 」の下に書かれているものを keon.xml から作成したkeon.xml に追記する。
  96. 96. PEAK 向けに Firefox OS をビルドする●peak.xml の編集後にやること$ cd B2G/.repo$ rm manifest.xml$ ln -s manifests/peak.xml manifest.xml$ cd -$ repo syncrepo sync 完了後はビルドして、完了後に出来たイメージを PEAK に書き込む。シンボリックリンクを作り直してるのは、ビルド中にmanifest.xml の内容をチェックするようで、 keon.xml を指してるままだと keon 関連のファイルが無いと言って怒られるため。
  97. 97. PEAK 向けに Firefox OS をビルドする●今度はうまくいった!540x960 でキャプチャを撮ることが出来た。解像度がおかしくなる原因は gecko かgonk-misc でほぼ当たりと思うが、調べるモチベーションが無くて放置中。PEAK 以外の高解像度端末に対応する際、何か必要なノウハウが出てくるかもしれないが ...
  98. 98. Firefox OS をカスタマイズしてみる
  99. 99. Firefox OS をカスタマイズした結果
  100. 100. Firefox OS をカスタマイズした結果●KEON をけいおん!に
  101. 101. Firefox OS をカスタマイズしてみる●変更したファイルgaia/apps/homescreen/style/dock.cssgaia/apps/system/style/lockscreen/lockscreen.cssgaia/apps/system/style/notifications/notifications.cssgaia/apps/system/style/statusbar/statusbar.cssbackground 等に画像を指定してるだけ。この辺の設定に関しては Android と比べて楽だと感じてる。課題は自分が JavaScript や CSS をサクサク読めない事くらい。
  102. 102. JCROM Project for Firefox OS (仮)
  103. 103. JCROM Project for Firefox OS (仮)●Firefox OS でもカスタム ROM を作る●JCROM のように見た目を自分好みに変える機能を作る●当面はベースとなる Firefox OS の環境を安定させる事(ビルドが通る、ちゃんと起動する等)サイトの URLhttps://sites.google.com/site/jcromfirefox/環境構築、ビルド手順などを書いていく予定。ソースコードは Github で公開しています。https://github.com/sola-dolphin1
  104. 104. JCROM Project for Firefox OS (仮)カスタマイズの詳細は「関東 Firefox OS 勉強会 1st( 仮 ) 」で。http://atnd.org/events/39556「 Firefox OS 向けのカスタム ROM 開発」として話をする予定。
  105. 105. スライド終了

×