代码之家  ›  专栏  ›  技术社区  ›  l33t

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

  •  6
  • l33t  · 技术社区  · 7 年前

    刚刚从Android Studio 3.2.1升级到3.3。以前是我的项目目标SDK v28 -生成时没有问题,现在我得到以下生成错误:

    • <自适应图标>元素要求sdk版本至少为26。
      错误:链接文件资源失败。

    显然,我有一个 <adaptive-icon> mipmap-anydpi-v25 文件夹

    那么,哪个版本正确地处理了这个问题;3.2.1还是3.3?我应该取下我的头发吗 v25 偶像我以为棒棒糖支持这种图标。。。

    2 回复  |  直到 7 年前
        1
  •  7
  •   CommonsWare    7 年前

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

    大概是3.3,因为 adaptive icons were added in Android 8.0 (API等级26)。

    将目录更改为 mipmap-anydpi-v26/ minSdkVersion 在下面(我假设是这样),您将需要为旧设备提供图标的替代实现。

    棒棒糖是Android 5.x,API级别21-22。你的 -v25

        2
  •  4
  •   tommycox    7 年前

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

    Android Studio: File | Project Structure

    enter image description here

    由于自适应图标,我无法使用添加新的|图像资源 即使在尝试正确选择项目SDK和构建目标之后,也会从列表中删除。

    我试过几次,这是最后一步,让它对我有效。我不知道这是否是我配置中的某个特定情况,但这让我克服了它。

        3
  •  1
  •   Cristián    7 年前

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

    • drawable/ic_launcher_background.xml
    • drawable-v24/ic_launcher_前台.xml

    简单快捷的解决方案是:

    • 创建一个空白的新项目
    • 复制完全相同的文件
    • 并在冲突项目中替换它们
        4
  •  0
  •   shroffakshar    6 年前

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

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

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

    它将起作用:)