自動テスト(Hudsonを使用)用に、Android OSのバージョン、画面の解像度、画面の密度、言語のさまざまな組み合わせに対応する一連のエミュレーターを生成するスクリプトがあります。
これは、言語部分を除いて、正常に機能します。
Androidシステムのロケールを自動的に変更する方法を見つける必要があります。好みの順に、私が考えることができるいくつかのアプローチがあります:
- エミュレーターを開始する直前にQEMUイメージを抽出/編集/再パックする
- 起動後にエミュレータでシステムロケールを変更するAPKを実行する
- 起動後のエミュレータファイルシステムのロケール設定の変更
- 起動後にエミュレータ上の一部のSQLiteDBのロケール設定を変更する
- 設定アプリを開いてロケールを変更するキーシーケンスを(エミュレータのTelnetインターフェイスを介して)実行する
- プラットフォームバージョンごとにエミュレータを手動で起動し、設定でロケールを手動で変更し、保存して、後で展開するためにイメージをアーカイブします
上記の方法またはその他の方法でこれを実行できるかどうかについてのアイデアはありますか?
ロケール設定がシステムによって永続化/読み取りされる場所を知っていますか?
解決策:
関連するプロパティに関するdtmilanoの情報と、私の側でのさらなる調査のおかげで、上記のすべてのアイデアよりもさらに優れた、より単純な解決策を思いつきました!
私は彼の答えを以下の詳細で更新しました。