Unity构建APK失败求助:已尝试多方案仍未解决
解决Unity构建APK时的
sun.misc.BASE64Encoder找不到错误 先别灰心!折腾12小时还卡在这里确实太闹心了,不过从你贴出的错误日志来看,问题的根源其实非常明确——JDK版本不兼容。
错误原因分析
你当前使用的是JDK 9.0.1,而错误日志里的核心报错java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder,是因为sun.misc.BASE64Encoder是Java 8及更早版本中的专属类,Java 9及以上版本已经移除了这个类。而Unity的Android构建工具目前还依赖这个类,所以用高版本JDK就会触发这个报错。
之前你尝试替换tool文件夹、更换SDK、重装Android Studio都没解决问题,是因为这些操作都没触及到最关键的JDK版本适配环节。
具体解决步骤
- 先卸载你当前的JDK 9.0.1
- 下载并安装Java SE Development Kit 8(Oracle JDK8或者OpenJDK8都可以,注意选对应你系统的版本)
- 打开Unity,依次点击
Edit > Preferences > External Tools - 在Android板块中,找到JDK路径设置,将其修改为你刚安装的JDK8的安装目录(示例路径:
C:\Program Files\Java\jdk1.8.0_291) - 重启Unity,重新尝试构建APK
这个操作应该能直接解决你的问题,毕竟你已经把其他可能的故障点都排查过了,就差这最后一步适配JDK版本啦!
内容的提问来源于stack exchange,提问作者cozimo
相关产品推荐
相关产品推荐

