cocos2dx-3.4 编译apk包 文件名、目录名或卷标语法不正确 解决方案

[plain]  view plain  copy
 print ?
  1. building apk  
  2. running: '"e:\apache-ant-1.9.6\bin\ant" clean debug -f E:\cocos\cocos2d-x-3.4\cocosCode\MyGame\frameworks\runtime-src\proj.android\build.xml -Dsdk.dir="e:\android-sdk"'  

如果是在这两句之后输出:
文件名、目录名或卷标语法不正确。
Error running command, return code: 1

解决方案是:

找到你的cocos2dx3.4的安装目录下的文件夹:...\cocos2d-x-3.4\tools\cocos2d-console\plugins\project_compile,找到里边的build_android.py文件,使用文本编辑器打开,找到这句代码:

[plain]  view plain  copy
 print ?
  1. command = "%s clean %s -f %s -Dsdk.dir=%s" % (cocos.CMDRunner.convert_path_to_cmd(ant_path), build_mode, buildfile_path, cocos.CMDRunner.convert_path_to_cmd(sdk_root))  

把它改成:

[plain]  view plain  copy
 print ?
  1. command = "%s clean %s -f %s -Dsdk.dir=%s" % (cocos.CMDRunner.convert_path_to_cmd(ant_path), build_mode, buildfile_path, (sdk_root))  

即可。

这行代码不一定完全和这行一样,可能随着cocos2dx-3.x版本不同会稍有不同。但是形式都是这样的:

[plain]  view plain  copy
 print ?
  1. command = "%s clean %s -f %s -Dsdk.dir=%s" % (路径转换函数(ant_path), build_mode, buildfile_path, 路径转换函数(sdk_root))  
修改时就是要把后一个路径转换去掉。

如果是在:

[plain]  view plain  copy
 print ?
  1. building apk  
  2. running: '"E:\cocos\cocos2d-x-3.4\tools\cocos2d-console\bin\cocos" luacompile -s "E:\cocos\cocos2d-x-3.4\cocosCode\QuickSend\frameworks\runtime-src\proj.android\assets" -  
  3. d "E:\cocos\cocos2d-x-3.4\cocosCode\QuickSend\frameworks\runtime-src\proj.android\assets"'  

之后输出:

文件名、目录名或卷标语法不正确。
Error running command, return code: 1

则是在把lua文件编译为二进制时报错。其实一般不需要把lua文件编译为二进制的文件,我们可以选择绕过这个编译,值需要在编译命令后加上-- compile-script 0即可:

[plain]  view plain  copy
 print ?
  1. cocos compile -p android -m release --compile-script 0  

-- compile-script表示是否把lua文件编译成二进制,当编译参数-m为release时默认是1,现在改为0即可。

你可能感兴趣的:(cocos2d)