1

Locale.getDefault.getDisplayLanauge()を使用して言語コードを取得しましたが、「hd」を取得します。何なのかわかりません。「en」だと思います。

誰かが私にそれがデフォルトで「hd」である理由のヒントを教えてもらえますか、そしてそれはどういう意味ですか?

4

1 に答える 1

1

私も同じ問題を抱えていました。独自の Android ビルドを作成していますか?

画面密度をPRODUCT_LOCALESの最初の引数として使用すると、それが起こります。私の製品 mk ファイルでは、PRODUCT_LOCALES の最初の引数は hdpi でした。私はそれを最後に移動しましたが、今ではすべて正常に動作しています。あなたはおそらく私とまったく同じ問題を抱えています。Android ビルド プロセスは、PRODUCT_LOCALES の最初の単語の最初の 2 文字を取得し、デフォルト言語として保存します。そして、私が持っていたように、hdpi Android は「hd」をデフォルト言語として使用します。

また、Android makefile でこのコメントを見つけました。これは、この問題を完全に説明しています。

画面密度は実際にはロケールと見なされます (ビルド時のリソースの選択が考慮されるため)。このファイルを含む製品定義は、最終的な PRODUCT_LOCALES 展開の最初のエントリが密度であってはならないという事実に注意を払う必要があります。

于 2013-04-15T12:08:36.770 に答える