一般に、日本国外で販売されている古い (4.1 未満) Android デバイスは、デフォルトで漢字の中国語バージョンを表示します。日本国内で販売されている Android デバイスは、デフォルトで日本語版の漢字を表示します。DroidSansJapanese は、DroidSans に対応する日本語フォントで、AOSP で利用できます。メーカーは、 Androidのビルドを作成するときに、テキストを表示するときにシステム/ベンダー提供のフォントを使用する設定を選択できるようです。(<4.1) 非日本語デバイスでロケールを変更しても、正しくないバージョンの文字が表示されることがあります。
日本で日本人ユーザー向けにアプリをローカライズする場合、ユーザーはおそらく日本で購入したデバイスを持っているため、漢字が正しく表示されます (メーカーが上記の必要な措置を講じたと仮定します)。この動作が受け入れられる場合は、変更を加える必要はありません。日本国外のユーザー (日本語を勉強したい人など) を対象としたアプリを作成している場合、これはあまり良くないかもしれません。
Android 4.1がリリースされたときに、日本語スタイルの漢字のサポートが改善されました。このコミットには、何が変更されたかについての詳細が含まれています。お使いの携帯電話が現在日本語ロケールを使用している場合、Android は日本語スタイルの漢字を表示する必要があります。この動作は、Android 4.1 を実行している日本語以外の Samsung Galaxy Note 2 で実際に確認されています。システム言語を英語 (英国/米国) に設定すると、漢字テキストを見ると中国語スタイルのレンダリングが表示されます。ただし、言語を日本語に設定すると、日本語スタイルのレンダリングが表示されます。私はこれをテストしていませんが、プログラムでロケールを強制すると、4.1 以降のデバイスで日本語スタイルの漢字を強制的に表示できるかどうか疑問に思っています。
XML 属性を使用して、アセットにあるフォントにフォントを設定することはできません。元の質問に投稿したものと同様のコードを使用して、Java でこれを行う必要があります。これをグローバルに行うには、適切なフォントを設定する TextView の独自のサブクラスを作成するか、レイアウト内のすべてのビューを反復処理して (たとえば、Activity.setContentView(int) の後)、TextView の場合はそれに応じて更新します。 . 別の質問には、このソリューションの詳細な説明があります。日本語フォントを含めると、APK がかなり肥大化する可能性があります。
日本で日本人ユーザー向けのアプリを作成している場合は、既に正しく表示されているはずなので、私は何もしません。Android 4.1 以降のデバイスのユーザーも、日本語ロケールを使用していれば、優れたエクスペリエンスを得ることができます。それ以外の場合は、フォントをバンドルすることが解決策であり、何が必要かは既によくわかっています。