只需从Android Studio 3.2.1升级到3.3。以前我的项目-定位SDK free(tab)
-没问题,现在却遇到了这个构建错误:
- 出了什么问题:任务':app:processDebugResources'的执行失败。
Android资源链接失败C:\ app \ src \ main \ res \ mipmap-anydpi-v25 \ ic_launcher_round.xml:错误:
元素的SDK版本至少为26。
错误:链接文件资源失败。
很明显,我在v28
文件夹中有一个<adaptive-icon>
资源。
因此,哪个AS版本可以正确处理此问题? 3.2.1或3.3?我应该删除我的mipmap-anydpi-v25
图标吗?我以为棒棒糖支持这种图标...
答案 0 :(得分:3)
哪个AS版本正确处理了此问题; 3.2.1或3.3?
从adaptive icons were added in Android 8.0(API级别26)开始,大概是3.3。
我应该删除我的v25图标吗?
将目录更改为mipmap-anydpi-v26/
,对于Android 8.0+仍可以使用该图标。如果您的minSdkVersion
低于此值(我认为是),则您需要为较旧的设备实现该图标的替代实现。
我认为Lollipop支持此类图标...
Lollipop是Android 5.x,API级别21-22。您的-v25
目录不会用于这些API级别。
答案 1 :(得分:2)
对于我来说,在AS 3.4中,我必须:
我无法使用add New |归因于自适应图标的图像资产直到我尝试正确选择Project SDK和构建目标后,我才完成从列表中删除SDK 25 的最后一步。
我尝试了几件事,这是使它对我有用的最后一步。我不知道这是否是我配置中的特定功能,但这使我无法解决。
答案 2 :(得分:0)
我遇到了同样的问题,原因是我手动弄乱了文件,但直到更新后才注意到它。 就我而言,更新到AS 3.3后,冲突文件为:
尽管通过更改app / build.gradle上的min sdk“ minSdkVersion 26”来构建AS时没有错误,但对于发布目的而言,它并不实用。 简单快捷的解决方案是:
答案 3 :(得分:0)
如果SDK中的API少于26个,则会显示错误。
要从SDK中删除较旧的API,请执行以下操作:
删除所有比API 26更旧的API。 点击“应用”,然后确定。
它将起作用:)