Mac下cocos2dx3.2移植android平台详细教程

本文是cocos2dx移植android的第二篇教程,笔者深深感觉,cocos2dx移植android平台是永远的痛啊。。。
       下面讲一下笔者花费一个周研究的Mac OS下的cocos2dx3.2+android配置
首先要准备的东西
     (1)下载cocos2dx3.2  
          http://www.cocos2d-x.org/download   

     (2)Android Development Tools(adt)
          http://developer.android.com/sdk/index.html
          ADT中自带Eclipse,很屌。
          因为android developers那个网站有些用户在进入的时候可能因为要翻墙等某些原因很难整,我上这个网站就是需要加载很长时间,真难受。所以我网云端放了一份我写博客时最新的版本,大家可以get it
           http://pan.baidu.com/s/1mg4xqTq 

(3)NDK,记得现在一定不要用r10,因为r10在环境搭载的时候会有bug,会出现错误,笔者被这个错误已经困扰了好久好久。。。。耽误了整整两天之后,只能用r9重新配置之后再修改博客的多出细节。
          为什么笔者这么说呢。。。请看下面的网址:
          http://cn.cocos2d-x.org/tutorial/show?id=1187
          NDK r9 for mac下载地址如下:
          https://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86_64.tar.bz2
          https://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86.tar.bz2
          有64后缀为64位系统的。
          笔者同样在云端分享了一个64位链接:
          http://pan.baidu.com/s/1dDu2fVb

     
          注:不要看到有win3个字母就觉得是windows下的,以为我传错了或者写错了。。。

(4)ANT
          这里安装ant给出两个方法
          method one:这里我直接使用了Homebrew来进行安装。如果大家之前的Mac+Xcode的cocos2dx开发环境是按照我的教程配置的,就应该已经装好了homebrew,就可以直接跟我一样这样去做。
          如果你没有按照我的教程配置,不知道homebrew的相关信息,可以查阅我的这两篇博客
          <1>http://blog.csdn.net/u012200908/article/details/38070885     Mac下Xcode配置cocos2dx
          <2>http://blog.csdn.net/u012200908/article/details/38070345     Homebrew安装和使用

          建议还是装一下homebrew,如果你要在Mac下进行开发,或者想在Mac进行开发的话,这是一个很好的、程序员中使用很广泛的东西,不要嫌安装TA麻烦(何况按照我的教程只需要一句话。。。。),或者你可以看看下面TA的作用再做决定。
          下面是安装方法,通过launchpad调出Terminal(建议大家把语言调成英文,terminal也就是终端,后面会称为终端,调成英文对程序员是很有好处的),这里只需要一句,brew install ant。

意思就是:嘿,Homebrew,给我装个新版的ant,Mac里面自带的太旧了!
     then,home-brew就会照做。
     这里大家要记住Homebrew给我们安装的地点,例如我的路径为:
     /usr/local/Cellar/ant/1.9.4 

 method two:如果你放弃了homebrew(what a pity!),那就根据网址直接去下载吧。
               http://ant.apache.org

(5)python(正常Mac下会有自带,基本上无需下载,你可以在终端输入python来查看版本,这里只是列出来说明一下,我们是需要这个东西的)
                    虽然基本无需下载,但为了严谨,还是说一下。不要3.0以上的版本,最好是经典的2.7(2.7.6 or 2.7.8)。这里同样两种方法
method one:
https://www.python.org/download/releases/2.7.6/
 method two:
参考我的博客,使用homebrew来安装,这里要注意,我在配置的时候犯了一个错误,安装了3.0以上版本的Python,误导了大家,我已经在发现后在原博客中间部分贴出红字,警示大家,所以在这里再次订正一下,大家安装的时候不要输入brew install Python3,要输入brew install python。也再一次向大家道歉,自己的失误,导致了可能会误导别人的结果,在这里向大家表示歉意。

以上5个全部就绪后,就只欠东风了。下面正式开始:

一、配置cocos2dx初始环境
首先你要配置整个cocos2dx环境,即能用python进行项目创建,并且Xcode下能够执行你新建的项目。我之前的博客已经详细的写了,请大家参考一下:http://blog.csdn.net/u012200908/article/details/38070885 

但是在这里,为了方便读者我再讲一遍,如果您已经参照我的博客,或网上的其他教程配置好了cocos2dx+Xcode的环境,请直接跳过第一步,到第二步。

