1
在我的上一篇 博文cosos2d-x 环境搭建和初学习
(http://blog.youkuaiyun.com/qq_26437925/article/details/51764067)后,自己写的项目都只能在windows上跑,总想着能打包到android上,在各种论坛,博文,书籍,视频讲解中终于成功完成任务。,下文成功发布apk的小结,并不是太全,主要是记录下各种问题的解决。
Cygwin安装,在线安装会比较坑
虽然不安装Cygwin也能完成apk发布操作(也是各种问题),不过建议还是在windows装上Cygwin
链接: http://pan.baidu.com/s/1jGrm4xo 密码: eceg,里面有安装教程(人家分享的,可以自己保存到自己的百度网盘上)win7 Android开发环境,直接用了Bundle: adt-bundle-windows-x86_64-20130917
ndk: android-ndk-r9d
你需要修改create-android-project.bat
修改Cygwin, ndk, android等的环境变量 ,之后直接双击bat就可以创建项目了
可参考如下博文
http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html
使用CYGWin 编译cocos2d 项目 项目并移植到 Android
http://blog.youkuaiyun.com/laogong5i0/article/details/14168777
注意的问题:
- cocos创建成功后的项目
可以把自己用vs2010写的win32项目里面的Classes 和 Resources复制到上面对应的目录
Cygwin 切换到D:\cocos2d-2.1beta3-x-2.1.1\ABC\proj.android目录下运行 build_native.sh 会遇到各种问题
可以自行百度,有很多解决方案,如下一个博客网址可以参考
http://blog.youkuaiyun.com/snakewarhead/article/details/8223169用NDK r9版本编译cocos2d x 2.0.4碰到的各个坑,一定要参考
http://www.myexception.cn/operating-system/1656753.htmlAndroid.mk 和 Applocation.mk 需要作出相应的修改
Applocation.mk 可能需要加上如下的一句
APP_CPPFLAGS += -Wno-error=format-security
Android.mk 需要修改编译文件,module等等
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/GameOverLayer.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)
最后./build_native.sh 将会成功生成libgame.so
可能遇到问题
cocos2dx 新建android项目无lib解决理法
http://blog.sina.com.cn/s/blog_a76aa15901019uht.htmlandroid 最低版本,图片资源错误等
最后成功编译虚拟机仍然出错,opengl不支持问题,需要对虚拟机修改如下
成功运行后 虚拟机的横竖屏切换可以使用ctrl+f12切换,或者apk装入真机运行。
- windows 运行如下
- Android手机上运行如下
2
cocos2d-3.0 发布android比较简单
新建一个cpp项目,如上图
用vs开发,只用管Classes proj.win32和Resouce目录
若要发布android apk,进入到 proj.android/
build_native.py 用python运行
注意要修改Android.mk等文件,跟cocos2d-2.1beta3-x-2.1.1差不多,不过有点不一样,需要自行搜索解决
最后导入项目,有个lib包需要先导入,在导入项目 并引用lib
最后应该可以正常运行了