Android Oreo中仍显示默认的Android启动器图标。
在Android Oreo中,虽然更改了Android启动器图标,但仍然显示默认图标。我通过更改项目build-gradle
中的以下内容解决了我的问题:
classpath 'com.android.tools.build:gradle:2.3.3'
更改为
classpath 'com.android.tools.build:gradle:3.0.1'
dependencies { //classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.android.tools.build:gradle:3.0.1' // 注意:不要在这里放置应用程序的依赖项;它们属于各个模块的build.gradle文件中 }
这样做会导致一个问题,可以通过在应用程序的build-gradle
中添加以下内容解决:
flavorDimensions "default"
android { ... flavorDimensions "default" defaultConfig { } }
这可能会帮助遇到相同问题的人。但是,在Android Studio 3.4.1中,这会导致构建中断,因为不认识classpath
。
在Android Oreo中,Android启动器图标仍然显示默认图标的问题。出现这个问题的原因是没有正确设置圆形图标和应用图标。解决方法是在AndroidManifest.xml文件中正确设置圆形图标和应用图标的路径。
首先,在
<application android:name=".aaa" android:allowBackup="true" android:roundIcon="/ic_launcher" android:icon="/ic_launcher" android:label="aaa" android:theme="/AppTheme">
接下来,检查AndroidManifest.xml文件中是否已经存在以下代码:
android:roundIcon="/ic_launcher_round"
如果存在,则检查它是否是你的应用图标而不是默认图标。
默认图标是ic_launcher_round,请检查你的mipmap文件夹中的图标是否正确设置。当我们使用图像资源导入功能时,它会自动替换为我们的新图标,所以请仔细检查mipmap中的图标。
问题的原因是因为Android Oreo(API 26)引入了新的特性,要求应用程序在mipmap-anydpi-v26文件夹中提供新的图标资源,包括ic_launcher_background和ic_launcher_foreground。然而,OP的项目中只包含了旧版本的图标资源(ic_launcher和ic_launcher_round),没有包含新的图标资源。
解决方法是删除mipmap-anydpi-v26文件夹,这样应用程序会使用默认的图标。在Android Studio的项目模式下,打开以下路径res/mipmap-anydpi-v26,然后删除该文件夹,重新构建和运行程序。
然而,删除mipmap-anydpi-v26并不是最佳解决方法。这只是避免了一个问题,即OP没有正确的文件来支持在8.0(API 26)中引入的新特性。他的项目中不仅包含旧版本的图标(ic_launcher用于7.0及以下版本,ic_launcher_round用于7.1版本),还包含新的和默认的ic_launcher_background和ic_launcher_foreground在drawable文件夹中。