(1)将下载的cocos2dx3.2解压,这里要注意,你解压的时候文件名或者文件路径里面不要有中文,不要有空格。如果你用的是中文的语言,你会发现Finder里面那几个文件夹是文档、下载、图片、电影,但是在作为路径的时候系统仍会将他们设置为Documents、Downloads、Pictures、Movies,这几个文件夹按照英文算。

(2)安装python,这里有几个选择:
     <1>  你可以不更新python,使用系统自带的python,如果以后出现问题再安装更新版本的
     <2> 参考我的博客,使用homebrew来安装python。(注:如果你想要成为一名程序员或开发者,建议你使用这种方法,以为Mac下的Homebrew是一个很强大的东西。如果你只是有兴趣想要研究一下cocos2dx,可以不选择这种方法。)
     博客:
     <3>直接去下载python 2.7forMac(笔者用的2.7.8,但是有人说2.7.6更好。who knows。。。)

 (3)安装完python之后,我们要找一个简单的方法,和windows8直接在当前文件夹shifit + 右键打开命令提示符一样的方法,能够在当前文件夹快速的打开终端。
先打开system preferences——keyboard———shortcuts———services———勾选new terminal at folder即可(在当前文件夹快速打开终端节省了很多转移当前目录的时间,至于这些东西对应的中文,我想一定难不倒各位)

          

  这些完成后,来到解压后cocos2dx文件夹(不要双击打开),右键——service———New Terminal at Folder
打开一个终端窗口,输入./setup.py回车
我们可以看到,在这里面,他只是check到了COCOS_CONSOLE_ROOT的路径
但是没有找到android平台有关的路径,他会提示你输入NDK_ROOT,或者其他android相关的root,这里不要着急,先不管他,直接关掉终端。 

         

(4)创建并运行项目
     创建和运行新项目不想多讲,简单一说,windows和Mac下语法啥的都一样,
     直接在终端中输入cocos -h可以查看帮助
     下面直接创建项目,创建项目的时候包我选择了缺省,大家注意。
     先自己新建一个文件夹作为cocos的工作目录,然后在这个目录上(不要进去)右键     service——New Terminal at Folder
     输入cocos new -l cpp helloagain
     helloworld是上一个教程中创建的 



用Xcode打开来run一下,结果只有一个椰子一句HelloWorld和一个退出button



二、相关变量的配置

不知道你是否还记得我们在只配置Xcode环境时执行setup.py,后面的变量为缺省,这里我们要为这些值缺省的变量赋值。

有两种方法(我是用的第二种,我也建议使用第二种):
(1)
再次运行cocos2dx3.2安装目录下的setup.py,然后根据他的提示自己将环境变量的目录粘帖进去,然后回车。

比如你执行setup.py,系统提示
Please enter the path of NDK_ROOT(or press Enter to skip):
这里你就要输入你的NDK路径(参照上面的COCOS_CONSOLE_ROOT路径输入)
 /Users/Lss/Downloads/android-ndk-r9d/
然后回车。按照这个依次输入NDK_ROOT、ANDROID_SDK_ROOT、ANT_ROOT
最后根据他的提示,会让你执行source命令,更新变量。
更新之后,关掉终端并重启生效

这个方法比较简单,就不做详细的解释了。但是这里要注意同样的问题,解压的文件夹名字,No Chinese。因为这个东西牵扯到.bash_profile这个文件,建议如果你使用第一种方法配置变量,还是最好看一下第二种方法,如何找到这个文件,因为默认状态下,这个文件是隐藏的。

(2)
直接修改 .bash_profile,这个是Mac os下默认的隐藏文件,配置环境变量的。
具体打开方法请参照我的另一篇博客:
http://blog.csdn.net/u012200908/article/details/38314311

这里直接贴上第五种方法,那个APP的下载链接:
APP名字叫ShowHiddeFiles
主页:http://gotoes.org/sales/ShowHiddenFilesMacOSX/How_To_Show_Hidden_Files.php
          可以直接点击左边下载。
也可以直接点击下载链接:http://gotoes.org/sales/ShowHiddenFilesMacOSX/ShowAllFiles.app.zip

直接打开app选择show special files按钮
你就可以在/Users/yourname/下面找到.bash_profile,打开并按照后面编辑
详细请参考该博客

  也可以直接在终端输入
  pico .bash_profile 
  查看.bash_profile文件内容,在终端输入下面给出的变量
  如果你的系统没.bash_profile文件,那执行下面操作建一个
  首先调出终端
<1>先进入用户的目录,输入      cd ~          这里注意字母和符号之间有个空格
<2>继续输入     touch .bash_profile          这里touch和.之间也是有个空格 
<3>打开文件并编辑     open -e .bash_profile     同样要注意空格
         打开之后对其进行编辑,我的打开之后是这样的,因为之前已经配置过了cocos2dx在Mac进行ios开发的环境,所以会有这些内容。
       
