モバイルアプリ開発時にアプリのi18nの動作確認中、愛機のAndroid(Xperia Ace)を文鎮にしてしまいました。
事の顛末をお話させて頂きます。
僕はi18n対応したモバイルアプリの開発をしています。
端末のシステム言語を取得して言語を切り替えるロジックを実装していて、その動作確認の為にAndroidのシステム言語を切り替えてアプリの動作確認をしていました。
LTR言語からRTL言語へと切り替え行うときにUIの反転処理が行われます。
その動作確認をする為、RTL言語のアラビア語へシステム言語を切り替えました。
本来であれば、この時にアプリ名がアラビア語表示されるはずだったのですが、フランス語表示のままだったので(前回フランス語の動作確認をしていたため)LTR言語からRTL言語への切り替えには再起動が必要なんであろうと推測し、アラビア語設定のまま再起動を行ってしまったのです。
この時の致命的なミスにより、Androidの起動自体はするのですが、楽天のロゴマークが表示されるスプラッシュスクリーンから一切動作しなくなってしまったのです。
どうやらRTL言語のUIの反転処理が致命的で上手く起動できなくなってしまいました。
Sony 楽天の日本メーカーコンビなので途中で切り替えてRTL言語で起動するなんて想定外の動作だったのでしょう。
気に入ってずっと使っていたXperia Aceですが、僕の愚かさから無事文鎮と化しました。
中古品で買ったやつですし、Android 9という化石なので誰にもサポートしてもらえません。自力で解決しないとどうにもならない奴です。
検証用の設定をonにしていたのでWindows PCとケーブルで繋げて色々コマンドを打って試してみましたがどうにもなりませんでした。システムを日本語に切り替えても起動できません。(キャッシュが悪さしてるのであろうと予測してキャッシュを消す系のコマンドを叩いてみたけどダメだった。)
iOSのアプリ開発もしている為、検証用のiPhone SEが余ってたのでSimを抜いて(同じnano Simだった)代替機として活躍してもらって被害は最小限で済みました。
不幸中の幸いでしたが、皆さんも愛機を文鎮になさらないように気をつけてください。
よき開発者ライフを!!