刚从 Android Studio 3.2.1 升级到 3.3。以前我的项目 - 目标 SDK v28
- 构建没有问题,现在我得到这个构建错误:
- What went wrong: Execution failed for task ':app:processDebugResources'.
Android resource linking failed C:\app\src\main\res\mipmap-anydpi-v25\ic_launcher_round.xml: error: <adaptive-icon> elements require a sdk version of at least 26.
error: failed linking file resources.
显然,我有一个 <adaptive-icon>
mipmap-anydpi-v25
中的资源文件夹。
那么,哪个 AS 版本可以正确处理这个问题; 3.2.1 还是 3.3?我应该删除我的 v25
吗?图标?我以为 Lollipop 支持这种类型的图标...
最佳答案
which AS version handles this correctly; 3.2.1 or 3.3?
大概是 3.3,因为 adaptive icons were added in Android 8.0 (API 级别 26)。
Should I remove my v25 icon?
将目录更改为 mipmap-anydpi-v26/
,您仍然可以在 Android 8.0+ 上使用该图标。如果您的 minSdkVersion
低于该版本(我假设是这样),您将需要针对旧设备的图标的替代实现。
I thought Lollipop had support for this type of icons...
Lollipop 是 Android 5.x,API 级别 21-22。您的 -v25
目录不会用于这些 API 级别。
关于Android Studio 3.3 不允许 SDK 版本低于 26 的自适应图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54188688/