接下来进行一些编辑,建议编辑之前command + shift + 4截个图备份一下
加入下列内容:
# Add android NDK_ROOT
export NDK_ROOT=/Users/Lss/Downloads/android-ndk-r9d/

#Add ANDROID_SDK_ROOT
export ANDROID_SDK_ROOT=/Users/Lss/Downloads/adt-bundle/sdk

同时编辑一下ANT_ROOT
# Add environment variable ANT_ROOT for cocos2d-x
export ANT_ROOT=/usr/local/Cellar/ant/1.9.4
export PATH=$ANT_ROOT/bin:$PATH
如果看官的profile里面没有这个就参照我写的打上去吧
#那一行没有什么用,类似于注释 

      

注意:在路径中尽量不要出现空格,否则在下面第五步可能会有问题,笔者一开始SDK路径中,adt bundle这个出现了问题,所以才在中间仿照NDK的路径加入了一条线。如果出现问题,在你执行source .bash_profile时会提示 ****/****:not a valid identifier。所以最好不要在文件夹的名字上有空格


(4)保存文件     Command + S     并关闭文件
这些完成后,再来到解压后cocos2dx文件夹(不要双击打开),右键——service———New Terminal at Folder
打开一个终端窗口,输入./setup.py回车
这次运行结果与之前的教程会有不一样,那是因为之前讲的是Xcode作为开发平台,针对ios开发,所以SDK NDK ANT都是缺省,而本文讲的是在Mac下用eclipse针对Android开发,所以前面在.bash_profile中添加的变量这里会出现,有心人可以参照我上面的博客连接找到setup.py运行结果对比一下。  


大家注意结果的最后一行有一句话。意思是让你执行命令: source /Users/Lss/.bash_profile 来让我们添加的系统变量开始发挥效用(一看这翻译水平,英语六级一定过了)
所以输入: source /Users/Lss/.bash_profile(直接复制自己终端里的就好了) 



三、工程导入eclipse
先进入eclipse,打开SDK Manager,他会自己fetching一些东西,过程十分慢,fetching完了之后,更新一下SDK,一两个版本就可以了,我这儿更新了4.4.2即API19。让他先更新着。(如果有的读者因为这个地方没有图片,您不懂我说的什么意思,我想您一定是个新手,可以网上稍微查一下eclipse更新SDK。这里建议新手还是应该先使用Xcode或者VS2012进行cocos开发,然后学习一些android和java的知识,再移植android平台,不要急着真机调试,编程不可能一口吃成个胖子,要日积月累)
     
      再进入到工作目录中创建的项目里面,打开helloagain——进入proj.android,你会看见里面有个文件叫做     build_native.py     这就是我们接下来要运行的文件。
     返回上层目录,右键proj.android文件夹,服务,打开终端(应该会了吧)
     输入命令:python build_native.py (会有几个warning,没有问题)



执行完之后回到eclipse,SDK更新完之后,建议重启下eclipse。
重启之后执行项目导入,File-new project-Android-Android project from existing code 
选择你之前新建的项目,工作目录里面的hello again,打开proj.android,勾选下面出现的唯一的项目
这里注意,千万不要勾选,copy projects into workspace,会各种错误。

我们会发现引入之后还是会有错误在里面,不要慌,这是因为包的缺少。
这里要查看一下错误原因,在项目上右键,属性(properties),错误原因是什么,下方已经标注出来了。 


解决方法:到helloagain/cocos2d/cocos/platform/android/java/src目录下
command + C 复制一下org这个文件夹,这是类包(不信打开看看啊)
然后回到项目的src下,command + V粘帖,我粘的时候有提示说已经存在是否重写,这个必须要,反正就是要粘进去,粘进去你会发现错误全部消失了 


粘进去之后你还要有模拟器才可以运行。我只下了android4.4的相关东西。然后重新启动一下,创建了一个AVD。OpenGL在android2.2之后才支持真机,模拟器版本在4.0.3之后才可以跑。如果这个地方,你引入之后项目的版本是2.3.3记得切换。
      切换了4.4版本之后,新建4.4的AVD,勾选下方的Use Host GPU,这个AVD就是我们要用的模拟器。
AVD要选中下面的Use Host GPU,看下图:



运行一下程序,结果如下(如果你不是跟笔者一样运行的空项目,而是导入了一个自己写的项目,或者你对里面的cpp文件有增删甚至改名,请不要运行再往下看)


在这里笔者要说明两点:
第一:就是在构建项目的过程中,你需要在android.mk这个文件里面做一些修改(在jnj文件夹下)画框的地方,这是所有的cpp的名字,如果你以后修改或者添加了cpp,你需要在下面做声明,声明的时候要注意,前面的cpp后面有斜杠,最后一个没有斜杠。 


第二:笔者发现,创建的新项目直接通过import导入,他编译一阵子之后,再考入src文件下的那个包,发现示例程序依旧可以运行。我不知道这样既然可以运行那么build_native.py还有什么意义。大家可以试一下,为了避免不必要的错误,大家可以new一个新项目试一下,不执行build_native.py直接导入,拷贝一下缺少的包,仍然是可以直接运行的。这个原因我还在考查中,大家可以想想这是为什么。因为官网执行了build_native.py,所以我们还是按照官网来吧。

至此你已经可以将cocos2dx的项目移植到android上了。 

2014.8.5     23:34                          
 Mr.Losers 






本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

robotframework(12)修改用户密码(从数据库查询短信验证码)

一、testcase&#xff1a;修改用户密码需要6个参数&#xff08;短信验证码、设置的新密码、用户已登录的userid及用户唯一标识、接口校验码、被修改的手机号&#xff09;&#xff0c;故先准备这些参数 二、用户登录请求&#xff0c;&#xff08;获取userid、用户唯一标识&#…

Mac OS使用技巧之二:修改变量Path解决android: command not found

前一阵子&#xff0c;一直在搞Mac OS和win8下cocos2dx移植android平台的方法。一步步从无到有的慢慢摸索出来。最近发现了一个小问题&#xff0c;有关环境变量配置的写下来分享给大家。就是我们在windows8下查看已有android SDK的版本&#xff0c;需要在CMD里面输入&#xff1a…

Jenkins架构

一. Master 和slave.下图阐述了master-slave交互的架构&#xff1a;在上面这个分布式的构建环境中&#xff0c;Jenkins master主要负责如下&#xff1a;接收构建触发&#xff08;比如&#xff0c;一个提交到GitHub后&#xff09;发送通知&#xff08;比如&#xff0c;在构建失败…

Mac OS使用技巧之三:发射无线网络信号的方法

许多人知道在windows下可以直接借助各种辅助软件来直接发射wifi信号&#xff0c;比如360wifi&#xff0c;猎豹wifi。或者可以直接在命令行里面设置。许多人却不知道Mac系统也有方便快捷发射无线信号的功能。下面讲一下利用Mac OS发射无线网络信号的方法。前提&#xff1a;你的电…

纪实:对CSDN博客系统的一些质疑

我是一个对编程充满热情的在校大学生&#xff0c;本来我是怀着满腔热情来到CSDN写博客&#xff0c;记录和分享自己的学习经历。却被这糟糕的博客系统一次次的泼冷水。写这篇博客确实是因为心中十分不甘和特别生气&#xff0c;所以我决定要把自己的遭遇写出来&#xff0c;我自己…

php框架之laravel

常见问题: 1. 访问网站500错误 这是因为laravel的缓存路径没有找到 laravel缓存文件路径是在 config/cache.php中设置&#xff0c;默认存在storage文件夹中 解决:需要保证storage/framework下面创建 sessions&#xff0c; views, cache 文件夹并确保可写权限 转载于:https://ww…

MySQL的命令合集

2019独角兽企业重金招聘Python工程师标准>>> MySQL客户端操作 $db$是数据库名称$table$是数据表名称$field$是数据表里的字段名称有些语句最后加上**/G**可以使结果更美观数据库相关 创建数据库,修改数据库 create database $db$; 使用默认设置create database $db$…

