Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ZTE OPEN を日本語化(バージョンアップ)してみる

7,185 views

Published on

ZTE OPEN を日本語化 ( バージョンアップ )してみる
関西Firefox OS勉強会 5th GIG 発表内容の資料です。

  • Dating direct: ❤❤❤ http://bit.ly/36cXjBY ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/36cXjBY ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ZTE OPEN を日本語化(バージョンアップ)してみる

  1. 1. 関西Firefox OS勉強会 5th GIG ZTE OPEN を 日本語化 ( バージョンアップ ) してみる robo 1 ZTE OPEN を日本語化(バージョンアップ)してみる
  2. 2. 自己紹介 名前    robo(兼高理恵) ● お仕事   Java 技術者 ●        設計から実装まで 好きなもの  モバイル端末 ● 2 ZTE OPEN を日本語化(バージョンアップ)してみる @cch_robo
  3. 3. アンロック済み ZTE OPEN 販売 mojilla Japan さんから、2013年10月18日に、 Firefox OS 端末 ZTE OPEN が、アメリカや香港の eBay ストアで、日本からでも購入できるようになった と発表されました。 価格は、79.99ドルと郵送料を含めても1万円を切る低価格(*1)です。 今回発売する機材から fastboot 機能が追加(要するにアンロック)されていて、 独自のビルドで Firefox OSを置き換えることが可能になっています。 (*1)私が購入した時には、送料込みで9700円を切っていました Firefox OS導入「ZTE Open」が日本でも購入可能に http://www.itmedia.co.jp/mobile/articles/1310/18/news098.html The Firefox OS ZTE OPEN https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN (※)ZTE OPEN を購入するためのリンクや、サポートについてが紹介されています。 3 ZTE OPEN を日本語化(バージョンアップ)してみる
  4. 4. 今回の発表について ZTE OPEN 販売開始から、1ヶ月がたちましたこともあり、  バージョンアップや日本語化を行う独自ビルドについては、   既に複数の方が公開されています。(*1)(*2) また、Firefox OS の進化は、著しく、ソースの更新(ビルド手法 の変更)も活発なため、ビルドノウハウも、すぐに古くなる恐れ があると思います。 このため、今回の発表は、各位の方々の後追いとなりますうえ、 恒久的な情報と限らないことを気に留めていただくため、 (2013/11/16)に取得した、ZTE OPEN 向けV1.2ソースからの 日本語化やバージョンアップにおける私的なまとめとして    発表いたします旨、ご了承ください。 [Firefox OS]ZTE OpenをbuildしてみたAdd Star http://d.hatena.ne.jp/gsh-kz/20131106/1383667204 ZTE Open 日本語化が出来るかた https://groups.google.com/forum/#!topic/firefoxos/cVOvVAhjc24 4 ZTE OPEN を日本語化(バージョンアップ)してみる
  5. 5. 独自ビルド対象のバージョンについて Firefox OS のソース・リポジトリには、 現在6つのバージョン・タグがあるようです。 Master、 v1.0.0、 v1.0.1 v1.1.0hd、 v1.2、 v1-train 今回は、v1.2をビルドすることにしました。 現時点では、masterが v1.3 preview となり、 v1-trainが、v1.1(次リリース版)となるそうです。 Github mozilla-b2g https://github.com/mozilla-b2g Github mozilla-b2g / gaia https://github.com/mozilla-b2g/gaia (※)branch のドロップダウンリストを見れば、現状のブランチ状況が確認できます。 5 ZTE OPEN を日本語化(バージョンアップ)してみる
  6. 6. ROM焼きに必要なコマンド 初めての Firefox OS ビルドを ZTE OPENでされる方もおられることと思いますので、 ビルドや環境構築に入る前に、 ビルド・イメージのフラッシュ(ROM焼き)に必要な、 adb と fastboot コマンドについて簡単に紹介します。 ROM焼きの基礎用語については、参考資料等を御参照ください。 参考資料 ちむどろいど:ROM焼き用語解説&FAQ&Tips集 http://chimtty.blogspot.jp/2012/07/android.html 6 ZTE OPEN を日本語化(バージョンアップ)してみる
  7. 7. fastbootモードなどを起動するコマンド 端末とUSB接続が行える場合、adb コマンドや fastboot コマンドで、コ ンソールから端末をリブートさせたり、リカバリモードなどで起動させ ることができます。 adb reboot recovery [ENTER] (※)リカバリモード(メニュー)を起動 adb reboot bootloader [ENTER] (※)fastboot モード待機(fastboot コマンド待ち) fastboot reboot [ENTER] (※)fastboot モード中に実行すると再起動 adb コマンドを利用するには、端末のRemote debuggingを有効にしておく必要があります。 Settings > Device infomation > More Infomation > Developer > Remote debugging adb や fastboot を利用するには、 USB接続ができることと、Android SDK が必要になります。 Android SDK の導入については、後段の「環境構築の流れ」を 参照して下さい。 7 ZTE OPEN を日本語化(バージョンアップ)してみる v
  8. 8. ZTN OPEN の手動リカバリモード起動 1.電源を切っておきます。 2.音量アップボタンを押しながら、電源ボタンを 数秒間押し続けます。  (端末が振動すれば、ボタンを離してもOKです) 3.起動イメージ表示された後、リカバリーモードに入ります。 リカバリーモードでは、 音量ボタンの+ーで、カーソルが上下し、 電源ボタンでカーソル行のメニューを実行されます。 8 ZTE OPEN を日本語化(バージョンアップ)してみる
  9. 9. リカバリモード画面 メニュー画面 コマンド一覧 reboot system now apply update from external stor wipe data/factory reset wipe cache partition apply update from cache md5 check SDカードに、後述の ZTE OPEN のアップデート.zipを コピーしておけば、独自ビルドが気に入らなかった場合でも 少なくとも工場出荷時の状態に戻せるようになります。 apply update from external storを選択すると、 SDカードのファイル一覧が表示されます。 音量の+ーで、カーソルが移動しますので、 アップデートに利用するファイルを選んだら、 電源キーでアップデートを実行します。 Firefox OS端末 KEON をrecoveryモードやbootloaderを起動してみた http://blog.livedoor.jp/dupondroid/archives/7857501.html 9 ZTE OPEN を日本語化(バージョンアップ)してみる
  10. 10. ZTE OPEN を工場出荷時(V1.0.0B02)にもどす ZTE OPEN のアップデート・ファイルを利用して 端末を工場出荷時の状態にもどすことができます。 アップデート・ファイルのダウンロード元 ZTE Support OPEN(American Standard) Download ページ http://www.ztedevices.com/support/smart_phone/b5a2981a-1714-4ac7-89e1-630e93e220f8.html (※)DOWNLOAD タグをクリックすると、ダウンロードのページに切り替わります。 ダウンロードファイル OPEN(American Standard) SD card upgrading instruction & software package(ebay)-223990B0249OPEN_US_DEV_FFOS_V1.0.0B02 ファイル名:2013092610235139.zip 10 ZTE OPEN を日本語化(バージョンアップ)してみる
  11. 11. ZTE OPEN を工場出荷時(V1.0.0B02)にもどす ダウンロードしたファイルを展開すると、 説明PDFとアップデート・イメージ(zipファイル)が 含まれています。 Instruction of ZTE OPEN project SD card upgrade.pdf US_DEV_FFOS_V1.0.0B02_USER_SD.zip 11 ZTE OPEN を日本語化(バージョンアップ)してみる
  12. 12. ZTE OPEN を工場出荷時(V1.0.0B02)にもどす アップデート手順 1.端末に保管していたデータは、バックアップをとっておきます。 2.SIMカードを抜いておきます。 3.SDカードに US_DEV_FFOS_V1.0.0B02_USER_SD.zip を update.zip に変名してコピーします。 4.バッテリーが十分であることを確認してください。  (※)SDカードを利用したアップデートは、1~2分で終了します。 5.端末 の Settings > Developer > Debug で  Remote debugging を有効にしておきます。 アップデート手順は、次ページに続きます。  12 ZTE OPEN を日本語化(バージョンアップ)してみる
  13. 13. ZTE OPEN を工場出荷時(V1.0.0B02)にもどす 6.電源OFFから、電源キーを押したままで Volume UP キーを押して、  firefox OS を recovery mode にします。 7.サイドキーのdownで、"apply update from external sdcard"を  選択して、電源キーを押します。 8.サイドキーの up/down で、SDカードの update.zip ファイルを  選択して、電源キーを押します。 9.アップデートが始まります。 (アップデートには、1~2分かかります) 10.アップデートが終了しましたら、  reboot system now を選択して、再起動させます。 アップデート手順は、以上です。  13 ZTE OPEN を日本語化(バージョンアップ)してみる
  14. 14. 14 ZTE OPEN を日本語化(バージョンアップ)してみる
  15. 15. ビルド条件の確認 今回の独自ビルドでは、 Ubuntu 12.04 LTS 64bit版を利用しましたので、 以降のビルド手順は、12.04でビルドした場合の 例となっています。 他のバージョンのUbuntuや 他のディストリビューションを使う場合は、 参考資料の説明にしたがって修正を行ってください。 参考資料 Firefox OS ビルドの必要条件 https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites 15 ZTE OPEN を日本語化(バージョンアップ)してみる
  16. 16. Linux でのビルド必要条件 64 ビット版 GNU/Linux ディストリビューション (Ubuntu 12.04 推奨) 最低 4 GB の RAM 及び スワップ空間 最低 20 GB のハードディスク空間 その他の細かな環境設定につきましては、 後段の「環境設定の流れ」と「ビルドの流れ」で 説明させていただきます。 16 ZTE OPEN を日本語化(バージョンアップ)してみる
  17. 17. 環境構築の流れ 環境構築の流れは、以下の様になっています。  必要なツールのインストール  Java6 (JDK)のインストール  Android SDK のインストール  USBの設定 詳細については、各項目用のページで説明いたします。 17 ZTE OPEN を日本語化(バージョンアップ)してみる
  18. 18. 必要なツールのインストール 必要なツールをインストールするには、 ターミナルで、以下のコマンドを実行します。 $ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make (※)折り返しされていますが、1行のコマンドです。 64ビット版 Ubuntu でビルドする際は、以下のコマンドで、 32ビットバージョンの libX11.so と libGL.so のシンボリック リンクも追加しておくそうです。 $ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so 参考先 Firefox OS ビルドの必要条件 https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites 18 ZTE OPEN を日本語化(バージョンアップ)してみる
  19. 19. JDK インストール ダウンロード元 Java SE 6 Downloads http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html ダウンロード・アーカイブ Java SE Development Kit 6u45のリンク先から以下をDLします。 jdk-6u45-linux-x64.bin (※)64bit Linux以外の方は、御自身の環境にあったファイルをDLしてください。  Java 6 は、保守期間が終了したため、ダウンロードするには、  Oraceleプロファイル(Oracleユーザ登録)の登録が必要です。 19 ZTE OPEN を日本語化(バージョンアップ)してみる
  20. 20. JDK インストール インストール ダウンロードしたファイルに実行権限を与えて 任意のディレクトリ[JAVA_HOME]に配置してから 実行するとファイルが自動展開されます。 環境設定 [JAVA_HOME]/binへのパスをPATHに追加します。 $ export PATH=[JAVA_HOME]/bin:$PATH ● 20 ZTE OPEN を日本語化(バージョンアップ)してみる
  21. 21. Android SDK インストール adbとfastbootを使うため Android SDK をインストールします。 ダウンロード元 Android Developers:Android SDK http://developer.android.com/intl/ja/sdk/index.html SDKだけが必要(IDE不要)なので、以下をダウンロードします。 Get the Android SDK ページの USE AN EXISTING IDE を開いて、 [Download the SDK Tools for Linux]ボタンをクリックします。 (※)当該ページをLinux以外で開いた場合は、手動でLinux用のSDKを選択してください。 21 ZTE OPEN を日本語化(バージョンアップ)してみる
  22. 22. Android SDK インストール インストール tgz ファイルがダウンロードされるので、 任意のディレクトリ[ANDROID_SDK]に展開します。 環境設定 [ANDROID_SDK]/platform-toolsへのパスをPATHに追加します。 $ export PATH=[ANDROID_SDK]/platform-tools:$PATH sola:Keon と Peak が届かないので、Nexus S を Firefox OS 端末にしてみた http://blog.sola-dolphin-1.net/archives/4450956.html Firefox OS ビルドの必要条件 > adb のインストール https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites 22 ZTE OPEN を日本語化(バージョンアップ)してみる
  23. 23. USB の設定 Android 端末と PC を繋ぐための設定 /etc/udev/rules.d/ ディレクトリに、 51-android.rules ファイルを作成して、以下を記述します。 SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev" (※)折り返されていますが、1行の内容です。 ファイルを保存して終了し、ファイルに読み込み属性を付けます。 $ sudo chmod a+r /etc/udev/rules.d/51-android.rules 次のコマンドを実行して設定を有効化します。 $ sudo /etc/init.d/udev restart sola:Keon と Peak が届かないので、Nexus S を Firefox OS 端末にしてみた http://blog.sola-dolphin-1.net/archives/4450956.html Firefox OS ビルドの必要条件 > あなたのスマートフォンに対する udev ルールの設定 https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites 23 ZTE OPEN を日本語化(バージョンアップ)してみる
  24. 24. 独自ビルドの流れ 初回ビルドと2回目以降のビルドでは、 手順が少し変わります。    初回ビルド   全ソース取得(クローン)    ↓   日本語ロケール・リソース作成    ↓   ソースへのパッチ当て    ブートロゴのオフィシャル化    FMラジオ    エラー対応    ↓   日本語化    日本語対応    日本語IME対応   USB接続処置   ビルド実行   boot.imgコピー   フラッシュ 24    2回目以降のビルド   更新ソース取得(同期)    ↓   出力フォルダ・クリア    ↓   (以降は、初回時と同じ)   ソースへのパッチ当て   日本語化   ビルド実行   boot.imgコピー   フラッシュ ZTE OPEN を日本語化(バージョンアップ)してみる
  25. 25. 初回ビルドの流れ「詳細」 25 ZTE OPEN を日本語化(バージョンアップ)してみる
  26. 26. 全ソース取得(リポジトリ・クローン) 全ソース取得(リポジトリ・クローン)を行うため、 以下のようなシェルスクリプト・ファイル(ffos_clone.sh)を作成して 実行権限をつけます。 #リポジトリ作成 (初回のみ必要) export B2G_WORK=[作業ディレクトリ] mkdir [作業ディレクトリ] cd $B2G_WORK git clone git://github.com/mozilla-b2g/B2G.git #Firefox OS 全ソース取得 (初回のみ必要) #端末別ソース・クローン (inariは、zte openを示します) cd B2G echo start=`date` > ../repo_clone.log BRANCH=v1.2 ./config.sh inari 2>&1 | tee --append ../repo_clone.log echo end=`date` >> ../repo_clone.log Preparing for your first B2G build > Clone B2G repository Preparing for your first B2G build > Building a branch https://developer.mozilla.org/en-US/Firefox_OS/Preparing_for_your_first_B2G_build 26 ZTE OPEN を日本語化(バージョンアップ)してみる
  27. 27. 全ソース取得(リポジトリ・クローン) 前ページの補足説明 [作業ディレクトリ]には、任意のディレクトリ(~B2G_work など)を 指定して下さい。 下記のコマンドについては、複数の指定が含まれています。 BRANCH=v1.2 ./config.sh inari 2>&1 | tee --append ../repo_clone.log (※)重要なのは、BARNCH=v1.2 ./config.sh inari のみです。 1.BRANCH=v1.2 では、取得するブランチをv1.2に指定しています。   この記述により、config.sh の実行環境に BRANCH=v1.2 という環境変数を指定しています。   Firefox OS ソースのバージョン(ブランチ)は、「独自ビルド対象のバージョンについて」を参照下さい。 2.config.sh 後ろのオプションで、端末を ZTN OPEN に指定しています。 3.2>&1 から repo_clone.log は、ログファイル出力の指定です。 前ページのシェルスクリプト・ファイル(ffos_clone.sh)を実行すると、    全ソース取得手順を一括で行います。 27 ZTE OPEN を日本語化(バージョンアップ)してみる
  28. 28. 日本語ロケール・リソース作成 日本語ロケール・ファイルの作成 下記のような、文字コードがutf-8、改行がUnix形式で、ファイル名を languages-ja.json とした、日本語ロケールのリソース・ファイルを作成し 任意の[日本語ロケール保管元]に保管しておきます。 (※)この日本語ロケール・ファイルは、ビルド時に利用します。 { } "en-US" "ja" : "English (US)", : "日本語" sola:FirefoxOS の日本語化 http://blog.sola-dolphin-1.net/archives/4389313.html#more 水城珠洲の日記4th final:Firefox OS/masterのビルド方法 (日本語化含む) http://minashiro.net/computer/how-to-build-firefox-os-master-including-japanese/ 28 ZTE OPEN を日本語化(バージョンアップ)してみる
  29. 29. ソースへのパッチ当て ブートロゴのオフィシャル・イメージ化 ソースの以下のファイルに、パッチを当てます。 [作業ディレクトリ]/B2G/gaia/Makefile 252行目に下記を追加しました。 MOZILLA_OFFICIAL=1 ※MOZILLA_OFFICIAL を参照してる箇所の前に記述しています。 sola:FirefoxOS の日本語化 http://blog.sola-dolphin-1.net/archives/4389313.html#more 29 ZTE OPEN を日本語化(バージョンアップ)してみる
  30. 30. ソースへのパッチ当て FMラジオの日本対応 ソースの以下のファイルに、パッチを当てます。 [作業ディレクトリ]/B2G/gecko/dom/fmradioFMRadioService.cpp 64行目を変更 switch (Preferences::GetInt("dom.fmradio.band", BAND_87500_108000_kHz)) { ↓ ↓ ↓ switch (Preferences::GetInt("dom.fmradio.band", BAND_76000_108000_kHz)) { ソースの以下のファイルに、パッチを当てます。 [作業ディレクトリ]/B2G/gaia/apps/fm/js/fm.js 23行目を変更  frequencyLowerBound: 87.5, ↓ ↓ ↓  frequencyLowerBound: 76, 水城珠洲の日記4th final:Firefox OSのラジオの設定変更 http://minashiro.net/computer/configuration-changes-of-radio-firefox-os/ 30 ZTE OPEN を日本語化(バージョンアップ)してみる
  31. 31. ソースへのパッチ当て 日本語辞書ビルド時のエラー対応パッチ 私のビルド環境では、 日本語辞書のjsonビルド時に以下のようなエラーが出ました。 Traceback (most recent call last): File "conv.py", line 29, in <module> print kanji, freq, kana UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) (※)B2G/gaia/apps/keyboard/js/imes/jskanji/dict/conv.py 29行目の print kanji, freq, kana でエラーが発生しています。 31 ZTE OPEN を日本語化(バージョンアップ)してみる
  32. 32. ソースへのパッチ当て 日本語辞書ビルド時のエラー対応パッチ エラーの原因を調べてみると、 Python のデフォルトの文字エンコーディングが ASCII に なっているので、Unicodeエンコードに失敗していたようです。 しょうがないので、conv.py のエラー部に、以下のようなパッチ を行いビルドを通しました。 print kanji, freq, kana ↓ print kanji.encode('utf_8'), freq.encode('utf_8'), kana.encode('utf_8') このパッチは、他の方の環境では不要かもしれません。 Python による日本語自然言語処理 http://nltk.googlecode.com/svn-/trunk/doc/book-jp/ch12.html PythonのUnicodeEncodeErrorを知る http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html 32   ZTE OPEN を日本語化(バージョンアップ)してみる
  33. 33. ソースへのパッチ当て 日本語辞書ビルド時のエラー対応パッチ [補足] conv.py では、json ライブラリ(simplejson)を使っていますが、 Python 2.6以上を利用していれば、json対応済みなので、 特に何もすることはないようです。 18.2. json ? JSON エンコーダおよびデコーダ http://docs.python.jp/2.6/library/json.html (※)Python の import json 対応は、バージョン 2.6 で追加されたそうです。 33 ZTE OPEN を日本語化(バージョンアップ)してみる
  34. 34. 日本語対応 日本語対応(日本語化対応)を行うため、 新たにビルド用のシェルスクリプト・ファイル(ffos_build.sh)を作成して、 実行権限をつけます。前半部には、以下の日本語対応手順を記述します。 #日本語対応 export B2G_WORK=[作業ディレクトリ] cd $B2G_WORK #gaia 用の設定 hg clone http://hg.mozilla.org/gaia-l10n/ja gaia-l10n/ja export LOCALE_BASEDIR=$PWD/gaia-l10n cp [日本語ロケール保管元]/languages-ja.json $PWD/B2G/ gaia/shared/resources/languages-ja.json (実際は、cpから1行です) export LOCALES_FILE=$PWD/B2G/gaia/shared/resources/languages-ja.json #gecko 用の設定 hg clone http://hg.mozilla.org/l10n-central/ja gecko-l10n/ja export L10NBASEDIR=$PWD/gecko-l10n export MOZ_CHROME_MULTILOCALE="ja" hg clone http://hg.mozilla.org/build/compare-locales export PATH="$PATH:$PWD/compare-locales/scripts" export PYTHONPATH="$PWD/compare-locales/lib" 34 ZTE OPEN を日本語化(バージョンアップ)してみる
  35. 35. 日本語対応 前ページの補足説明 [作業ディレクトリ]には、任意のディレクトリ(~B2G_work など)を [日本語ロケール保管元]には、日本語ロケール・リソース作成で利用した ディレクトリを指定して下さい。 コマンド中で、hg を利用していますので、mercurial のインストールも必要です。 mercurial のインストール $ sudo apt-get install mercurial 前ページのシェルスクリプト部が実行されると、 日本語対応処理の環境設定が行われます。 sola:Keon と Peak が届かないので、Nexus S を Firefox OS 端末にしてみた http://blog.sola-dolphin-1.net/archives/4450956.html Building Firefox OS > Building multilocale https://developer.mozilla.org/en-US/Firefox_OS/Building 35 ZTE OPEN を日本語化(バージョンアップ)してみる
  36. 36. 日本語対応 日本語対応(日本語IME対応)を行うため、 ビルド用のシェルスクリプト・ファイル(ffos_build.sh)の中盤部に、 以下のような日本語IME対応手順を記述します。 #日本語辞書の設定 export B2G_WORK=[作業ディレクトリ] cd $B2G_WORK echo start=`date` > $B2G_WORK/build-dic.log #辞書データの展開 #辞書を http://sourceforge.jp/projects/naist-jdic/releases/ より # naist-jdic-0.4.3.tar.gz をダウンロードして、以下の用に展開しておいてください。 #cd $B2G_WORK/NAIST-jdic-0.4.3 #tar zxvf naist-jdic-0.4.3.tar.gz #辞書データ・ディレクトリ作成 cd $B2G_WORK/B2G/gaia/apps/keyboard/js/imes/jskanji/dict mkdir ipadic #展開辞書データをコピー cp $B2G_WORK/NAIST-jdic-0.4.3/naist-jdic-0.4.3/naist-jdic.dic ipadic/ #辞書のビルド (conv.py の print kanji, freq, kana にパッチをあてておくこと) cd $B2G_WORK/B2G/gaia/apps/keyboard/js/imes/jskanji/dict make json 2>&1 | tee --append $B2G_WORK/build-dic.log echo end=`date` >> $B2G_WORK/build-dic.log 36 ZTE OPEN を日本語化(バージョンアップ)してみる
  37. 37. 日本語対応 前ページの補足説明 [作業ディレクトリ]には、任意のディレクトリ(~B2G_work など)を 指定して下さい。 辞書データのダウンロードと展開 http://sourceforge.jp/projects/naist-jdic/releases/ より 辞書 naist-jdic-0.4.3.tar.gz をダウンロードしてから、 [作業ディレクトリ]/NAIST-jdic-0.4.3 にコピーして展開しておきます。 展開コマンド $ cd [作業ディレクトリ]/NAIST-jdic-0.4.3 $ tar zxvf naist-jdic-0.4.3.tar.gz 前ページのシェルスクリプト部が実行されると、 日本語IME対応のビルド(辞書生成)が行われます。 sola:Keon と Peak が届かないので、Nexus S を Firefox OS 端末にしてみた http://blog.sola-dolphin-1.net/archives/4450956.html 37 ZTE OPEN を日本語化(バージョンアップ)してみる
  38. 38. USB接続処置 初回ビルド時には、ZTE OPEN を USB でつないでおくこと ビルド時には、端末のリモートデバッグを有効にして、 USB接続をしておかないと、以下のようなエラーが出ます。 Pulling files from ../../../backup-inari cat: ../../../backup-inari/system/build.prop: そのようなファイルやディレクト ●リはありません ビルド時に ZTE OPEN と PC を USB でつないでおくと、 B2G/backup-inari というディレクトリが作られ、 ZTE OPEN から XXX.so ファイル等がバックアップされます。 USB接続が必要なのは、初回時のみです。 USB接続で、必要なバイナリがバックアップされると 次回からは、ローカルの backup-inari のファイルが利用されます。 38 ZTE OPEN を日本語化(バージョンアップ)してみる
  39. 39. ビルド実行 ビルドの実行を行うため、 ビルド用のシェルスクリプト・ファイル(ffos_build.sh)の 後半部に、以下のようなビルド実行手順を記述します。 #ビルド開始 (※)初回ビルド時のみ、端末とUSB接続してください。 export B2G_WORK=[作業ディレクトリ] cd $B2G_WORK/B2G echo start=`date` > ../build.log #gccは、4.6以前を指定されているので環境変数を設定する。 #gccのバージョンが4.6の場合は不要。 export CC=gcc-4.6 export CXX=g++-4.6 #ビルド実行 ccache --max-size 3GB ./build.sh -j2 2>&1 | tee --append ../build.log #カスタムbootイメージのコピー cp [カスタムイメージ保管元]/boot_adapted_for_zte_open_commertial_ editions.img out/target/product/inari/boot.img (実際は、cpから一行です) echo end=`date` >> ../build.log 39 ZTE OPEN を日本語化(バージョンアップ)してみる
  40. 40. ビルド実行 前ページの補足説明 [作業ディレクトリ]には、任意のディレクトリ(~B2G_work など)を [カスタムイメージ保管元]には、次ページのカスタムbootイメージを 保管したディレクトリを指定して下さい。 build.sh -j2 のオプション -j<並列数>は、 ビルド・タスクの並列実行数を指定しています。 PCのコア数に応じて、並列数を増やすとビルド時間を短縮できます。 エラー解析などでログを混ぜたくないときは、-j1 を指定してください。 前ページのシェルスクリプト部が実行されると、 ZTE OPEN の独自ビルドが行われます。 Boot to Gecko のビルド https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko Firefox OS ビルドの必要条件 https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites 40 ZTE OPEN を日本語化(バージョンアップ)してみる
  41. 41. boot.img コピー カスタムbootイメージのコピーが必要です ビルドが成功した場合、 [作業用ディレクトリ]/B2G/out/target/product/inari に、 system.img ramdisk.img userdata.img が作成されますが、 boot.img は作成されません。 カスタムROM用の boot.img がないと、起動に失敗してしまいます。 カスタムROM用のbootイメージについては、 下記のサイトでを配布されていますので、これを利用させてもらいます。 Experiencias con Software Libre Adapted boot image for use with B2G custom builds on zte open http://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html (※)boot.img が作成されない理由についても説明されています。 41 ZTE OPEN を日本語化(バージョンアップ)してみる
  42. 42. boot.img コピー 前記サイトに記載されている下記説明文の赤文字部のリンクから、 カスタムイメージ用の bootイメージをダウンロードして下さい。 1.Download boot_adapted_for_zte_open_commercial_editions.img 1.Download boot_adapted_for_zte_open_commercial_editions.img 2.Change the filename as boot.img copy into 2.Change the filename as boot.img and and copy into /out/target/product/inari/ /out/target/product/inari/ 3.Run ./flash.sh 3.Run ./flash.sh (リンク先:https://mega.co.nz/#!uJ52xZJa!M_YwAEXRwifN21QmQbHgNCcEc5Ml2CKw57IBGxnvdm4 ) ダウンロードしたファイルは、 [カスタムイメージ保管元]に保管しておき、 ビルド成功時には、ファイル名を boot.img にして [作業用ディレクトリ]/B2G/out/target/product/inari にコピーします。 The Firefox OS ZTE OPEN > サポート https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN FirefoxOS 1.2 on ZTE Open http://rowehl.com/blog/2013/10/24/firefoxos-1-dot-2-on-zte-open/ 42 ZTE OPEN を日本語化(バージョンアップ)してみる
  43. 43. フラッシュ ビルドに成功して、 カスタムbootイメージをコピーしていれば、 フラッシュ(ROM焼き)が行えます。 フラッシュ実行のコマンド $ cd $B2B_WORK/B2G $ adb reboot bootloader $ sudo ./flash.sh 上記のコマンドを実行すると、フラッシュ(ROM焼き)が行われます。 リブート後には、独自ビルドのカスタムシステムが起動します。 The Firefox OS ZTE OPEN > 動かなくなったとき https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN (※)ビルドに成功した、各種イメージから直接フラッシュする例があります 43 ZTE OPEN を日本語化(バージョンアップ)してみる
  44. 44. 2回目以降ビルドの流れ 「詳細」 44 ZTE OPEN を日本語化(バージョンアップ)してみる
  45. 45. 更新分ソース取得(リポジトリ同期) 更新分ソース取得(リポジトリ同期)を行うため、 以下のようなシェルスクリプト・ファイル(ffos_sync.sh)を作成して 実行権限をつけます。 #リポジトリ・同期 export B2G_WORK=[作業ディレクトリ] cd $B2G_WORK/B2G echo start=`date` > ../repo_sync.log git pull 2>&1 | tee --append ../repo_sync.log ./repo sync -d 2>&1 | tee --append ../repo_sync.log echo end=`date` >> ../repo_sync.log [作業ディレクトリ]には、任意のディレクトリ(~B2G_work など)を 指定して下さい。 このシェルスクリプト・ファイル(ffos_sync.sh)を実行すると、 全ソース更新(最新化)手順を一括で行います。 Building Firefox OS > Updating your code https://developer.mozilla.org/en-US/Firefox_OS/Building 45 ZTE OPEN を日本語化(バージョンアップ)してみる
  46. 46. 出力フォルダ・クリア ソース修正やエラーなどで、 ビルドを最初からやり直したいときは、 ビルドによって作成された、 [作業用ディレクトリ]/B2G/out と、 [作業用ディレクトリ]/B2G/objdir-gecko を 削除しておきます。 46 ZTE OPEN を日本語化(バージョンアップ)してみる
  47. 47. トラブル対応:system フラッシュに失敗する ビルドに成功していても、 system.imgのフラッシュに失敗することが数回ありました。 (※)エラー内容は、プロトコルがおかしいと指摘されていました。 どこかのソースが壊れてしまったのか、上記が発生すると、 何度ビルドしてもフラッシュに失敗してしまいます。 このため、flash エラーが出た場合は、 ビルド環境の全ソースを捨てることにして対応しました。 47 ZTE OPEN を日本語化(バージョンアップ)してみる
  48. 48. 48 ZTE OPEN を日本語化(バージョンアップ)してみる
  49. 49. ZTE OPEN 独自ビルド結果 v1.2 ソースからのビルド 日本語化できましたが、日本語キーボードが使えません。 FMラジオは、76MHz-108MHzに対応して、 FM802も自動チューニングしてくれますが音が鳴りません。 ブラウザは、少し動作が早くなった気がします。 (※)日本語キーボードにつては、他の方の報告でも失敗するようです。 49 ZTE OPEN を日本語化(バージョンアップ)してみる
  50. 50. ZTE OPEN 独自ビルド結果 v1.2 ソースからのビルド 50 ZTE OPEN を日本語化(バージョンアップ)してみる
  51. 51. ZTE OPEN 独自ビルド結果 v1.2 ソースからのビルド 51 ZTE OPEN を日本語化(バージョンアップ)してみる
  52. 52. ZTE OPEN 独自ビルド結果 3日ほど前に、 日本語キーボード対応を知りましたので、 急遽、masuterのビルドを行いました。 水城珠洲の日記4th final:11月15日時点での日本語IMEの有効化方法 http://minashiro.net/computer/how-to-enable-japanese-ime-in-november-15th-time/ 対応自体は、 以下のような環境変数を追加してビルドするだけです。 export GAIA_KEYBOARD_LAYOUTS=en,jp-kanji #ビルド実行 ccache --max-size 3GB export GAIA_KEYBOARD_LAYOUTS=en,jp-kanji ./build.sh -j2 2>&1 | tee --append ../build.log 52 ZTE OPEN を日本語化(バージョンアップ)してみる
  53. 53. ZTE OPEN 独自ビルド結果 master ソースからのビルド 日本語化と日本語キーボードが表示できました。 FMラジオは、76MHz-108MHzに対応して、 FM802も自動チューニングしてくれますが音が鳴りません。 ブラウザやタッチイベントの扱いが不安定で、 操作不能に陥ることもあり、今一歩というところです。 53 ZTE OPEN を日本語化(バージョンアップ)してみる
  54. 54. ZTE OPEN 独自ビルド結果 master ソースからのビルド 54 ZTE OPEN を日本語化(バージョンアップ)してみる
  55. 55. むすび 駆け足で、ZTE OPEN の独自ビルドについて、 報告しましたが、いかがでしたでしょうか。 私は、今年の4月位まで Firefox OS のビルドを Nexus S で行っていたのですが... ビルドの基本事項は、変わらなかったものの、 日本語対応関係やFMラジオのソースなどが、 目まぐるしく変わっている現状に 冷や汗をかいてしまいました。 55 ZTE OPEN を日本語化(バージョンアップ)してみる
  56. 56. この資料が、 これから、ZTE OPEN の独自ビルドをされる方の、 一助になれば幸いです。 56 ZTE OPEN を日本語化(バージョンアップ)してみる
  57. 57. ご清聴 ありがとうございました。 57 ZTE OPEN を日本語化(バージョンアップ)してみる

×