Xiaomi Mi Pad - MIUI 7.1.1.0の設定を日本語化
Xiaomi Mi Pad - MIUI 7.1.1.0は日本語が選択できません。
MIUI translate プロジェクト
https://crowdin.com/project/miui-v6
日本語化のプロジェクトがあった!!
Apktoolで展開
※MIUI独自のリソースファイル(drawable-godzillaui-xhdpi-v8等)の再構築が現在最新のapktool2.0.3では対応していないようです。
そこで修正済みのapktool-3.0.9-bz-small.jarをLinuxで使用します。
Apktoolで展開しようとすると以下の様なエラーが表示されました。
Can't find framework resources for package of id: 17. You must install proper framework files, see project website for more info.
Can't find framework resources for package of id: 16. You must install proper framework files, see project website for more info.
これは追加のframeworkを読み込ませておくことで解決できました。apktool if framework/framework-res.apk
apktool if framework/framework-ext-res.apk
apktool if system/app/miui.apk
apktool if system/app/miuisystem.apk
日本語リソース
日本語化のプロジェクトがありましたが、今回は購入時のバージョン6.6.5.0(KXFCNCF)に含まれていた日本語リソースを使用して framework-res.apk, MiuiSystemUI.apk, Settings.apkのみを日本語化しました。
Apktoolで再構築
以下のコマンドで再構築
apktool b -c XXXX -o new.apk
Settings.apkを再構築する際、以下の様なエラーが表示されました。Error: No resource found that matches the given name (at 'layout' with value '@miui.system:layout/provision_bg').
これは展開時にはmiuisystem.apkが不要だったのが再構築時には必要になるためで、Settings/apktool.ymlを以下のように修正することで解決しました。usesFramework:
ids:
- 1
- 16
- 17
↓
usesFramework:
ids:
- 1
- 16
- 17
- 18
これでエラー無く再構築ができました。(この作業は全てのMIUIアプリの再構築時にやっておいたほうがいいかもしれない。)
これでOK.ブートループにはならずに起動した。
詰まった所メモ
再構築した際、
7za.exe u -tzip -mx=0 Settings.apk resources.arsc
上のコマンドのように元のapkファイルのresources.arscだけを入れ替えるという方法がありますが、この方法だと以下の様なエラーが出てアプリが落ちます。E/AndroidRuntime(2469): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.MiuiSettings}: android.content.res.Resources$NotFoundException: File res/layout-sw600dp-v13/settings_main.xml from xml type layout resource ID #0x7f0400eb
E/AndroidRuntime(2469): Caused by: android.content.res.Resources$NotFoundException: File res/layout-sw600dp-v13/settings_main.xml from xml type layout resource ID #0x7f0400eb
また、apktoolの使用しているaapt.exeがdrawable-godzillaui-xhdpi-v8の再構築に対応しておらずdrawable-uiModeType=0-xhdpi-v8となってしまいアプリが落ちます。
E/AndroidRuntime(2262): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.MiuiSettings}: java.lang.NullPointerException
E/AndroidRuntime(2262): Caused by: java.lang.NullPointerException
ぬるぽ
つづく日本語化シリーズ
AOSPベースのAndroid端末に日本語リソースを追加する
Xiaomi Mi Pad - MIUIに日本語リソースを追加してみる
Lenovo K3 Note - VibeUIに日本語リソースを追加してみる
Lenovo K3 Note - VibeUIに日本語リソースを追加する (その2)
Meizu m2 note - Flyme OSに日本語リソースを追加してみる
はじめまして。
返信削除xiaomi mi5 でも同じ方法で日本語化は出来る可能性はありますか?
はじめまして!
返信削除MiPadを例にしていますが、MIUI7までであれば同様に日本語化可能なはずですよ。
ちなみに日本語リソースにAOSPのstring.xmlを使っても共通部分が日本語化できます。
即日にご返答頂きながら申し訳ありません。
返信削除ご回答ありがとうございます。
mi5 の日本語化をしたいと思っておりますが、2通りあるどちらのやり方の方がより日本語化が出来るでしょうか?
また、mi5 に適したファイルはどれを使えば良さそうでしょうか?
宜しければ詳しく教えて頂けるとありがたいです。
コメント欄では不自由であれば私のアドレスをお伝えしますので、ご迷惑でなければ宜しくお願い致します。
Mi5のMIUI7はAndroid5.1ベースのようなので、同バージョンのAOSPリソースファイルを使ってみてはどうでしょうか?
返信削除AOSP5.1のSettingsリソースファイル
より日本語化をしたいなら自分で翻訳することもできますよ^^
ご回答ありがとうございます。
返信削除Mi5のMIUI7はAndroid 6.0 Marshmallow となっておりますが、実際はAndroid5.1ベースなのですか?
足りないところを自分で翻訳するのも可能なのですね?
まずはリソースファイルで上手く出来るか試してみようかと思っておりますが、root前提の作業ですよね?
何度も申し訳ありません。
返信削除apktool-3.0.9-bz-small.jar を落とそうと思ったのですが、リンク先にありません。
どこから入手出来るのでしょうか。
root化必須です。念の為にカスタムリカバリなど、リカバリできる環境を整えておくと良いと思います。
返信削除apktoolは更新されているようなのでリンク先の新しい物を使えば大丈夫だと思います。
Mi5のMIUIはAndroid6.0ベースでした。
こんにちは。
返信削除ブログを拝見し、xiaomi端末の日本語化をしようとしております。
apktoolでリコンパイル時の署名の仕方がわからず詰まっております。
もしご迷惑で無ければ、署名の仕方についてお教え頂けないでしょうか。
宜しくお願い致します。
システムアプリでは署名は必要ありませんよ。
返信削除記事中ではリコンパイル時にapktoolの-cオプションを使用して元の署名ファイルを書き戻しています。
日本語化がんばってください!!
ご返答ありがとうございます。
返信削除apktoolの-cオプションを使用して元の署名ファイルを書き戻すというのがよくわかりません。
「apktoolの-cオプションを使用して元の署名ファイルを書き戻す」際のコマンド例を教えて頂けないでしょうか?
宜しくお願い致します。
デコンパイル時にoriginalフォルダに元の署名ファイルが出力されます。
返信削除apktool b -c XXXX -o new.apk
上記コマンドのように、-cオプションを付けることで元の署名ファイルを使用してリコンパイルされるため再署名は不要です。
システムアプリの場合はこれだけで動作可能です。
ご返答ありがとうございます。挑戦してみます。
返信削除