Mac OS使用技巧之四:修改打开不同格式视频的默认播放器

这里说一下视频播放的一些问题。大家知道Mac OS中有自带的一款播放器&#xff0c;叫做Quicktime Player。这已经是一款很牛X的软件了&#xff0c;但他的定位并不是单纯的视频播放软件&#xff0c;而是数字媒体制作平台&#xff0c;可以用于视频格式的转换&#xff0c;视频的录制…

爬取汽车之家新闻

爬取汽车之家新闻 伪造浏览器向某个地址发送Http请求&#xff0c;获取返回的字符串 response requests.get(url 地址)response.contentresponse.encoding apparent_encodingresponse.textbs4&#xff0c;解析HTML格式的字符串 soup BeautifulSoup(<html>...</html…

Mac OS使用技巧之五:Macbook键盘的使用基础技巧

使用过苹果电脑的朋友应该都知道苹果的台式机和笔记本键盘布局有自己独有的风格&#xff0c;Mac里面的键盘细节就值得我们深深推敲。这篇博客将为一些Mac的新手&#xff0c; 详细介绍一下苹果电脑键盘的基础使用技巧&#xff0c;笔者目前的系统是Mac mavericks。Mac OS按键符号…

需求工程week1

这是第一周&#xff0c;我们小组确定了项目工程的主题&#xff0c;对于需求不清楚的地方与甲方进行了沟通。简单制定了下一周的工作计划。 以下是详细说明&#xff1a; &#xff08;1&#xff09;项目背景和范围 ①背景&#xff1a;在急需志愿活动的今天&#xff0c;在部分个人…

