目录
一.需要的软件
二.配置过程
2.1 解压cocos2d-x-2.2.3
2.2 win32开发
2.3 创建新项目
2.4 android开发配置
昨晚搞了一晚上,终于搞定了cocos2d-x在windows 7 64位的环境下的开发环境,能够进行win32和android开发了。在这个过程遇到了很多困难,在参考了很多网友的解决方法之后,总算是成功了,我尽量贴出参考的主要来源。写下这篇日志,也是为了方便自己以后配置的时候有个参考。好了,废话少说,下面开始介绍如何进行cocos2d环境搭建。
Android NDK: jni/Android.mk: Cannot find module with tag 'cocos2dx' in import path
一.需要的软件
我是在windows7下面进行开发的,所以我用到的软件有VS2012,Eclipse, cocos2d-x2.2.3, Android NDKr9d, python2.7
这些软件都可以在网上下载到,我就不一一详述了,主要介绍如何搭建cocos2d-x的win32和android开发环境。
由于我是使用NDKr9d的,所以可以不安装cygwin。
注意:要将python的目录加入到系统的path环境变量中,这样就可以直接在命令行中使用python命令。
二.配置的过程
2.1 将cocos2d-x-2.2.3解压,注意解压后的路径,我直接将它解压到E盘,得到E:\cocos2d-x-2.2.3目录,这样目录会和下面的一些设置有关。
2.2 win32开发
2.2.1 用VS2012打开cocos2d-x-2.2.3目录下的cocos2d-win32.vc2012.sln文件,就是下图的那个文件。
等待VS2012导入项目。
编译。
编译完成后,将HelloCpp项目设置为启动项目,运行,就可以看到下面的画面了。
开发win32并不需要其他的设置,只要创建了项目,然后用VS2012打开项目文件,然后就可以进行开发了。
2.3 创建新的项目
进入cocos2d-x-2.2.3目录下的tools->project-creator,可以看到creat_project.py,在命令行下运行这个脚本,得到的效果如下图:
根据上图可知道,只要我们通过python脚本的输入参数,就可以制定新建项目的名称,对应的android包名,使用的开发语言。
例如,可以使用下面的命令,创建一个命名为test,包名为com.sheng.test,使用cpp(C++)开发的项目。
输入上面的命令之后,出现下面的结果时,就是表示创建成功。
打开cocos2d-x-2.2.3目录下的projects目录下就会出现你的项目的文件夹,打开文件夹,就会看到cocos2d已经帮我们建立好多个平台对应的目录了,其中,资源文件主要放在Resources文件夹下面,如果要进行win32开发,只要打开proj.win32目录下面的vs工程文件就可以了。
创建一个项目都要输入那么长的一串命令,感觉很不爽啊,还好,网上有人分享了一个bat批处理的文件,用这个文件就可以在输入项目名和包名后,自动生成用C++进行开发的项目了。我在这个文件的基础上,又加了一行命令,可以将一些进行android配置时要复制的文件直接在这个阶段复制过来了。
批文件的内容如下:
@echo off
:label1
@cls
echo welcome to create the cocos2d-x project using python
set /p project=please enter the project name:
set /p aID=package name:
echo the project name is %project%
echo the package name is %aID%
echo Are you sure to create the project?
CHOICE /C 123 /M "enter 1 for yes, enter 2 to cancle, enter 3 to exit the script."
echo %errorlevel%
if %errorlevel%==1 goto label2
if %errorlevel%==2 goto label1
if %errorlevel%==3 goto label3
:label2
echo creating...
python create_project.py -project %project% -package %aID% -language cpp
xcopy ..\..\cocos2dx\platform\android\java\src ..\..\projects\%project%\proj.android\src /e
:label3
pause
注意:必须把这个批文件放在project-creator目录下,不然无法使用。
2.4 android开发配置
在创建了新的项目或者直接使用cocos2d-x中的例子的时候,在eclipse中导入工程之后,还需要进行一些配置才可以顺利编译生成APK文件。
具体步骤如下:
1.将cocos2d-x-2.2.3\cocos2dx\platform\android\java\src目录下的org文件夹整个复制到我们建立的项目的proj.anroid\src目录下,也就是E:\cocos2d-x-2.2.3\projects\test\proj.android\src目录下。(但是,如果使用我写的bat批处理文件建立的项目,由于在批文件中就已经使用dos命令将这个文件夹复制到了对应的项目的src目录下了,所以无需进行这一步)。
2.在eclipse中打开jni目录下的Application.mk文件,在文件的后面加入下面的代码:
NDK_MODULE_PATH := E:\cocos2d-x-2.2.3\;E:\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt\
注意:为了避免以后每次建立行的项目,我都要修改这个文件,所以我直接在cocos2d-x-2.2.3目录下的template->multi-platform-cpp->proj.android->jni目录下,将上面的代码放到了Application.mk文件中,这样,在创建了新的项目之后,就不需要进行修改Application.mk文件了。又是一个偷懒的好方法。步骤2也是可以一劳永逸的,在模板中修改一次,就可以以后都不用修改了。
如果没有进行步骤2的话,会出现下面的错误:
Android NDK: jni/Android.mk: Cannot find module with tag 'cocos2dx' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
进行了上面的步骤后,就不会出现这个错误了。
3.添加新的builder
这个步骤在每次创建新的项目的时候都要设置的,切记
在project->Propeies->Builders选项中,点击New,然后选择Program,如下图。
在接下来的页面中,输入名字,指定Location为NDK中的ndk_build.cmd,将当前项目的目录设置为工作目录,如下图
Refresh选项卡中,勾选Refresh resources upon completion选项
在Build Options选项卡中勾选During auto builds和Specify working set of relevant resources,同时,点击specify Resources指定当前项目目录下的jni目录作为资源。
点击finish,再点击OK。
选择创建的builder,点击UP,将其调整到第一位,点击OK。
点击C/C++ Build选项卡,将Build command:中的内容修改为ndk中的ndk-build.cmd
点击OK,配置结束。开始编译。
4.将test目录下的Resource文件夹下面的文件全部复制到android项目下的assert文件夹中,不然android程序会因为缺少资源而无法显示。这个步骤也是每次都必须进行的,可以写个批文件放在template中,以后每次运行下bat批文件就自动将文件资源文件复制过来了,批文件的代码如下:
@echo off @cls echo copying the resource xcopy .\Resources .\proj.android\assets /e pause
将这个批文件放在template目录的multi-platform-cpp文件夹下面,这样每次创建一个项目后,就会在创建出来的项目目录下面出现这个批文件,在导入android项目后,运行这个批文件,就能将资源文件复制过来。
5.然后就是和普通的android程序一样运行就可以了。
这样android的环境配置也搞定了,enjoy it~
特别感谢下面几篇博客的作者的无私共享精神:
- 猜你在找
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
核心技术类目
全部主题
Hadoop
AWS
移动游戏
Java
Android
iOS
Swift
智能硬件
Docker
OpenStack
VPN
Spark
ERP
IE10
Eclipse
CRM
JavaScript
数据库
Ubuntu
NFC
WAP
jQuery
BI
HTML5
Spring
Apache
.NET
API
HTML
SDK
IIS
Fedora
XML
LBS
Unity
Splashtop
UML
components
Windows Mobile
Rails
QEMU
KDE
Cassandra
CloudStack
FTC
coremail
OPhone
CouchBase
云计算
iOS6
Rackspace
Web App
SpringSide
Maemo
Compuware
大数据
aptech
Perl
Tornado
Ruby
Hibernate
ThinkPHP
HBase
Pure
Solr
Angular
Cloud Foundry
Redis
Scala
Django
Bootstrap
Hadoop
AWS
移动游戏
Java
Android
iOS
Swift
智能硬件
Docker
OpenStack
VPN
Spark
ERP
IE10
Eclipse
CRM
JavaScript
数据库
Ubuntu
NFC
WAP
jQuery
BI
HTML5
Spring
Apache
.NET
API
HTML
SDK
IIS
Fedora
XML
LBS
Unity
Splashtop
UML
components
Windows Mobile
Rails
QEMU
KDE
Cassandra
CloudStack
FTC
coremail
OPhone
CouchBase
云计算
iOS6
Rackspace
Web App
SpringSide
Maemo
Compuware
大数据
aptech
Perl
Tornado
Ruby
Hibernate
ThinkPHP
HBase
Pure
Solr
Angular
Cloud Foundry
Redis
Scala
Django
Bootstrap