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

57
1 ZTE OPEN ( ) を日本語化 バージョンアップ してみる 関西Firefox OS勉強会 5th GIG ZTE OPEN を 日本語化 ( バージョンアップ ) してみる robo

Upload: cch-robo

Post on 24-May-2015

5.324 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

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

関西Firefox OS 勉強会 5th GIG

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

してみる

robo

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

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

自己紹介

●名前    robo(兼高理恵) @cch_robo

●お仕事    Java 技術者       設計から実装まで

●好きなもの  モバイル端末

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

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

アンロック済み ZTE OPEN 販売

mojilla Japan さんから、2013年10月18日に、Firefox OS 端末 ZTE OPEN が、アメリカや香港の eBay ストアで、日本からでも購入できるようになったと発表されました。

Firefox OS導入「ZTE Open」が日本でも購入可能にhttp://www.itmedia.co.jp/mobile/articles/1310/18/news098.html

The Firefox OS ZTE OPENhttps://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN( )ZTE OPEN ※ を購入するためのリンクや、サポートについてが紹介されています。

価格は、79.99ドルと郵送料を含めても1万円を切る低価格(*1)です。 今回発売する機材から fastboot 機能が追加(要するにアンロック)されていて、

独自のビルドで Firefox OSを置き換えることが可能になっています。(*1)私が購入した時には、送料込みで9700円を切っていました

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

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

今回の発表について

ZTE OPEN 販売開始から、1ヶ月がたちましたこともあり、 バージョンアップや日本語化を行う独自ビルドについては、  既に複数の方が公開されています。(*1)(*2)

また、Firefox OS の進化は、著しく、ソースの更新(ビルド手法の変更)も活発なため、ビルドノウハウも、すぐに古くなる恐れがあると思います。

このため、今回の発表は、各位の方々の後追いとなりますうえ、恒久的な情報と限らないことを気に留めていただくため、

(2013/11/16)に取得した、ZTE OPEN 向けV1.2ソースからの日本語化やバージョンアップにおける私的なまとめとして   発表いたします旨、ご了承ください。

[Firefox OS]ZTE OpenをbuildしてみたAdd Starhttp://d.hatena.ne.jp/gsh-kz/20131106/1383667204

ZTE Open 日本語化が出来るかたhttps://groups.google.com/forum/#!topic/firefoxos/cVOvVAhjc24

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

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

独自ビルド対象のバージョンについて

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-b2ghttps://github.com/mozilla-b2g

Github mozilla-b2g / gaiahttps://github.com/mozilla-b2g/gaia( )branch ※ のドロップダウンリストを見れば、現状のブランチ状況が確認できます。

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

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

ROM焼きに必要なコマンド

初めての Firefox OS ビルドをZTE OPENでされる方もおられることと思いますので、

ビルドや環境構築に入る前に、ビルド・イメージのフラッシュ(ROM焼き)に必要な、adb と fastboot コマンドについて簡単に紹介します。

ROM焼きの基礎用語については、参考資料等を御参照ください。

参考資料ちむどろいど:ROM焼き用語解説&FAQ&Tips集http://chimtty.blogspot.jp/2012/07/android.html

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

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

fastbootモードなどを起動するコマンド

端末とUSB接続が行える場合、adb コマンドや fastboot コマンドで、コンソールから端末をリブートさせたり、リカバリモードなどで起動させることができます。

adb や fastboot を利用するには、USB接続ができることと、Android SDK が必要になります。Android SDK の導入については、後段の「環境構築の流れ」を参照して下さい。

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 v

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

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

ZTN OPEN の手動リカバリモード起動

1.電源を切っておきます。

2.音量アップボタンを押しながら、電源ボタンを 数秒間押し続けます。 (端末が振動すれば、ボタンを離してもOKです)3.起動イメージ表示された後、リカバリーモードに入ります。

リカバリーモードでは、音量ボタンの+ーで、カーソルが上下し、電源ボタンでカーソル行のメニューを実行されます。

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

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

リカバリモード画面

メニュー画面コマンド一覧reboot system nowapply update from external storwipe data/factory resetwipe cache partitionapply update from cachemd5 check