3- 快速上手Linux玩转典型应用- Linux准备工作

4- 准备工作 查看ip ifconfig # 查看ip地址 ipaddr # ip vi /etc/sysconfig/network-scripts/ifcfg-xxyum install net-tools最小化安装的server版本没有ifconfig。使用ip addr tab补全键一次补全。两次提示。 使用pageup pagedown键&#xff0c;翻动。 编辑我们的配置文件将o…

Mac OS使用技巧之六:鼠标和触摸板的使用

本篇说一下Macbook里面鼠标和触摸板的使用&#xff0c;如果你的电脑是台式机&#xff0c;那么使用触摸板可能需要你自己配备Magic Trackpad。在我看来&#xff0c;Mac OS的日常使用基本是不需要鼠标的。Mac OS与触摸板的完美契合是windows系统永远无法企及的。但不排除有些情况…

go run 和 go build 和 go install 命令区别

go run&#xff1a; go run 编译并直接运行程序&#xff0c;它会产生一个临时文件&#xff08;但实际不存在&#xff0c;也不会生成 .exe 文件&#xff09;&#xff0c;直接在命令行输出程序执行结果&#xff0c;方便用户调试。 注意点&#xff1a;需要在main包下执行go run &a…

Mac OS使用技巧之七:个性化自己的Mac OS主界面

今天来讲一下个性化自己的主界面。Mac OS的亮点之一就在于它精炼美观的主界面。 Mac OS的界面跟我们熟悉的windows是截然不同的&#xff0c;赋予了桌面新的定义。 能够完美的体现一张牛X的壁纸是有多么的吸引人。&#xff08;图不是我盗的哦&#xff0c;第一张图片加了自己水…

Google的“机器人情结”:两次合计36亿美元的人工智能收购

据Re/code1月27日消息&#xff0c;Google将收购&#xff08;据知情人透露约4亿美元&#xff0c;未经证实&#xff09;一家人工智能公司DeepMind。DeepMind公司位于英国伦敦&#xff0c;由神经系统科学家DemisHassabis、网络语音通讯软件Skype开发者JaanTallin和研究人员ShaneLe…

Mac OS使用技巧之八:Dock栏使用技巧

本篇博客&#xff0c;我们来讲一下Mac OS的标志性的东西————Dock。在我们的第七篇系列博客里面已经提及了神秘强大的Dock栏。这是苹果的一大亮点。Dock中间偏右侧有一条浅浅的分割线。分割线左侧是APP的图标&#xff0c;在运行的下面会有白色光点。分割线右侧是堆栈&#x…

Mac OS使用技巧之九:Mission Control和DIY自己的Dashboard

一、Mission Control使用技巧Mac OS X为我们提供了更加无缝和流畅的多桌面、应用管理和切换&#xff0c;Mission Control。之前的教程里面也提到过。触摸板四指向上平移&#xff08;可以在系统偏好里面设成三指&#xff09;&#xff0c;就可以调出高端大气的Mission Control。包…

【NOIP必备攻略】 基本noilinux使用方法

现在linux系统已经成为了NOIP竞赛的一大操作系统&#xff0c;如果连最基础的操作都不会&#xff0c;那就更别提怎么得分了&#xff0c;万一操作失误&#xff0c;可就爆零了。所以小编特意发这样一篇博客&#xff0c;教你快速上手noilinux&#xff01; ▎ 常用操作 1&#xff09…

Mac OS使用技巧之十:Finder的详细使用方法

Finder就是Mac OSX中资源管理器&#xff0c;我们用它来管理我们所有的文件。先来说一下Finder的打开方法吧&#xff0c;&#xff08;1&#xff09;单击Dock上的Finder图标。&#xff08;2&#xff09;快捷键为【command】向上方向键或者【command】【N】下面我们来看一下10.9 M…