所需开发环境:
- Microsoft Visual Studio
- eclipse
- cocos2dx游戏引擎
- android-ndk
- Python
(cocos2dx游戏源码只有Classes和Resources两个目录的情况下的配置步骤。)
cocos2dx使用:
解压下载好的cocos2dx目录即可。
android-ndk使用:
解压即可(版本最好是r9)
Python使用:
- 安装python-2.7.10.amd64.msi(我下载的版本)
安装完成后到 系统环境变量 中查看是否配置好了python环境变量
如图:
创建cocos2dx项目
命令行进入到..\cocos2d-x-2.2.6\tools\project-creator目录下,通过命令
create_project.py -project HelloCocos2dxGame -package com.cocos2dx.game -language cpp
来创建android项目,create_project.py是cocos2d-x提供的创建项目的python脚本
-project是工程名称
-package是工程包名
-language是开发语言
3.之后projects目录下会生成以下文件目录结构:
将下载的游戏源码目录下的相应文件拷贝到刚才通过Python新建的相应文件目录下即可(删除新建时生成的文件)
Microsoft Visual Studio使用:
VS编辑器编译源码(cocos2d-x-2.2.6\samples\Cpp目录下的源码可忽略此步骤)
vs编辑器里导入刚才新建好的游戏目录
选择游戏目录中的proj.win32中的xxx.vcxproj文件打开即可。此时
这时的Classes目录中是没有游戏中的cpp和.h文件的,这需要我们手动添加进去,在Classes文件夹右键
- Build工程即可。
(注:若Build不通过,很有可能是cocos2dx版本不同,导致cpp文件中导入的头文件的目录结构不同致使编译不通过,也有可能因为不同cocos2dx版本导致游戏中的一些方法不存在导致,这时需要一个个的修改这些文件的导入路径(具体路径因cocos2dx版本不同而异),以及修改一些找不到的方法,具体问题还请度娘。
Eclipse使用:
- 导入proj.android目录到eclipse中
修改proj.android\jni目录下的Android.mk,将Classes目录下的.cpp文件添加进来,按照格式添加
更换res/drawable-hdpi目录下的icon文件来更换app图标,名字不能改变
将Resources资源文件全部拷贝到assets目录下
右键项目Properties
构建命令填上ndk-build.cmd的路径- Environment,添加3个环境变量
COCOS2DX cocos2dx根目录
NDK_ROOT ndk根目录
NDK_MODULE_PATH
配置好的:
注:配置时注意NDK_MODULE_PATH后面的路径斜线。
配置Resource下的Linked Resource(此步骤针对工程目录存放在cocos2dx引擎目录下的项目,其他路径下的项目应该可以不用此步骤,具体还没太搞明白…)
导入游戏所需要的lib库:
导入目录:..\cocos2d-x-2.2.6\cocos2dx\platform\android\java游戏工程引入刚才导入的libcocos2dx库
Project–>Build Project,开始编译cpp文件,第一次时间会有些长
移植成功,安装到手机即可运行。
添加第三方so库:
2014-05-26
导语:Cocos2dx在安卓上移植的时候,加入第三方库,却发现新加的so库被删掉了。
正文:
1、我的环境: cocos2d-x 2.2.3,ndk-r9
2、网上找了很多,但是好多说法都没能成功,ndk编不过,最后找了个方法。这里记录一下!
1)在新建目录jni/prebuilt,添加so包
2)在原来的jni/Android.mk添加
3)注意,重新在armeabi目录下生成的大小会变化,但是如果大小差很多的话就有问题了,把obj目录删掉重编再试试就可以了
1. LOCAL_PATH := $(call my-dir)
2. 3. include $(CLEAR_VARS) 《---在这个后面田间
4. 5. 6. include $(CLEAR_VARS)
7. LOCAL_MODULE := mppay
8. LOCAL_SRC_FILES := prebuilt/libmppay.so
9. include $(PREBUILT_SHARED_LIBRARY)
10. 11. include $(CLEAR_VARS)
12. LOCAL_MODULE := entryex
13. LOCAL_SRC_FILES := prebuilt/libentryex.so
14. include $(PREBUILT_SHARED_LIBRARY)