检查jdk版本
尝试升高或降低
背景情况:
1. Unity5.6 升 Unity2017.1 此时一直在构建APK时提醒我要升级JDK版本(23 -> 25)
2.我点击了升级按钮(Upgrade) 并等待它自动完成。
问题出现:
构建 项目A 时出现 Unable to convert classes into dex format 错误
尝试解决:
1.百度到可能的原因是:有重复的jar -> 挨个删除模组 -> 但是并没有解决
2.谷歌到可能的原因是:无(实在看不下去英文了)
3.冷静下来自己的分析:
1.新建空 project(项目B) 且不保存 Unsettled 场景文件(Asset 表面全空) -> 导出成功 -> 说明 Unity 没有问题 问题在于项目A
2.最低支持 API 从4.0.1 提高到了4.1 -> 可能出现问题 -> 无法解决这个差异 -> 放弃
3. External Tools 中使用了 jdk1.7,而 Android 版本似乎是25 ->使用jdk1.8 -> 成功导出 -> 结束分析
4. 导出后闪退 -> 删除的模组可能带走了关键资源 -> 继续调试。。。
其它事项:
1.既然 jdk1.7 无法正常导出项目(出现上文加粗文字中的错误) 那么为什么项目B可以正常导出呢?
可能与具体包含的资源相关 -> 这个问题可能是偶发的 -> 这个问题出现的背景情况可能有很多种
写在最后:
希望本文能帮助到大家。