独自のランチャーアイコンを使用してAndroidアプリを作成しました。これは、Nougatでうまく機能しました。しかし、Oreoでは、私のアイコンがデフォルトのAndroidアイコンに置き換えられました。いくつかの密度のミップマップリソースでic_launcher.png
とic_launcher_round.png
を定義しました。
私のマニフェストには次の行が含まれています。
Android:roundIcon="@mipmap/ic_launcher_round"
自分のアイコンをOreoに表示するにはどうすればよいですか?
API 26+の場合、デフォルトAndroidアプリケーションテンプレートは別のアイコンリソースフォルダーを定義します
mipmap-anydpi-v26
そのフォルダには(通常)2つのxml
ファイルが含まれていますic_launcher
およびic_launcher_round
API26以降のマニフェストで宣言されたアイコンリソースと一致する
これらのファイルの内容は次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:Android="http://schemas.Android.com/apk/res/Android">
<background Android:drawable="@drawable/ic_launcher_background"/>
<foreground Android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>
アイコンを表示するには、そこにリストされているすべてのドローアブル(すべての密度バケット内)を変更する必要があります-つまり、ic_launcher_background
およびic_launcher_foreground
または、そのフォルダを削除することもできます。その場合、Androidはpngアイコンの使用にフォールバックしますが、そのままでは表示されず、通常は白い背景の上に描画されます。
あなたはでもっと読むことができます: 適応アイコン
最善の解決策は、mipmap-anydpi-v26フォルダーを削除することです。そうすると、アプリはデフォルトのアイコンを使用します。 Androidスタジオプロジェクトモードでこのパッケージに移動します
res/mipmap-anydpi-v26
それを削除し、プロジェクトを再構築して実行します。