问题描述和尝试解决方案:
- Unity打包安卓报错sdk version 0.0 < 26.0
- 高版本Unity+手动指定SDK地址时,比较容易出现上述错误
- 高手支招1:修改sdk的tools文件夹中package.xml的obsolete="false"无解,因为打开platform-tools和build-tools文件夹中的package.xml文件后,发现所有的obsolete就是false,即使改回true也无效
- 高手支招2:使用unity hub,将其中的open sdk和open jdk安装到unity默认的sdk和jdk文件夹……pass!不同版本的unity对open sdk和open jdk并不通用,这就意味着未来每个版本的unity都必须安装对应的open sdk和open jdk,极大浪费硬盘空间
真正解决方案:
- 该报错与sdk版本有关,归根结底是sdk版本过高导致
- 打开Android Studio,将里面所有的sdk、sdk工具等高版本全部降级,所有能降级的地方,全部降级,降级到一个很低的版本,如25.0
- 返回Unity指定sdk的地方,取消勾选后,重新勾选一下,以刷新sdk版本链接。后续所有sdk修改后,都要用这种方法刷新(重启Unity也行,但麻烦)
- 在Unity中重新打包,观察报错提示,如提示:sdk version 25.0 < 26.0,这时候就不再是0.0< 26.0了,证明找到了症结所在
- 继续回到Android Studio,将sdkl版本升级到报错提示中要求的版本,如26.0后,删掉低版本,继续打包观察
- 再次报错:sdk tool版本为26.0,低于34.0,gradle打包时会自动升级成34.0版本,巴拉巴拉一堆……赶紧终止打包,继续回到Android Studio
- 在Android Studio中将sdk tool版本升级到34.0,并删掉低版本
- 如此循环往复,直到最终成功打包apk即可