cocos2dx 在VS2010编写,然后在ADT上编译android项目

     能创建cocos2dx项目这只是万里长征的第N步(反正不算第一步吧,己经做了很多事情了)。这里只讲在VS2010里面写程序,然后 在ADT上编译、发布APK包(这里不会详解怎么发布APK)。

     打开cocos2d-x-2.2.3\projects目录下myNGame(这个是我之前创建的项目)。打开proj.win32目录,myNGame.sln这个就是我们可以直接用VS2010打开的项目了,打开过程有些慢。

       加载完成后,打开myNGame目录下的HelloWorldScene.cpp文件,把 Hello World改成 wo de COCOS2DX,然后 

直接按F5或者上面工具条里面的启动按钮,然后就是等,于是看到了这个画面,cocos2dx 在VS2010编写,然后在ADT上编译android项目_第1张图片恭喜你,现在可以开发cocos2dx项目了(还是新手,只会最简单的代,但是把hello world改成 wo de cocos2dx我还是会的,在这里直接用中文会乱码。这个怎么解决,日后再说)。

      既然己经”完成了开发“,下一步就是发布了,这里只讲怎么在ADT上发布成android项目()。

     一开始,我以为直接打开cocos2d-x-2.2.3\projects\myNGame\proj.android这个安卓项目就完事了,汗,只能说没有这么简单。

            测试都是用真机,据说虚拟机有各种问题。在我实际运行中,碰到了以下问题:

            一、 用ADT打开项目,一眼看到就是报红,打开类myNGame(只有一个类),报找不到org.cocos2dx.XX类,上网找了一番,发现了一个最简单的办法,就是把cocos2d-x-2.2.3\cocos2dx\platform\android\java\src文件夹下的所有源文件拷到项目下的src就行了。

          二、 运行,结果发现项目还是报红,我第一反应是不管它了,先运行。结果直接报错。

            cocos2dx 在VS2010编写,然后在ADT上编译android项目_第2张图片

    输出   Cannot run program "bash": Launching failed
               Error: Program "bash" is not found in PATH

       一头雾水不知天,只能找百度和谷哥了,找了N个网页,最后还是有人提到了重点。这个时候NDK9派上用场了。需要NDK来编译C++源文件。最简单办法如下:右键项目-->build path-->configue build path找到C/C++ Build页,Build command 填写E:\cocos2dx\Cocos2d-x\android-ndk-r9d\ndk-build.cmd,如图

    

   还要点击一下下面的 Workspace,选择当前目项,之后变成 ${workspace_loc:/myNGame},如图:

   cocos2dx 在VS2010编写,然后在ADT上编译android项目_第3张图片完成后,再运行。



         三、本以为可以,这次Android.mk文件直接报红了。又得百度,最后才知需要在项目下/jni/Android.mk文件include $(BUILD_SHARED_LIBRARY)下面需要添加一些东西 ,我添加的代码如下:

               $(call import-add-path, E:/cocos2dx/Cocos2d-x/cocos2d-x-2.2.3) 
               $(call import-add-path, E:/cocos2dx/Cocos2d-x/cocos2d-x-2.2.3/cocos2dx/platform/third_party/android/prebuilt)
               $(call import-module,CocosDenshion/android)

    大概是加载cocos2dx的一些类吧,我想。加完后运行。

   四、结果直接闪退,后来想起没有把素材拷过来,在android项目根目录下建文件夹assets。然后把cocos2d-x-2.2.3\projects\myNGame\Resources下所以文件都拷过来。运行,这次终于没有问题了。成功发布到真机上了。

   五、其实这里还有一个问题,就是加载源文件的问题,后来我又添加了一个类,怎么编译都不更新到android上,上网查了一下,发现在在jni/Android.mk需要手动添加源文件进来,如图:

          cocos2dx 在VS2010编写,然后在ADT上编译android项目_第4张图片(这是旧项目,所以看到还是示例源文件,这里有更好的办法的,日后再补充上来,要是有200个源文件,总不能一个一个添加吧。

加载所有源文件

----------------------------------------------------------------------------------------------------

MY_FILES_PATH  :=  $(LOCAL_PATH) \
                   $(LOCAL_PATH)/../../Classes
                   
MY_FILES_SUFFIX := %.cpp %.c %.cc


My_All_Files := $(foreach src_path,$(MY_FILES_PATH), $(shell find "$(src_path)" -type f) ) 
My_All_Files := $(My_All_Files:$(MY_CPP_PATH)/./%=$(MY_CPP_PATH)%)
MY_SRC_LIST  := $(filter $(MY_FILES_SUFFIX),$(My_All_Files)) 
MY_SRC_LIST  := $(MY_SRC_LIST:$(LOCAL_PATH)/%=%)
LOCAL_SRC_FILES := $(MY_SRC_LIST)

---------------------------------------------------------------------------------------------------


     至此,你己经可以在VS2010里面用C++开发,然后在ADT上发布android项目了。

       

你可能感兴趣的:(cocos2dx 在VS2010编写,然后在ADT上编译android项目)