Android启动器图标仍在Android oreo中显示默认值

时间:2018-02-06 09:52:56

标签: android android-studio-3.0 mipmaps

我使用android studio 3.0.1

更改了我的应用启动器图标
File -> Image Asset

Android version 8.1图标中,如下图所示

enter image description here

我的AndroidManifest详细信息

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:hardwareAccelerated="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

我仔细检查了图标。ic_launcheric_launcher_round是我的新图标

感谢每一位帮助,谢谢。

9 个答案:

答案 0 :(得分:7)

在Android Oreo(API> 26)中,您需要在以下位置更改默认图标: mipmap-anydpi-v26文件夹。

它是任何dpi的自适应图标。

如下所示的

res / mipmap-anydpi-v26 / ic_launcher.xml文件:

<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图标,但它们不会原样显示,并且通常会绘制在白色背景上。

在此处查看答案:

app launcher icon changed to default icon on Oreo

答案 1 :(得分:3)

我通过更改

解决了我的问题
  

classpath 'com.android.tools.build:gradle:2.3.3'

  

classpath 'com.android.tools.build:gradle:3.0.1'

项目build-gradle

中的

dependencies {
        //classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'com.android.tools.build:gradle:3.0.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

这会导致调味问题,可以通过添加

来解决
  

flavorDimensions&#34;默认&#34;

应用程序build-gradle

中的

android {

...
flavorDimensions "default"
defaultConfig {
}


}

这可能会帮助一些有同样问题的人。

答案 2 :(得分:3)

最好的解决方法是删除mipmap-anydpi-v26文件夹,然后应用将使用默认图标。在android studio项目模式下,转到此包

  

res / mipmap-anydpi-v26

删除它并重新生成并运行程序。

答案 3 :(得分:1)

我有相同的症状,我导入的SVG图像不会显示在API 26+上,但是事实证明这与源SVG的复杂性有关。我在Inkscape中打开SVG,然后在图像中找到了一条特别复杂的路径:

扩展>修改路径>展平Beziers ...

如此处所述:SVG: simplify path to remove curves?

重新导入SVG后,效果很好。

答案 4 :(得分:1)

我遇到了同样的问题-任务切换器中显示了一个默认图标。为我解决的问题是从清单中删除圆形图标。

根据Adaptive icons的文档,

如果您需要用于圆形蒙版的其他图标资源(例如,徽标的商标依赖于圆形),则必须使用android:roundIcon属性。

(重点是我的)

我的应用不需要圆形遮罩的其他资产-从清单中删除对圆形图标的引用会导致Android在任务切换器中显示正确的启动器图标。

答案 5 :(得分:0)

你需要放置8.1的圆形图标

 <application
    android:name=".aaa"
    android:allowBackup="true"
    android:roundIcon="@mipmap/ic_launcher"
    android:icon="@mipmap/ic_launcher"
    android:label="aaa"
    android:theme="@style/AppTheme">

答案 6 :(得分:0)

您需要同时更改ic_launcher.png文件夹中的ic_launcher_round.pngmipmap图标。如果仅更改通常为正方形的ic_launcher.png图标,则使用mipmap-anydpi-v26中的默认圆形图标,因为根据developer.android.com

  

Android 8.0(API级别26)引入了自适应启动器图标,   可以在不同的设备型号上显示各种形状。例如,自适应启动器图标可以在一个OEM设备上显示圆形,而在另一台设备上显示松鼠。

因此,如果您不更改圆形图标,它将使用系统默认的自适应启动器图标。您需要同时更改ic_launcher.pngic_launcher_round.png图标才能使用自己的图标。

答案 7 :(得分:0)

在Android Studio中,使用图片素材资源来(重新)创建图标。在Windows上,按Ctrl + Shift + A。在Mac上,为cmd + shift + A。完成后,保存并覆盖现有文件。然后问题将得到解决。您很可能会提供自己的图标,它将创建为一组新的ic_launcher_foreground.png和您的背景色(这只是颜色中的一种资源)。您会发现两组(现在)未使用的资源:ic_launcher_background.xml(使用网格显示绿色背景)和ic_launcher_foreground.xml(使用Droid头部)。您可以安全地删除这些文件。

答案 8 :(得分:-1)

在可绘制文件夹中添加您的应用程序图标并更改清单代码。你会成功的。