12

刚刚从 Android Studio 3.2.1 升级到 3.3。以前我的项目 - 针对 SDK v28- 构建没有问题,现在我得到这个构建错误:

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

    Android 资源链接失败 C:\app\src\main\res\mipmap-anydpi-v25\ic_launcher_round.xml: 错误:<adaptive-icon> 元素需要至少 26 的 sdk 版本。
    错误:链接文件资源失败。

显然,我在文件夹中有一个<adaptive-icon>资源。mipmap-anydpi-v25

那么,哪个 AS 版本正确处理了这个问题;3.2.1 还是 3.3?我应该删除我的v25图标吗?我以为 Lollipop 支持这种类型的图标...

4

5 回答 5

7

哪个 AS 版本能正确处理这个问题;3.2.1 还是 3.3?

大概是 3.3,因为自适应图标是在 Android 8.0(API 级别 26)中添加的。

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

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

我以为 Lollipop 支持这种类型的图标...

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

于 2019-01-14T20:53:56.823 回答
4

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

Android Studio:文件 |  项目结构

在此处输入图像描述

我无法使用 add New | 由于自适应图标,图像资产直到我完成了从列表中删除 SDK 25 的最后一步,即使在尝试正确选择项目 SDK 和构建目标之后也是如此。

我尝试了几件事,这是使它对我有用的最后一步。我不知道这是否对我的配置中的某些东西特别,但这让我过去了。

于 2019-07-31T19:16:59.143 回答
1

我有同样的问题,原因是我手动弄乱了文件,但直到更新我才注意到它。在我的情况下,更新到 AS 3.3 后,冲突的文件是:

  • 可绘制/ic_launcher_background.xml
  • 可绘制-v24/ic_launcher_foreground.xml

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

  • 创建一个空白的新项目
  • 复制完全相同的文件
  • 并在冲突的项目中替换它们
于 2019-01-19T14:05:59.990 回答
0

当 SDK 中的 API 少于 26 时,它会显示错误。

要从 SDK 中删除旧 API:

  1. 单击文件。
  2. 选择项目结构。
  3. 在平台设置中选择 SDK。
  4. 在右侧检查是否有任何较旧的 API 显示 API 26。
  5. 选择旧 API 并单击删除 (-) 按钮。

删除所有比 API 26 更旧的 API。单击应用并确定。

它会工作:)

于 2020-09-03T21:07:19.773 回答
0

这是我修复它的方法。

  1. 文件 -> 项目结构
  2. 选择模块
  3. 将编译 SDK 更改为 API 26 以上(我认为是可选的)
  4. 选择选项卡 Default Config 并将目标 SDK 版本更改为 API 26 以上
于 2021-11-01T12:37:25.310 回答