Unity打包Android APK遇CommandInvokationFailure错误求助
Unity打包Android APK报错:无法将类转换为dex格式
错误详情
CommandInvokationFailure: Unable to convert classes into dex format. /Users/mbj0578/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir="/Users/mbj0578/Library/Android/sdk/tools" -Dfile.encoding=UTF8 -jar "/Applications/Unity/Hub/Editor/2017.3.0f3/PlaybackEngines/AndroidPlayer/Tools/sdktools.jar" - stderr[ Error:Invalid command dx ] stdout[ ] exit code: 64 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
环境信息
- JDK版本:jdk1.8.0_231
- AndroidManifest:截图内容未展示
解决方案
1. 匹配Android SDK Build Tools版本
Unity 2017.3版本较旧,不支持高版本Android SDK Build Tools(28及以上版本中dx工具被d8替代)。操作步骤:
- 打开Android SDK Manager,卸载27.0.0及以上版本的Build Tools
- 安装26.0.2版本的Build Tools
2. 验证Unity的Android配置
- 打开Unity编辑器,进入
Edit > Preferences > External Tools - 确认Android SDK路径指向包含
tools和build-tools/26.0.2的目录 - 确认JDK路径指向jdk1.8.0_231的安装目录
3. 清理项目缓存
- 关闭Unity编辑器
- 删除项目根目录下的
Library文件夹 - 重新打开Unity,等待资源重新导入完成后再尝试打包
4. 排查插件依赖冲突
- 移除项目中最近添加的第三方插件,逐一排查是否存在重复jar包或依赖冲突
- 检查
Plugins/Android目录下的jar包,确保没有重复的类定义
内容的提问来源于stack exchange,提问作者manyuemeigege
相关产品推荐
相关产品推荐

