从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
图标吗?我以为棒棒糖支持这种类型的图标.
6条答案
按热度按时间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级别。lo8azlld2#
对于我来说,在AS 3.4中,我必须:
它没有工作,我可以使用添加新的|图像资产由于自适应图标直到我做了从列表中删除SDK 25的最后一步,即使在尝试正确选择项目SDK和构建目标。
我已经尝试了几件事,这是最后一步,使它为我工作。我不知道这是否是我配置中的特殊情况,但这让我过去了。
vuktfyat3#
我有同样的问题,原因是我搞砸了文件手动,但我没有注意到它,直到更新.在我的例子中,更新到AS 3.3后,冲突的文件是:
虽然AS通过在app/build.gradle上更改min sdk“minSdkVersion 26”来构建时没有错误,但这对于发布目的来说并不实用。简单快速的解决方案是:
zfciruhq4#
这是我如何修复它。
1.文件->项目结构
1.选择模块
1.将编译SDK更改为API 26以上(我认为可选)
1.选择选项卡默认配置并将目标SDK版本更改为高于API 26
vsikbqxv5#
当SDK中的API小于26时,会显示错误。
要从SDK中删除较旧的API,请执行以下操作:
1.单击“文件”。
1.选择项目结构。
1.在平台设置中选择SDK。
1.在右侧检查是否有任何旧的API显示,然后API 26。
1.选择较旧的API并单击删除(-)按钮。
删除所有比API 26更旧的API。点击应用和确定。
它会工作:)
drnojrws6#
不要把时间浪费在最低SDK版本21到26上:只需遵循以下简单的步骤:
设置SmallIcon并设置Logo的背景颜色。
在Android 11+中,即使您添加了全彩徽标,它也会自动将其转换为单一的纯色,如果您不设置背景色,则会显示一个灰色填充的圆圈。这将隐藏你的身份。Thanks摆脱此问题,因为Android 8. 0(API level 26)中引入了自适应图标