我遇到了一个奇怪的 Unity 6.x Android SDK 问题,并设法找到了一个可复现的解决方式。
我使用的环境:
- Unity 6000.6.0f1
- Windows
- Unity 自带的 Android SDK
- 命令行工具 16.0
- Android API 37
- AGP 9.0.0
- Gradle 9.1.0
Unity 成功下载了 API 37,但 SDK 最终变成了:
platforms\android-37.0
platforms\android-37.0-2
sdkmanager 随后报告:
观察到包 ID 'platforms;android-37.0'
位于不一致的位置
'...\platforms\android-37.0-2'
(预期位置为 '...\platforms\android-37.0')
Gradle 随后构建失败,提示:
未找到哈希字符串为 'android-37' 的目标
奇怪的是,Unity 似乎显示 API 37 已成功安装。
解决方法
我关闭了 Unity,删除了这两个文件夹:
android-37.0
android-37.0-2
然后手动运行:
sdkmanager.bat "platforms;android-37.0"
之后:
platforms;android-37.0 → platforms\android-37.0
没有出现不一致位置的警告,并且 Unity 构建成功。
因此,这似乎是 SDK 平台安装不一致/重复导致的问题,而非项目或 Gradle 配置的问题。
有人遇到过 Unity 6.x 下出现 android-37.0-2 目录的情况吗?
评论 (0)