Android Thingsの日本語対応
Android ThingsはIoT向けとなっている為、構成がシンプルになっており、日本語フォントが入っていません。
画面表示がなければ問題ないのですが、日本語やその他の言語を表示したい場合には、フォントを導入する必要があります。
Android Thingsにインストールされているフォント一覧
% adb shell ls -la /system/fonts/
total 40280
drwxr-xr-x 2 root root 4096 2017-01-02 14:09 .
drwxr-xr-x 14 root root 4096 2016-12-12 21:10 ..
-rw-r--r-- 1 root root 4540 2016-12-12 21:09 AndroidClock.ttf
lrw-r--r-- 1 root root 15 2016-12-12 21:15 DroidSans-Bold.ttf -> Roboto-Bold.ttf
lrw-r--r-- 1 root root 18 2016-12-12 21:15 DroidSans.ttf -> Roboto-Regular.ttf
-rw-r--r-- 1 root root 3451744 2016-12-12 21:09 DroidSansFallback.ttf
-rw-r--r-- 1 root root 108128 2016-12-12 21:09 DroidSansMono.ttf
-rw-r--r-- 1 root root 305952 2016-12-12 21:09 Roboto-Bold.ttf
-rw-r--r-- 1 root root 306672 2016-12-12 21:09 Roboto-Regular.ttf
mountコマンドでマウント状態を確認
/system/fontsに書き込むことができるかを確認します
% adb shell mount
/dev/root on / type ext4 (ro,seclabel,relatime,data=ordered)
通常のAndroid端末同様にリードオンリーでマウントされています。
ファイルシステムに書き込めるようにマウントし直す
% adb root
restarting adbd as root
% adb connect 192.168.0.100
connected to 192.168.0.100:5555
% adb remount
remount succeeded
% adb shell mount
/dev/root on / type ext4 (rw,seclabel,relatime,data=ordered)
roからrwに変わり、書き込みができるようになりました
フォントファイルをダウンロード
https://www.google.com/get/noto/#sans-jpan
からNoto Sans CJK JPをダウンロードします(Androidのデフォルト日本語フォント)
NotoSansCJKjp-hinted.zipを解凍
% unzip -d noto NotoSansCJKjp-hinted.zip
Archive: NotoSansCJKjp-hinted.zip
inflating: noto/LICENSE_OFL.txt
inflating: noto/NotoSansCJKjp-Black.otf
inflating: noto/NotoSansCJKjp-Bold.otf
inflating: noto/NotoSansCJKjp-DemiLight.otf
inflating: noto/NotoSansCJKjp-Light.otf
inflating: noto/NotoSansCJKjp-Medium.otf
inflating: noto/NotoSansCJKjp-Regular.otf
inflating: noto/NotoSansCJKjp-Thin.otf
inflating: noto/NotoSansMonoCJKjp-Bold.otf
inflating: noto/NotoSansMonoCJKjp-Regular.otf
notoフォントを端末に転送
% adb push noto/NotoSansCJKjp-Regular.otf /system/fonts/
[100%] /system/fonts/NotoSansCJKjp-Regular.otf
% adb shell ls -la /system/fonts/NotoSansCJKjp-Regular.otf
-rw-r--r-- 1 root root 16427228 2015-06-15 05:49 /system/fonts/NotoSansCJKjp-Regular.otf
設定ファイルを書き換え
% adb pull /system/etc/fonts.xml .
**<familyset version="22">**の次の行に以下を追記
<family lang="ja">
<font weight="400" style="normal">NotoSansCJKjp-Regular.otf</font>
</family>
記述ミスなどがあるとOSが起動しなくなるので気をつけてください
端末にfonts.xmlを転送
% adb push fonts.xml /system/etc/fonts.xml
システムの再起動
% adb reboot