まえがき
Androidの開発者向けオプションの中に,「強制RTLレイアウト」というものがある.
これは右から左へ読む(Right-to-leftでRTL)アラビア系言語などの表示を,そうでない言語でも再現するためのものである.
しかし,私の所持しているGalaxy S6 edgeではこのオプションを有効にしたところ,システムUIがクラッシュし,厄介なことに再起動しようが設定が消えないのでシステムUI起動→クラッシュをし続けるただの文鎮となってしまった.
今回はこの設定を削除する.
方法
ADBデバッグが有効である必要がある.
そうでない場合,リカバリーで初期化する以外の解決方法を私は知らない.
Android 4.1.1から,adb shell経由でContentProviderへ直接リクエストを送れるコマンドが存在しているとのことなので,そちらを用いる.
(参考:ContentProviderをadbから直接実行するcontentコマンド)
また,RTLなど開発者向けオプションの項目のURIは,content://settings/global とのこと.
(参考:unset a setting if it breaks your android OS)
なので,この設定を削除するコマンドは以下の通り.
adb shell content delete --uri content://settings/global --where "name='debug.force_rtl'"
あとは再起動すれば,文鎮ではなくなる.