mozcのビルドのTipsと参考情報

Comfortkeys は、Android 用の無料の日本語キーボードです。
Google日本語入力のオープンソース版であるmozcをベースにして作られています。Gboardにも、Google日本語入力の成果が詰め込まれています。
mozcで開発するにあたり、その開発時の tips や参考になった情報をまとめました。

Tips

64bit対応

2019年8月1日以降に Play ストアから新たに配信する Android アプリでは、64bitバージョンの提供が義務付けられています。(参考: Googleのアナウンス
しかし、mozc のビルド情報には、そのやり方が書いてありません。
どうすれば良いかといえば、次のように 32bitバージョンのビルド後、64bitバージョンもビルドすれば OK です。

1
2
3
4
python build_mozc.py gyp --target_platform=Android
python build_mozc.py build -c Release android/android.gyp:apk
python build_mozc.py gyp --target_platform=Android --android_arch=arm64
python build_mozc.py build -c Release android/android.gyp:apk

build_mozc.py の説明に説明はありませんが、build_mozc.py のソースコードを見ると、--android_archオプションが有り、以下のアーキテクチャを指定できます。デフォルトは arm です。

  • arm
  • x86
  • mips
  • arm64
  • x86_64
  • mips64

ビルドを失敗させない

Docker による mozc のビルドでは、NaCl の処理でビルドが失敗するかもしれません。
Dockerfile の 69行目 RUN cd nacl_sdk && ./naclsdk install pepper_49 をコメントアウトすれば、解消します。

ソースコード解説

Google公式のソースコードの説明や設計概要です。動画やスライドが有り、大変わかりやすくなっています。辞書の構造については、とても参考になります。
Google Developers Japan: Google 日本語入力 チームによる TechTalk ビデオと資料の公開

キーをタップしてから変換候補が表示されるまでの簡単な流れが説明されています。挙動を知るうえで参考になります。
Mozc完全解説01 - Welcome to FutureAppLaboratory
Mozc完全解説02 - Welcome to FutureAppLaboratory

機能拡張

様々なカスタマイズが可能なことを伺い知れます。
Titanium.X | Mozc Custom for Android

ビルドツール

mozcのビルドには GYP が使われています。データやテストを追加するには、知っておくべき情報です。
GYP (Generate Your Projects) の入力フォーマットと基本的な使い方 - Engine Trouble

不具合の修正

mozcにはケータイ入力での一般的な機能が存在しません。『ああ』と入力したいときに、少し時間をあけて『あ』のキーを2回タップしても、『い』と入力されてしまいます。それを改善する方法です。
mozc for Androidにトグルが一定時間で確定される機能を追加する | @blog.justoneplanet.info

不具合や改良可能な点などが報告されており、参考になります。
Issues - google/mozc - GitHub

(参考)mozcベースのアプリ

アルテ日本語入力キーボード
OyaMozc
AquaMozc

備考

当サイトでは、mozc に関しての技術的なお問い合わせに対して、お答えしておりません。ご了承ください。

共有