apply update from external storを選択すると、SDカードのファイル一覧が表示されます。音量の+ーで、カーソルが移動しますので、アップデートに利用するファイルを選んだら、電源キーでアップデートを実行します。

SD カードに、後述の ZTE OPEN のアップデート.zipをコピーしておけば、独自ビルドが気に入らなかった場合でも少なくとも工場出荷時の状態に戻せるようになります。

Firefox OS 端末 KEON をrecoveryモードやbootloaderを起動してみたhttp://blog.livedoor.jp/dupondroid/archives/7857501.html

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

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

ZTE OPEN を工場出荷時(V1.0.0B02)にもどす

ZTE OPEN のアップデート・ファイルを利用して端末を工場出荷時の状態にもどすことができます。

アップデート・ファイルのダウンロード元

ZTE SupportOPEN(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

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

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

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

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

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

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 を有効にしておきます。

アップデート手順は、次ページに続きます。 

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

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

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 を選択して、再起動させます。

アップデート手順は、以上です。 

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

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

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

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

ビルド条件の確認

今回の独自ビルドでは、Ubuntu 12.04 LTS 64bit版を利用しましたので、以降のビルド手順は、12.04でビルドした場合の例となっています。

他のバージョンのUbuntuや他のディストリビューションを使う場合は、参考資料の説明にしたがって修正を行ってください。

参考資料Firefox OS ビルドの必要条件https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites

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

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

Linux でのビルド必要条件

64 ビット版 GNU/Linux ディストリビューション(Ubuntu 12.04 推奨)最低 4 GB の RAM 及び スワップ空間最低 20 GB のハードディスク空間

その他の細かな環境設定につきましては、後段の「環境設定の流れ」と「ビルドの流れ」で説明させていただきます。

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

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

環境構築の流れ

環境構築の流れは、以下の様になっています。

 必要なツールのインストール

 Java6 (JDK)のインストール

 Android SDK のインストール

 USBの設定

詳細については、各項目用のページで説明いたします。

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

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

必要なツールのインストール

必要なツールをインストールするには、ターミナルで、以下のコマンドを実行します。

( )※ 折り返しされていますが、1行のコマンドです。

64ビット版 Ubuntu でビルドする際は、以下のコマンドで、32ビットバージョンの libX11.so と libGL.so のシンボリックリンクも追加しておくそうです。

$ 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

$ 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

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

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

JDK インストール

ダウンロード元

Java SE 6 Downloadshttp://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ユーザ登録)の登録が必要です。

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

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

JDK インストール

インストール

ダウンロードしたファイルに実行権限を与えて任意のディレクトリ[JAVA_HOME]に配置してから実行するとファイルが自動展開されます。

環境設定

[JAVA_HOME]/binへのパスをPATHに追加します。

●$ export PATH=[JAVA_HOME]/bin:$PATH

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

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

Android SDK インストール

adbとfastbootを使うためAndroid SDK をインストールします。

ダウンロード元

Android Developers:Android SDKhttp://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を選択してください。

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

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

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

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

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

USB の設定

Android 端末と PC を繋ぐための設定

/etc/udev/rules.d/ ディレクトリに、51-android.rules ファイルを作成して、以下を記述します。

(※)折り返されていますが、1行の内容です。

ファイルを保存して終了し、ファイルに読み込み属性を付けます。

次のコマンドを実行して設定を有効化します。

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev"

$ 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

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

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

独自ビルドの流れ

初回ビルドと2回目以降のビルドでは、手順が少し変わります。

  初回ビルド  全ソース取得(クローン)

↓     日本語ロケール・リソース作成

↓     ソースへのパッチ当て   ブートロゴのオフィシャル化   FMラジオ   エラー対応

↓     日本語化   日本語対応   日本語IME対応  USB接続処置  ビルド実行  boot.imgコピー  フラッシュ

  2回目以降のビルド  更新ソース取得(同期)

↓     出力フォルダ・クリア

↓     (以降は、初回時と同じ)  ソースへのパッチ当て  日本語化  ビルド実行  boot.imgコピー  フラッシュ

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

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

初回ビルドの流れ「詳細」

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

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

全ソース取得(リポジトリ・クローン)

全ソース取得(リポジトリ・クローン)を行うため、以下のようなシェルスクリプト・ファイル(ffos_clone.sh)を作成して実行権限をつけます。

#リポジトリ作成 (初回のみ必要)export B2G_WORK=[作業ディレクトリ]mkdir [作業ディレクトリ]cd $B2G_WORKgit clone git://github.com/mozilla-b2g/B2G.git

#Firefox OS 全ソース取得 (初回のみ必要)#端末別ソース・クローン (inariは、zte openを示します)cd B2Gecho start=`date` > ../repo_clone.logBRANCH=v1.2 ./config.sh inari 2>&1 | tee --append ../repo_clone.logecho end=`date` >> ../repo_clone.log

Preparing for your first B2G build > Clone B2G repositoryPreparing for your first B2G build > Building a branchhttps://developer.mozilla.org/en-US/Firefox_OS/Preparing_for_your_first_B2G_build

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

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

全ソース取得(リポジトリ・クローン)

前ページの補足説明

[作業ディレクトリ]には、任意のディレクトリ(~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)を実行すると、   全ソース取得手順を一括で行います。

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

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

日本語ロケール・リソース作成

日本語ロケール・ファイルの作成

下記のような、文字コードがutf-8、改行がUnix形式で、ファイル名を languages-ja.json とした、日本語ロケールのリソース・ファイルを作成し任意の[日本語ロケール保管元]に保管しておきます。( )※ この日本語ロケール・ファイルは、ビルド時に利用します。

{ "en-US" : "English (US)", "ja" : "日本語"}

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/

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

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

ソースへのパッチ当て

ブートロゴのオフィシャル・イメージ化

ソースの以下のファイルに、パッチを当てます。

[作業ディレクトリ]/B2G/gaia/Makefile

252行目に下記を追加しました。

MOZILLA_OFFICIAL=1

※MOZILLA_OFFICIAL を参照してる箇所の前に記述しています。

sola:FirefoxOS の日本語化http://blog.sola-dolphin-1.net/archives/4389313.html#more

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

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

ソースへのパッチ当て

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/

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

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

ソースへのパッチ当て

日本語辞書ビルド時のエラー対応パッチ私のビルド環境では、日本語辞書のjsonビルド時に以下のようなエラーが出ました。

(※)B2G/gaia/apps/keyboard/js/imes/jskanji/dict/conv.py 29行目の print kanji, freq, kana でエラーが発生しています。

Traceback (most recent call last): File "conv.py", line 29, in <module> print kanji, freq, kanaUnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

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

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

ソースへのパッチ当て

日本語辞書ビルド時のエラー対応パッチ

エラーの原因を調べてみると、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 

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

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

ソースへのパッチ当て

日本語辞書ビルド時のエラー対応パッチ

[補足]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 で追加されたそうです。

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

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

日本語対応

日本語対応(日本語化対応)を行うため、新たにビルド用のシェルスクリプト・ファイル(ffos_build.sh)を作成して、実行権限をつけます。前半部には、以下の日本語対応手順を記述します。

#日本語対応export B2G_WORK=[作業ディレクトリ]cd $B2G_WORK

#gaia 用の設定hg clone http://hg.mozilla.org/gaia-l10n/ja gaia-l10n/jaexport LOCALE_BASEDIR=$PWD/gaia-l10ncp [日本語ロケール保管元]/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/jaexport L10NBASEDIR=$PWD/gecko-l10nexport MOZ_CHROME_MULTILOCALE="ja"hg clone http://hg.mozilla.org/build/compare-localesexport PATH="$PATH:$PWD/compare-locales/scripts"export PYTHONPATH="$PWD/compare-locales/lib"

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

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

日本語対応

前ページの補足説明

[作業ディレクトリ]には、任意のディレクトリ(~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 multilocalehttps://developer.mozilla.org/en-US/Firefox_OS/Building

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

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

日本語対応

日本語対応(日本語IME対応)を行うため、ビルド用のシェルスクリプト・ファイル(ffos_build.sh)の中盤部に、以下のような日本語IME対応手順を記述します。#日本語辞書の設定export B2G_WORK=[作業ディレクトリ]cd $B2G_WORKecho 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/dictmkdir 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/dictmake json 2>&1 | tee --append $B2G_WORK/build-dic.logecho end=`date` >> $B2G_WORK/build-dic.log

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

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

日本語対応

前ページの補足説明

[作業ディレクトリ]には、任意のディレクトリ(~B2G_work など)を指定して下さい。

辞書データのダウンロードと展開http://sourceforge.jp/projects/naist-jdic/releases/ より辞書 naist-jdic-0.4.3.tar.gz をダウンロードしてから、[作業ディレクトリ]/NAIST-jdic-0.4.3 にコピーして展開しておきます。

展開コマンド

前ページのシェルスクリプト部が実行されると、日本語IME対応のビルド(辞書生成)が行われます。

$ cd [作業ディレクトリ]/NAIST-jdic-0.4.3$ tar zxvf naist-jdic-0.4.3.tar.gz

sola:Keon と Peak が届かないので、Nexus S を Firefox OS 端末にしてみたhttp://blog.sola-dolphin-1.net/archives/4450956.html

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

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

USB接続処置

初回ビルド時には、ZTE OPEN を USB でつないでおくこと

ビルド時には、端末のリモートデバッグを有効にして、USB接続をしておかないと、以下のようなエラーが出ます。

ビルド時に ZTE OPEN と PC を USB でつないでおくと、B2G/backup-inari というディレクトリが作られ、ZTE OPEN から XXX.so ファイル等がバックアップされます。

USB接続が必要なのは、初回時のみです。USB接続で、必要なバイナリがバックアップされると次回からは、ローカルの backup-inari のファイルが利用されます。

Pulling files from ../../../backup-inaricat: ../../../backup-inari/system/build.prop: そのようなファイルやディレクト

●リはありません

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

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

ビルド実行

ビルドの実行を行うため、ビルド用のシェルスクリプト・ファイル(ffos_build.sh)の後半部に、以下のようなビルド実行手順を記述します。#ビルド開始 ( )※ 初回ビルド時のみ、端末とUSB接続してください。export B2G_WORK=[作業ディレクトリ]cd $B2G_WORK/B2Gecho start=`date` > ../build.log

#gccは、4.6以前を指定されているので環境変数を設定する。#gccのバージョンが4.6の場合は不要。export CC=gcc-4.6export 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

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

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

ビルド実行

前ページの補足説明[作業ディレクトリ]には、任意のディレクトリ(~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

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

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

boot.img コピー

カスタムbootイメージのコピーが必要です

ビルドが成功した場合、[作業用ディレクトリ]/B2G/out/target/product/inari に、system.img ramdisk.img userdata.img が作成されますが、boot.img は作成されません。

カスタムROM用の boot.img がないと、起動に失敗してしまいます。カスタムROM用のbootイメージについては、下記のサイトでを配布されていますので、これを利用させてもらいます。

Experiencias con Software LibreAdapted boot image for use with B2G custom builds on zte openhttp://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html

(※)boot.img が作成されない理由についても説明されています。

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

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

boot.img コピー

前記サイトに記載されている下記説明文の赤文字部のリンクから、カスタムイメージ用の bootイメージをダウンロードして下さい。

1.Download boot_adapted_for_zte_open_commercial_editions.img2.Change the filename as boot.img and copy into /out/target/product/inari/3.Run ./flash.sh(リンク先:https://mega.co.nz/#!uJ52xZJa!M_YwAEXRwifN21QmQbHgNCcEc5Ml2CKw57IBGxnvdm4 )

ダウンロードしたファイルは、[カスタムイメージ保管元]に保管しておき、ビルド成功時には、ファイル名を boot.img にして [作業用ディレクトリ]/B2G/out/target/product/inari にコピーします。

1.Download boot_adapted_for_zte_open_commercial_editions.img2.Change the filename as boot.img and copy into /out/target/product/inari/3.Run ./flash.sh

The Firefox OS ZTE OPEN > サポートhttps://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN

FirefoxOS 1.2 on ZTE Openhttp://rowehl.com/blog/2013/10/24/firefoxos-1-dot-2-on-zte-open/

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

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

フラッシュ

ビルドに成功して、カスタムbootイメージをコピーしていれば、フラッシュ(ROM焼き)が行えます。

フラッシュ実行のコマンド

上記のコマンドを実行すると、フラッシュ(ROM焼き)が行われます。リブート後には、独自ビルドのカスタムシステムが起動します。

$ cd $B2B_WORK/B2G$ adb reboot bootloader$ sudo ./flash.sh

The Firefox OS ZTE OPEN > 動かなくなったときhttps://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN( )※ ビルドに成功した、各種イメージから直接フラッシュする例があります

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

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

2回目以降ビルドの流れ

「詳細」

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

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

更新分ソース取得(リポジトリ同期)

更新分ソース取得(リポジトリ同期)を行うため、以下のようなシェルスクリプト・ファイル(ffos_sync.sh)を作成して実行権限をつけます。

[作業ディレクトリ]には、任意のディレクトリ(~B2G_work など)を指定して下さい。

このシェルスクリプト・ファイル(ffos_sync.sh)を実行すると、全ソース更新(最新化)手順を一括で行います。

#リポジトリ・同期export B2G_WORK=[作業ディレクトリ]cd $B2G_WORK/B2Gecho start=`date` > ../repo_sync.loggit pull 2>&1 | tee --append ../repo_sync.log./repo sync -d 2>&1 | tee --append ../repo_sync.logecho end=`date` >> ../repo_sync.log

Building Firefox OS > Updating your codehttps://developer.mozilla.org/en-US/Firefox_OS/Building

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

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

出力フォルダ・クリア

ソース修正やエラーなどで、ビルドを最初からやり直したいときは、ビルドによって作成された、[作業用ディレクトリ]/B2G/out と、

[作業用ディレクトリ]/B2G/objdir-gecko を削除しておきます。

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

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

トラブル対応:system フラッシュに失敗する

ビルドに成功していても、system.imgのフラッシュに失敗することが数回ありました。( )※ エラー内容は、プロトコルがおかしいと指摘されていました。

どこかのソースが壊れてしまったのか、上記が発生すると、何度ビルドしてもフラッシュに失敗してしまいます。

このため、flash エラーが出た場合は、ビルド環境の全ソースを捨てることにして対応しました。

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

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

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

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

ZTE OPEN 独自ビルド結果

v1.2 ソースからのビルド

日本語化できましたが、日本語キーボードが使えません。FMラジオは、76MHz-108MHzに対応して、

FM802も自動チューニングしてくれますが音が鳴りません。ブラウザは、少し動作が早くなった気がします。( )※ 日本語キーボードにつては、他の方の報告でも失敗するようです。

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

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

ZTE OPEN 独自ビルド結果

v1.2 ソースからのビルド

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

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

ZTE OPEN 独自ビルド結果

v1.2 ソースからのビルド

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

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

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 3GBexport GAIA_KEYBOARD_LAYOUTS=en,jp-kanji./build.sh -j2 2>&1 | tee --append ../build.log

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

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

ZTE OPEN 独自ビルド結果

master ソースからのビルド

日本語化と日本語キーボードが表示できました。FMラジオは、76MHz-108MHzに対応して、

FM802も自動チューニングしてくれますが音が鳴りません。

ブラウザやタッチイベントの扱いが不安定で、操作不能に陥ることもあり、今一歩というところです。

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

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

ZTE OPEN 独自ビルド結果

master ソースからのビルド

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

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

むすび

駆け足で、ZTE OPEN の独自ビルドについて、報告しましたが、いかがでしたでしょうか。

私は、今年の4月位まで Firefox OS のビルドをNexus S で行っていたのですが...

ビルドの基本事項は、変わらなかったものの、日本語対応関係やFMラジオのソースなどが、目まぐるしく変わっている現状に

冷や汗をかいてしまいました。

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

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

この資料が、

これから、ZTE OPEN の独自ビルドをされる方の、

一助になれば幸いです。

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

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

ご清聴

ありがとうございました。