Android Studio 3.3不允许SDK版本低于26的自适应图标

时间:2019-01-14 20:26:35

标签: android android-studio adaptive-icon

只需从Android Studio 3.2.1升级到3.3。以前我的项目-定位SDK free(tab) -没问题,现在却遇到了这个构建错误:

  
      
  • 出了什么问题:任务':app:processDebugResources'的执行失败。      
        

    Android资源链接失败C:\ app \ src \ main \ res \ mipmap-anydpi-v25 \ ic_launcher_round.xml:错误:     元素的SDK版本至少为26。
        错误:链接文件资源失败。

      
  •   

很明显,我在v28文件夹中有一个<adaptive-icon>资源。

因此,哪个AS版本可以正确处理此问题? 3.2.1或3.3?我应该删除我的mipmap-anydpi-v25图标吗?我以为棒棒糖支持这种图标...

4 个答案:

答案 0 :(得分:3)

  

哪个AS版本正确处理了此问题; 3.2.1或3.3?

adaptive icons were added in Android 8.0(API级别26)开始,大概是3.3。

  

我应该删除我的v25图标吗?

将目录更改为mipmap-anydpi-v26/,对于Android 8.0+仍可以使用该图标。如果您的minSdkVersion低于此值(我认为是),则您需要为较旧的设备实现该图标的替代实现。

  

我认为Lollipop支持此类图标...

Lollipop是Android 5.x,API级别21-22。您的-v25目录不会用于这些API级别。

答案 1 :(得分:2)

对于我来说,在AS 3.4中,我必须:

Android Studio: File | Project Structure

enter image description here

我无法使用add New |归因于自适应图标的图像资产直到我尝试正确选择Project SDK和构建目标后,我才完成从列表中删除SDK 25 的最后一步。

我尝试了几件事,这是使它对我有用的最后一步。我不知道这是否是我配置中的特定功能,但这使我无法解决。

答案 2 :(得分:0)

我遇到了同样的问题,原因是我手动弄乱了文件,但直到更新后才注意到它。 就我而言,更新到AS 3.3后,冲突文件为:

  • drawable / ic_launcher_background.xml
  • drawable-v24 / ic_launcher_foreground.xml

尽管通过更改app / build.gradle上的min sdk“ minSdkVersion 26”来构建AS时没有错误,但对于发布目的而言,它并不实用。 简单快捷的解决方案是:

  • 创建一个空白的新项目
  • 复制完全相同的文件
  • 并将其替换为有冲突的项目

答案 3 :(得分:0)

如果SDK中的API少于26个,则会显示错误。

要从SDK中删除较旧的API,请执行以下操作:

  1. 单击文件。
  2. 选择项目结构。
  3. 在“平台设置”中选择SDK。
  4. 在右侧检查是否有比API 26更旧的API。
  5. 选择较旧的API,然后单击“删除(-)”按钮。

删除所有比API 26更旧的API。 点击“应用”,然后确定。

它将起作用:)