Cocos2.2.6创建项目cd tools/project-creator/

本文介绍了一种使用Python脚本来快速创建C++游戏项目的流程。通过cdtools下的create_project.py脚本,用户可以轻松指定项目名称、所属包及使用的编程语言等参数,实现自动化项目搭建。

http://blog.youkuaiyun.com/a542214712/article/details/20638477


cd tools/project-creator/

./create_project.py 

./create_project.py -project hicoco -package net.ataworld.game -language cpp

LOCAL_PATH :=$(call my-dir) include $(LOCAL_PATH)/../../jni/CocosAndroid.mkcocos打包apkExecution failed for task ':NewProject_1:generateJsonModelDebug'. > error when building with ndkBuild using D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\jni\Android.mk: Build command failed. Error while executing process C:\Users\Lenovo\AppData\Local\Android\Sdk\ndk\19.2.5345600\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\jni\Android.mk NDK_APPLICATION_MK=D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\jni\Application.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-16 NDK_OUT=D:/Dinging/Cocos_project/NewProject_1/build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib NDK_TOOLCHAIN_VERSION=clang NDK_MODULE_PATH=C:\ProgramData\cocos\editors\Creator\2.3.4\resources\cocos2d-x;C:\ProgramData\cocos\editors\Creator\2.3.4\resources\cocos2d-x\cocos;C:\ProgramData\cocos\editors\Creator\2.3.4\resources\cocos2d-x\external -j16 NDK_DEBUG=1 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n} md "D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib\armeabi-v7a" >NUL 2>NUL || rem C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../prebuilt/windows-x86_64/bin/echo.exe [armeabi-v7a] "Gdbserver ": "[arm-linux-androideabi] D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib/armeabi-v7a/gdbserver" copy /b/y "C:\Users\Lenovo\AppData\Local\Android\Sdk\ndk\19.2.5345600\build\\..\prebuilt\android-arm\gdbserver\gdbserver" "D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib\armeabi-v7a\gdbserver" > NUL C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../prebuilt/windows-x86_64/bin/echo.exe [armeabi-v7a] "Gdbsetup ": "D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib/armeabi-v7a/gdb.setup" C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../prebuilt/windows-x86_64/bin/echo.exe "set solib-search-path D:/Dinging/Cocos_project/NewProject_1/build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a" > D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib/armeabi-v7a/gdb.setup C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../prebuilt/windows-x86_64/bin/echo.exe "directory C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../toolchains/llvm/prebuilt/windows-x86_64/sysroot C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../sources/android/support C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/audio/android/../include C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/audio/android/../.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/audio/android/../../platform/android C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/audio/android/../../../external C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/audio/android/../../../external/sources C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/external/sources/pvmp3dec/src C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/external/sources/pvmp3dec/include C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../sources/cxx-stl/llvm-libc++/include C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../sources/cxx-stl/llvm-libc++abi/include D:/Dinging/Cocos_project/NewProject_1/build/jsb-link/frameworks/runtime-src/proj.android-studio/app/jni/../../jni/../../Classes C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/platform C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/base C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/network C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/../external/android/armeabi-v7a/include C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/../external/sources C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/renderer C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/external/android/armeabi-v7a/include/uv C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/extensions/. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/extensions/.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/editor-support C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/editor-support/.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/editor-support/../.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/platform/android C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../sources/android/cpufeatures C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/external/android/armeabi-v7a/include/v8 C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/scripting/js-bindings/manual C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/scripting/js-bindings/manual/platform/android C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/scripting/js-bindings/auto C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/renderer/gfx C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/platform/android/.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/platform/android/../.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/platform/android/../../.. C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/extensions/../cocos C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/extensions/../cocos/platform C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/extensions/../external/sources C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/editor-support/../../external/android/armeabi-v7a/include/v8 C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/cocos/editor-support/../../external/sources/ C:/ProgramData/cocos/editors/Creator/2.3.4/resources/cocos2d-x/external/sources/tremolo/Tremolo" >> D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib/armeabi-v7a/gdb.setup process_begin: CreateProcess(NULL, "", ...) failed. C:/Users/Lenovo/AppData/Local/Android/Sdk/ndk/19.2.5345600/build//../build/core/build-all.mk:92: Android NDK: WARNING: No modules to build your APP_MODULES definition is probably incorrect! make: *** No rule to make target `cocos2djs', needed by `ndk-app-local'. Stop. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org Ask Gemini
08-16
### 问题分析 在使用 Cocos2d-x 构建 Android 项目时,出现 `Execution failed for task ':NewProject_1:generateJsonModelDebug'` 和 `No rule to make target 'cocos2djs'` 的错误,通常与构建配置文件 `Android.mk` 或 NDK 构建路径相关。NDK 构建系统在解析模块依赖时,如果找不到指定的目标模块(如 `cocos2djs`),或模块定义存在格式错误,就会导致构建失败 [^3]。 错误信息中提到 `No modules to build`,这表明 `Android.mk` 文件中没有正确声明模块,或者 `APP_MODULES` 在 `Application.mk` 中未设置为有效的模块名。此外,`generateJsonModelDebug` 错误通常与构建过程中生成中间文件失败有关,可能是由于路径过长、权限问题或缓存文件损坏导致 [^1]。 ### 解决方案 #### 修改 `Android.mk` 文件中的模块定义 确保 `Android.mk` 中定义的模块名称与构建系统期望的一致。例如: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2djs LOCAL_SRC_FILES := ../../Classes/main.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes ``` 确保 `LOCAL_MODULE` 的值与目标名称一致,并且没有拼写错误 [^3]。 #### 检查 `Application.mk` 中的 `APP_MODULES` 设置 确保 `Application.mk` 文件中 `APP_MODULES` 指向正确的模块名称,例如: ```makefile APP_MODULES := cocos2djs ``` 如果没有设置该变量,或者设置为错误的模块名,NDK 构建系统将无法找到需要构建的目标模块 [^3]。 #### 清理构建缓存并重新构建 删除构建过程中生成的临时文件和缓存,确保构建系统重新解析所有依赖关系: ```bash # 删除构建目录 rm -rf app/build/ # 清理 NDK 构建缓存 ndk-build clean # 重新构建项目 ndk-build ``` 这样可以避免因旧缓存文件导致的构建错误 [^1]。 #### 检查 NDK 配置路径 在 Android Studio 中,确保 NDK 路径配置正确。进入 **Project Structure → SDK Location**,确认 `Android NDK location` 指向当前项目使用的 NDK 路径,例如: ``` C:\Users\Lenovo\AppData\Local\Android\Sdk\ndk\19.2.5345600 ``` 错误的 NDK 路径会导致构建系统无法找到必要的构建规则 [^1]。 #### 检查工程名称和路径长度 如果工程名称过长或项目路径嵌套过深,可能会导致构建工具链在处理文件路径时出现异常。建议将工程名称缩短,并将项目放置在较短路径下,例如: ``` D:\Projects\NewProject ``` 避免使用如 `D:\Dinging\Cocos_project\NewProject_1\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\jni` 这类长路径 [^3]。 --- ### 示例代码:修正后的 `Android.mk` 片段 ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2djs LOCAL_SRC_FILES := ../../Classes/main.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_CPPFLAGS := -std=c++11 -frtti -fexceptions include $(BUILD_SHARED_LIBRARY) ``` --- ### 注意事项 - 确保 `Android.mk` 中的 `LOCAL_MODULE` 与 `Application.mk` 中的 `APP_MODULES` 一致; - 如果使用了 Cocos Creator 提供的 JSB 绑定,需确保 `cocos2djs` 模块正确导入并配置; - 在 Android Studio 中执行构建时,可通过 **Build → Make Project** 查看详细构建日志,便于定位错误 [^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值