adbから言語と国を変更したいのだが無理だろな...

K800では、言語設定が英語と中国語の二択に制限されている。
デフォルトの対応ロケールリストにこれしか書かれていないようだ。
これを、adbからのコマンド操作で日本語に変更可能にしたい。


たしか、Settingsへのユーザー権限でのアクセスは、途中からまったくできなくなったような記憶が。
ちょっとあがく。

MacBook:tools kinneko$ ./adb shell
$ setprop persist.sys.language en
$ setprop persist.sys.country US
$ exit
MacBook:tools kinneko$ ./adb reboot

かわってね〜。

MacBook:tools kinneko$ ./adb shell '
> setprop persist.sys.language en;
> setprop persist.sys.country GB;
> stop;
> sleep 5;
> start'
MacBook:tools kinneko$ ./adb reboot

かわってね〜。


設定するとこ間違ってないよな。

MacBook:tools kinneko$ ./adb shell 'getprop persist.sys.language'
ja
MacBook:tools kinneko$ ./adb shell 'getprop persist.sys.country'
JP

問題ない。

MacBook:tools kinneko$ ./adb shell 'setprop persist.sys.country US'
MacBook:tools kinneko$ ./adb shell 'setprop persist.sys.language en'

これもだめ〜。

MacBook:tools kinneko$ ./adb shell "echo en > /data/property/persist.sys.language"
cannot create /data/property/persist.sys.language: permission denied
MacBook:tools kinneko$ ./adb shell "echo US > /data/property/persist.sys.country"
cannot create /data/property/persist.sys.country: permission denied

まぁ、そうでしょうね。


amでやってみる。

$ am start -a android.intent.action.MAIN -n com.android.settings/.Settings
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.Settings }

設定アプリを開くのはこれでよさげ。


言語とテキストを開く。

$ am start -a android.intent.action.MAIN -n com.android.settings/.LanguageSettings
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.LanguageSettings }

表示はできたな。


言語の選択画面を開かせる。

$ am start -a android.intent.action.MAIN -n com.android.settings/.LocalePicker
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.LocalePicker }

二択ではない選択画面の表示もできた。


値のセットはできないか...
まぁ、普通に設定できない端末でも、選択画面出てきたからよしとするか。