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

Android Studio 3.3不允许低于26版本的SDK使用自适应图标,android,android-studio,adaptive-icon,Android,Android Studio,Adaptive Icon,刚刚从Android Studio 3.2.1升级到3.3。以前我的项目-目标SDKv28-构建时没有问题,现在我得到以下构建错误: 错误:任务“:app:processDebugResources”的执行失败。 Android资源链接失败C:\app\src\main\res\mipmap-anydpi-v25\ic\u launcher\u round.xml:错误: 元素要求sdk版本至少为26。 错误:链接文件资源失败 显然,我在mipmap-anydpi-v25文件夹中有一个资源

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

  • 错误:任务“:app:processDebugResources”的执行失败。 Android资源链接失败C:\app\src\main\res\mipmap-anydpi-v25\ic\u launcher\u round.xml:错误: 元素要求sdk版本至少为26。
    错误:链接文件资源失败

显然,我在
mipmap-anydpi-v25
文件夹中有一个
资源

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

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

大概是3.3,因为(API等级26)

我应该删除我的v25图标吗

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

我以为棒棒糖支持这种图标


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

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

  • drawable/ic_launcher_background.xml
  • drawable-v24/ic_launcher_前台.xml
尽管通过在app/build.gradle上更改min sdk“minSdkVersion 26”可以生成无错误的版本,但它对于发布目的并不实用。 简单快捷的解决方案是:

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

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

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


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

      当SDK中的API小于26时,它会显示一个错误

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

    • 点击文件
    • 选择项目结构
    • 在平台设置中选择SDK
    • 在右侧,检查是否有任何旧的API显示,然后是API 26
    • 选择较旧的API并单击删除(-)按钮
    • 删除所有比API 26旧的API。 单击应用并确定


      它将起作用:)

      受支持的最低API与SDK的最低版本无关。只需增加已用SDK的编译版本并使缓存无效。
      targetSdkVersion 28
      在我的gradle文件中。还将v28 SDK更新为第6版。还是一样的问题…我说的不是target sdk,而是compile sdkWell,我实际上也设置了
      compileSdkVersion 28
      。同样的,对于Melook,compile和target都设置为27,就像我在3.2中愚弄了编译器一样。有一些资源重定向,如前所述。@l33t:操作系统可能对
      有未记录的支持。或者是因为3.2忽略了你的指令,生成了一些没有在安卓7.1上添加自适应图标的东西。由于Android 7.1及更老版本的
      没有文档支持,AS 3.3迫使您做的事情应该会降低某些设备被意外资源类型阻塞的可能性。太棒了,看起来您也在学习Angela Yu Udemy课程