C++ 技术中心

   :: 首页 :: 联系 ::  :: 管理
  160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

公告

郑重声明:本BLOG所发表的原创文章,作者保留一切权利。必须经过作者本人同意后方可转载,并注名作者(天空)和出处(CppBlog.com)。作者Email:coder@luckcoder.com

留言簿(27)

搜索

  •  

最新随笔

最新评论

评论排行榜

一.       前期准备
cocos2d-x2.2.1  
2013年11月19日更新
下载地址:http://www.cocos2d-x.org/download
 
2.jdk
java环境是必须的,这个在官网上下载
下载地址:http://www.java.com/zh_CN/download/manual.jsp
3. Android开发环境
这个是android交叉编译必须的IDE环境,内含Eclipse
下载地址:http://developer.android.com/sdk/index.html
 
4.Android NDK
android交叉编译时,对C/C++代码的解释编译工具
下载地址:http://developer.android.com/tools/sdk/ndk/index.html
 
5.python
cocos2d-x2.0版本以后用python脚本来创建工程,所以需要python环境
下载地址:http://www.python.org/download/
注意:请下载python2.7.6  64位版本,不要下3.3的版本
 
 
6.cygwin
对cocos2d-x本地C/C++代码的解释编译工具
下载地址:http://cygwin.com/install.html
 
至此我们所需要的软件都已经准备完毕,接下来可以开始正式搭建环境了!
二.       搭建Android开发环境
1.java环境
android环境的搭建少不了java,先把下载好的JDK选择默认路径安装好后,然后用wmic命令向系统添加java的环境变量。
win+R运行cmd,输入以下三个命令:
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="C:\Program Files\Java\jre7"
以上为一行
wmic ENVIRONMENT create name="CLASSPATH",username="<system>",VariableValue=";%JAVA_HOME%\lib\;"
以上为一行
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\Program Files\Java\jre7\bin"
以上为一行
然后进入系统环境变量设置界面更新一下,重启cmd,试一下输入java,只要不是出现“java不是内部命令或外部命令”之类的,就表示你设置成功了。
2.Android环境
找到我们下载的adt-bundle-windows-x86_64-20131030.zip,解压,路径可以自己配置,还是注意英文路径,不加空格即可。
接着运行adt-bundle-windows-x86_64-20131030\eclipse下的eclipse(ADT自带Eclipse编译环境),选择工程文件夹,这里可以随意配置
 
接着关掉说明页,进入主界面。在主界面点击配置SDK
然后可以按照需求选择Android SDK的版本,这里我选择下载Android(API 8),然后选择安装
 
 
 
慢慢等待下载安装结束。
接下来配置Android VDM
 
然后选择DeviceDefinitions,随便选择一个创建,好像是现在的VDM不支持OpenGL的高版本,所以我使会用BlueStacks模拟器来调试,这里只是生成apk
 
三.       安装cygwin,配置Android NDK
运行下载好的cygwin-setup-x86_64.exe,看到下列安装界面
 
点击下一步
 
继续
 
 默认路径安装,然后选择下载保存的路径,这个大家可以自己配置,安装完毕后最好做个备份,免得再次需要安装时还要下载
 
默认选择,下一步
选择第一个网站
这里注意了,一定要将红框标出来的点击一下,变成install
 
点击下一步,漫长的等待下载~~~~~~
终于安装完毕,我们赶紧打开来试试吧
第一次点开cygwin目录会在c:\cygwin64\home文件下生成以系统登录账户为名字的文件夹
现在,将我们下载下来的Android NDK也就是android-ndk-r9b-windows-x86_64.zip解压缩至英文路径下,这个路径将会在接下来写入到cygwin的.bash_profile配置文件中,好了,我的解压路径为:D:\ android-ndk-r9b
注意:该路径不能存在空格,全英文
大家在c:\cygwin\home文件下生成的以系统登录账户为名字的文件夹下找到.bash_profile文件,点击右键,用EditPlus软件打开,在结尾处输入回车,接着输入下列语句:
NDK_ROOT="/cygdrive/d/android-ndk-r9d"
export NDK_ROOT
 
NDK_MODULE_PATH="/cygdrive/d/cocos2d-x-2.2.1:/cygdrive/d/cocos2d-x-2.2.1/cocos2dx/platform/third_party/android/prebuilt"
export NDK_MODULE_PATH
 
然后点击保存,关闭。这里的cygwin是指本地磁盘,d是d盘,后面是NDK路径,大家按照自己的文件路径填写,注意windows路径中“\”和cygwin中“/”的区别。顺便提一句,目录一直要写到有ndk-build.cmd文件的文件夹。
四.       安装python,创建自己的cocos2d-x工程
安装我们已经下载好的python-2.7.6.amd64,选择默认路径。
 
