必备安装环境:java jdk安装以及环境变量,python运行环境
cocos2dx 2.2.2版本是通过python脚本创建的,脚本位置:cocos2d-x-2.2.2\tools\project-creator\create_project.py;
这里可以写个批处理文件来方便创建;createProject.bat
@echo off :label1 @cls echo 欢迎使用Python创建Cocos2d-x工程 set /p project=请输入需要创建的工程名: set /p aID=请输入需要创建的android版本包标识名: echo 您输入的工程名为%project% echo 您输入的android版本包标识名为%aID% echo 确认创建工程吗? CHOICE /C 123 /M "确认请按 1,取消请按 2,或者退出请按 3。" echo %errorlevel% if %errorlevel%==1 goto label2 if %errorlevel%==2 goto label1 if %errorlevel%==3 goto label3 :label2 echo 正在创建工程... python create_project.py -project %project% -package %aID% -language cpp :label3 pause
运行批处理,根据提示,创建出项目;
欢迎使用Python创建Cocos2d-x工程 请输入需要创建的工程名:test02 请输入需要创建的android版本包标识名:com.hugh.test 您输入的工程名为test02 您输入的android版本包标识名为com.hugh.test 确认创建工程吗? 确认请按 1,取消请按 2,或者退出请按 3。 [1,2,3]?1 1 正在创建工程... proj.ios : Done! proj.android : Done! proj.win32 : Done! proj.winrt : Done! proj.wp8 : Done! proj.mac : Done! proj.blackberry : Done! proj.linux : Done! proj.marmalade : Done! proj.tizen : Done! New project has been created in this path: I:\cocosx\cocos2d-x-2.2.2\tools\proje ct-creator/../../projects/test02 Have Fun! 请按任意键继续. . .
那么在cocos2d-x-2.2.2\projects\test02\proj.android 目录已经生成了android项目
项目的c++文件类都在Classes目录下
需要把这些c++文件放到android项目的jni目录下
上面的main.cpp是先去项目生成时自动生成的,不能把win32项目的main.cpp拷到此处啊,这是java jni 调用相关的。
接下来把需要编译的所有类都加入到jni目录下的Android.mk文件里
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dcpp_shared LOCAL_MODULE_FILENAME := libcocos2dcpp LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static include $(BUILD_SHARED_LIBRARY) $(call import-module,cocos2dx) $(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl) $(call import-module,CocosDenshion/android) $(call import-module,extensions) $(call import-module,external/Box2D) $(call import-module,external/chipmunk)
就是需要让程序知道我们的c++文件放在哪,这里我们可以改下:
LOCAL_SRC_FILES := hellocpp/main.cpp \
hellocpp/AppDelegate.cpp \
hellocpp/HelloWorldScene.cpp
其实不改也行,文件上上层的Classes目录本来就有这些文件,只是要明白这个道理;
下面需要把cocos2dx对于android平台支持的代码拷到我们的工程项目里面,文件目录在cocos2d-x-2.2.2\cocos2dx\platform\android\java\src下;
org目录下的文件就是cocos2dx对android平台接口支持相关的,我们把它拷到项目的src目录下:
到这里预备工作就做的差不多了,下面就可以用eclipse加载该项目了
当然项目肯定会报错,编译参数我们还没设呢!
首先我们得选定平台的sdk
确定后编辑器就生成了android项目所需要的gen目录了
对比下项目刚打开的样子,是不是生成了久违的gen目录啊 ,成功在望啊!
这时候项目的报错就不多了,我们看下:
这是项目编译报错,看到bash应该知道他是运行了错误的编译环境,bash 是linux的,我们看下配置确认下
是不是啊,运行的是linux下的脚本,我们得把它改成windows平台对应的就行。
我们把它改成I:\cocosx\android-ndk-r9d\ndk-build.cmd这个,用ndk-build.cmd来编译。
下面我们需要配几个参数了:
COCOS2DX 参数,设定cocos目录,I:\cocosx\cocos2d-x-2.2.2
NDK_ROOT参数,设定ndk目录,I:\cocosx\android-ndk-r9d
NDK_MODULE_PATH参数,设定ndk jni需要调用的目录,I:\cocosx\cocos2d-x-2.2.2;I:\cocosx\cocos2d-x-2.2.2\cocos2dx\platform\third_party\android\prebuilt
还剩下一个参数了,直接上图:
好了,编译环境已经设立完了,我们清理下,看有没有报错:
看,已经没有报错了!接下来就处理资源了,还没忘吧!
android项目下没有自动生成assets目录,我们就只有手动创建该目录,然后把Resources目录下的资源拷过来
好了,接下了就去编译了!
这是一个漫长的过程!
看到这里,我们需要的库就已经编好了,接下来就打包了,这就没啥可讲的了。