web-dev-qa-db-ja.com

アプリランチャーアイコンがOreoのデフォルトアイコンに変更されました

独自のランチャーアイコンを使用してAndroidアプリを作成しました。これは、Nougatでうまく機能しました。しかし、Oreoでは、私のアイコンがデフォルトのAndroidアイコンに置き換えられました。いくつかの密度のミップマップリソースでic_launcher.pngic_launcher_round.pngを定義しました。

私のマニフェストには次の行が含まれています。

Android:roundIcon="@mipmap/ic_launcher_round"

自分のアイコンをOreoに表示するにはどうすればよいですか?

7
Laurent D.

API 26+の場合、デフォルトAndroidアプリケーションテンプレートは別のアイコンリソースフォルダーを定義します

mipmap-anydpi-v26

そのフォルダには(通常)2つのxmlファイルが含まれていますic_launcherおよびic_launcher_round AP​​I26以降のマニフェストで宣言されたアイコンリソースと一致する

これらのファイルの内容は次のようになります。

<?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アイコンの使用にフォールバックしますが、そのままでは表示されず、通常は白い背景の上に描画されます。

あなたはでもっと読むことができます: 適応アイコン

15

最善の解決策は、mipmap-anydpi-v26フォルダーを削除することです。そうすると、アプリはデフォルトのアイコンを使用します。 Androidスタジオプロジェクトモードでこのパッケージに移動します

res/mipmap-anydpi-v26

それを削除し、プロジェクトを再構築して実行します。

5
sasikumar