安装完毕,我们接下来使用python命令创建自己的cocos2d-x工程。
首先需要设置python的系统环境,由于刚才是默认安装,所以python的安装路径为C:\Python27\,大家可以手动在开始->计算机(在上面点右键)->属性->高级系统设置->环境变量中设置path路径,添加python的安装目录。
好了,赶紧试一下我们的配置是否正确吧。在cmd输入命令:
python -?
然后balabala...出现一堆,这就说明我们的python配置好了。
接下来使用python创建工程。进入cocos2d-x-2.2.1目录下的tools->project-creator,大家可以看到有一个create_project.py脚本,如果有兴趣可以右键在IDE中打开来看看,从中可以截取到该脚本的使用方法
 
好了,我们赶快将这个脚本使用起来吧
先在cocos2d-x-2.2.1目录下建一个projects文件夹,在project-creator目录下按住shift+鼠标右键,选择在此处打开命令窗口,输入命令:
python create_project.py -project HelloWorld -package org.HelloWorld.game -language cpp
然后等待结果
 
大家可以看到,我们的工程创建完毕了,其中,HelloWorld是我们命令中输入的工程名,也就是在cocos2d-x-2.2.1->projects文件夹下创建了我们的工程,名字就是HelloWorld,在HelloWorld文件夹下的proj.android文件夹就是我们之后需要编译的android项目,创建命令后面的org.HelloWorld.game是安卓APK的识别名,大家可以按照“xxx.xxx.xxx”的格式自己命名。
这里我写了一个bat批处理,大家可以放在project-creator目录下,以后可以很方便的创建工程。
在project-creator目录下点右键创建一个文本文档,打开,将以下内容复制进去,然后点保存,更改文件的后缀名为bat即可
-----------------------------------------------------------------------------------------
@echo off
:label1
@cls
echo 欢迎使用Python创建Cocos2d-x工程
set /p project=请输入需要创建的工程名:
set /p aID=请输入需要创建的android版本包标识名:
echo 您输入的工程名为%project%
echo 您输入的android版本包标识名为%aID%
echo 确认创建工程吗?
CHOICE /C 123 /M "确认请按 1,取消请按 2,或者退出请按 3。"
echo %errorlevel%
if %errorlevel%==1 goto label2
if %errorlevel%==2 goto label1
if %errorlevel%==3 goto label3
:label2
echo 正在创建工程...
python create_project.py -project %project% -package %aID% -language cpp
:label3
pause
-----------------------------------------------------------------------------------------
五.       在Ecliopse下编译Android项目
好了,以上我们所有的环境都已搭建完成,在将我们的项目导入eclipse之前,我们还需要将cocos2d-x-2.2.1\cocos2dx\platform\android\java\src下的org文件夹拷贝至我们的项目中,也就是cocos2d-x-2.2.1\projects\HelloWorld\proj.android\src下,由于我们之前创建项目时定的android包名前面也是org,所以会有覆盖选项,请选择合并覆盖即可
接着,回到eclipse环境,导入项目
 
 
 
注意在选择路径时写到HelloWorld文件夹下即可
导入工程后,在工程HelloWorld上点选右键,选择Properties
 
 
选择builders,点击New
 
选择program
 
然后在接下来的界面中的
name栏输入:Native_Builder
Location栏输入:C:\cygwin\bin\bash.exe
Arguments栏输入:--login -c "cd  D:/cocos2d-x-2.2.1/projects/HelloWorld/proj.android && /cygdrive/d/android-ndk-r9b/ndk-build"
 
以上为一行
 
选择OK,选中Native_Builder,并将其调到最上面
 
然后选择C/C++ Build->Environment->Add
 
 
接下来在Name栏输入path,在Value栏输入C:\cygwin\bin
 
然后在Java Build Path里面选择Libraries栏,将Android Dependencies以及Android Private Libraries两个library删掉
 
(说明一下,以上我们是将cygwin的编译环境合并到了Eclipse里,Eclipse利用cygwin并调用cygwin的bash以及make,通过NDK来编译我们的Android程序,所以每次导入新的工程都要将上述步骤重新配置一下,这点非常重要,如果配置不正确,会导致很多莫名其妙的报错,最典型的错误就是提示找不到bash命令什么的~~~~)
好了,现在我们可以生成APK文件了,在主界面选中自己的工程,然后在命令条上选择Run->Run as->Android Application
 
 
在编译的过程中,会有各种编译错误的问题,这是我碰到的三个:
please define NDK_ROOT
解决方法:
在工程的proj.android目录下的build_native.sh中加入
export NDK_ROOT=/cygdrive/e/android-ndk-r9
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml   
解决办法:
在该工程的jni文件夹下,创建(若不存在,才创建)一个名为Application.mk的文件,在其内写一句:
APP_PLATFORM := android-8
编译成功,但是bin目录下没有生成apk文件
解决办法:
在工程的proj.android目录下的build_native.sh中加入
chmod 666 -R "$APP_ANDROID_ROOT"/assets
 
如果以上步骤都按照步骤设定的话,就能够生成APK了,APK存放在proj.android->bin文件夹下
快将APK装在自己的真机上进行测试吧!!!!!
以上编译环境就配置结束了。
 
posted on 2014-07-01 17:34 C++技术中心 阅读(1482) 评论(0)  编辑 收藏 引用 所属分类: 其他编程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理