这一个月时间,从完全没接触过cocos,到一点一滴初步开发完成一个自己的游戏,整个过程,问题重重,当成是苦不堪言。感受到网络上关于的cocos的各种信息太于杂乱,特此将我在cocos开发中遇到的问题以及解决办法记录下来,以帮助自己以后回忆,同时方便那些和我开发类似项目的猿们少走弯路。
1. 首先装cocos 和python
Cocos版本:我自己使用的3.2,建议3.x
Python版本: 3.x,不能用2.x
2. 安装并配置Android SDK、NDK、Ant和JDK
三个问题:
(1) NDK的版本不对:我后来是换到r9d 版本,才最终打包成功的。不过看网上说r10版本也可以,虽然我没试过。
(2) SDK:在我的sdk目录里面
D:\adt-bundle-windows-x86_64-20131030\sdk\platforms
这个路径下 有 android-xx 文件夹,为了保险起见,我是找了一个点开后里面有内容的 android-18来作为我的项目版本的。
如果里面什么都没有的话,可以试着用SDK Manager下载。
另外,我用的sdk是其中自带eclipse的android sdk开发包。
(3) Ant:打包过程中,出现了“'"D:\apache-ant-1.9.3\ant"'不是内部或外部命令,也不是可运行的程序或批处理文件”的错误,照网上的修改path和ant-root,都没有起效,最后干脆将D:\apache-ant-1.9.3\bin中的文件全部复制到D:\apache-ant-1.9.3中,结果就可以正常打包了
3. AppDelegate.cpp 屏幕适配问题
具体的网上有很多,补充一点我遇到的问题:
glview->setFrameSize(480,800);
这句话是用来在pc上生成窗口进行调试的,将其注释掉,就可以正常在手机上运行
4. 打包
环境配置成功后,建议大家先用F:\Cocos\cocos2d-x-3.3\tests\cpp-tests测试一下打包。
(1) 首先要进入F:\Cocos\cocos2d-x-3.3\tests\cpp-tests\proj.android。
(2) 修改project.properties文件,打开后将target.target=android-18改成你需要的平台版本,建议和上面SDK中的对应
(3) ..\DemoGame\proj.android\jni\Android.mk
关于这个文件网上也说了很多,这里我把我的文件内容贴出来,我的cocos版本是3.2
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(callimport-add-path,$(LOCAL_PATH)/../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/EditScene.cpp \
../../Classes/PlayScene.cpp \
../../Classes/SpriteShape.cpp \
../../Classes/StartScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_STATIC_LIBRARIES := cocos2dx_static
LOCAL_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_STATIC_LIBRARIES += box2d_static
LOCAL_STATIC_LIBRARIES += cocos_extension_static
LOCAL_STATIC_LIBRARIES += cocostudio_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,.)
$(call import-module,audio/android)
$(call import-module,Box2D)
$(call import-module,editor-support/cocostudio)
$(call import-module,extensions)
注意在LOCAL_SRC_FILES := hellocpp/main.cpp \下面加入自己的cpp就好
(4) 在当前目录shift+鼠标右击->在此处打开命令窗口
(5) 输入cocos compile -p android –-ap 18进行编译
注意这里ap前是一长一短两杠,ap后的版本号18与project.properties文件中的要对应
(6) 出现错误: 程序包org.cocos2dx.lib不存在
把cocos2dx\platform\android\java\src的src复制到项目的andrid的src里就可以了