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

nwo49xxi  于 2023-10-23  发布在  Android
关注(0)|答案(6)|浏览(337)

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

  • 哪里出错了:执行任务“:app:processDebugResources”失败。

Android资源链接失败C:\app\src\main\res\mipmap-anydpi-v25\ic_launcher_round.xml:错误:元素需要至少26的SDK版本。
错误:链接文件资源失败。
显然,我在mipmap-anydpi-v25文件夹中有一个<adaptive-icon>资源。
那么,哪个AS版本正确处理了这一点; 3.2.1还是3.3?我应该删除我的v25图标吗?我以为棒棒糖支持这种类型的图标.

hfwmuf9z

hfwmuf9z1#

哪个AS版本正确处理了这个问题; 3.2.1还是3.3?
adaptive icons were added in Android 8.0(API Level 26)开始,大概是3.3。
我应该删除我的v25图标吗?
将目录更改为mipmap-anydpi-v26/,您仍然可以在Android 8.0+中使用该图标。如果你的minSdkVersion低于这个值(我假设是这样),你需要为旧设备实现一个替代的图标。
我以为棒棒糖支持这种类型的图标.
Lollipop是Android 5.x,API级别21-22。您的-v25目录不会用于这些API级别。

lo8azlld

lo8azlld2#

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

它没有工作,我可以使用添加新的|图像资产由于自适应图标直到我做了从列表中删除SDK 25的最后一步,即使在尝试正确选择项目SDK和构建目标。
我已经尝试了几件事,这是最后一步,使它为我工作。我不知道这是否是我配置中的特殊情况,但这让我过去了。

vuktfyat

vuktfyat3#

我有同样的问题,原因是我搞砸了文件手动,但我没有注意到它,直到更新.在我的例子中,更新到AS 3.3后,冲突的文件是:

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

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

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

zfciruhq4#

这是我如何修复它。
1.文件->项目结构
1.选择模块
1.将编译SDK更改为API 26以上(我认为可选)
1.选择选项卡默认配置并将目标SDK版本更改为高于API 26

vsikbqxv

vsikbqxv5#

当SDK中的API小于26时,会显示错误。
要从SDK中删除较旧的API,请执行以下操作:
1.单击“文件”。
1.选择项目结构。
1.在平台设置中选择SDK。
1.在右侧检查是否有任何旧的API显示,然后API 26。
1.选择较旧的API并单击删除(-)按钮。
删除所有比API 26更旧的API。点击应用和确定。
它会工作:)

drnojrws

drnojrws6#

不要把时间浪费在最低SDK版本21到26上:只需遵循以下简单的步骤:

  • 只需将您的徽标导出为透明SVG格式。
  • 透明意味着只有徽标标识部分没有背景。
  • 将此徽标导入到android @drawable文件夹中作为矢量SVG。
  • 在通知通道中,您正在使用状态通知!
val builder = NotificationCompat.Builder(context, "FIRE_BASE_NOTIFICATION")
 .setSmallIcon(R.drawable.transparent_logo)
 .setColor(ContextCompat.getColor(context, R.color.colorPrimary))

设置SmallIcon并设置Logo的背景颜色。
在Android 11+中,即使您添加了全彩徽标,它也会自动将其转换为单一的纯色,如果您不设置背景色,则会显示一个灰色填充的圆圈。这将隐藏你的身份。Thanks摆脱此问题,因为Android 8. 0(API level 26)中引入了自适应图标

相关问题