Mac系统cocos2dx + android 开发环境配置
Mac系统cocos2dx + android 开发环境配置
/******************************************************
这遍文章主要转载自:http://www.cnblogs.com/wt616/p/3758828.html(这位大哥真的很牛,谢谢!)
然后,文章中又加入了一些自己的理解以及在实际操作过程中遇到问题的解决办法。而这些办法也是来自于伟大
的网友,但由于搜索的比较多,很多出处地址都没有记录好,抱歉,若你们看到,告诉我,我再加上地址。
******************************************************/
环境搭建步骤
1. 所需软件及下载地址
(1) Mac系统,我的版本:OSX Yosemite10.10
(2) cocos2dx,我的版本:cocos2d-x-2.2.3
下载地址:http://www.cocos2d-x.org/download
(3) Eclipse for Mac , Android SDK(ADT)
这两个使用最新的版本即可,而谷歌已经把这两个打包在一起了,很大程度上减少了Eclipse+Android开发环境搭建的工作,简称为the Eclipse ADT bundle,包括了开发需要的软件或SDK;建议不单独下载,直接下载ADT,下载地址:http://developer.android.com/sdk/index.html,记得选择Mac版本,32位或64位。
我的版本:adt-bundle-mac-x86_64-20140702
(4) NDK
NDK是用c/c++开发Android程序的工具。
下载地址:http://developer.android.com/tools/sdk/ndk/index.html,记得选择Mac版本,32位或64位。
我的版本:android-ndk-r10c
(5) JDK,JRE
据网友介绍,不用下载,当首次运行Eclipse时,会提示没有JDK,然后可以自动下载。可是我是自己下载的。
我的版本:jre-8u25-macosx-x64.dmg,jdk-8u25-macosx-x64.dmg
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装完成后,运行Eclipse,准备尝试下,但Eclipse打不开,提示需要JavaSE6,那么问题来了,据网友介绍,Mac系统从10.10开始已经不支持JAVASDK1到7了,只能使用最新版本的Java,那么怎么解决没有JavaSE6打不开Eclipse的问题呢?
解决办法如下:
1) 进入目录(java实际安装目录):Macintosh HD/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/
2)修改其中的Info.plist文件
把
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
修改为
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>
当然,Info.plist文件是没有修改权限的
需要sudo一下,然后使用chmod a+w 命令修改该文件为可写的,使用nano或者vim修改此文件。
(6) 建议
建议把以上解压到同一工作目录下,如解压在Projects目录下,Projects/cocos2d-x-2.2.5,Projects/adt-bundle-mac-x86_64-20140702,Projects/android-ndk-r10c。
2. 新建cocos2dx项目
(1) 打开终端
(2) 进入project-creator目录
cd ***/Projects/cocos2d-x-2.2.3/tools/project-creator
(3) 执行create_project.py脚本,生成cocos2dx各个版本的工程文件
./create_project.py -project MyProjectName -package com.packagename.myprojectname -language cpp
格式说明:
MyProjectName,项目名称,自己设定
com.packagename.myprojectname,包的名称,自己设定
(4) 执行脚本后,生成的工程文件放在Projects/cocos2d-x-2.2.3/projects目录下。
其中proj.ios是ios工程文件所在目录。
proj.android是android相关文件所在目录。
(5) 建议
每次进行Android移植前,最好先在ios下编译运行通过没有问题,再进行android相关操作。
3. Android 相关环境变量配置
(1) 打开终端,输入 pico .bash_profile,回车
(2) 输入以下配置:
export ANDROID_SDK_ROOT= ***/Projects/sdk/
export ANDROID_NDK_ROOT=***/Projects/android-ndk-r9d/
export COCOS2DX_ROOT=***/Projects/cocos2d-x-2.2.3/
export NDK_ROOT=***/Projects/android-ndk-r9d/
export PATH=$PATH:$ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
其中,***是全路径,如/Users/YourName/Documents
“=/”都不要有空格,否则配置无效。
输入完成后,Control + x 保存,然后 Y,回车,搞定。
(3) 检测配置是否成功
关闭 终端,然后重新打开终端。
若配置有问题,则终端会提示:-bash: exoort: command not found
若没有提示,就是配置成功。
4. 创建第一个Android项目
(1) 启动Eclipse,new -> Project,选择Android Project From Existing Code,Browse到刚才创建的cocos2dx工程目录下的proj.android,记得取消Copy projects to workspace,否则编译有问题;然后,finish创建完成。
(2) 首次导入项目,会自动生成入口Activity,继承自Cocos2dxActivity。第一次,需要手动导入,方法是:再新建一个Project,选择Android Project from Existing Code,Browse到***/Projects/cocos2d-x-2.2.3/cocos2dx/platform/android文件夹即可。
(3) 编译之前,在build_native.sh中的# options下需要添加NDK_ROOT :NDK_ROOT= “***/Projects/android-ndk-r10c”。
(4) 编译错误问题:
1)’transform' is not a member of ‘std’的错误问题,解决办法,在labelReader.cpp中加入头文件:#include <algorithm>。
2)找不到头文件问题:
#include “AppDelegate.h”
#include <jni.h>
#include <android/log.h>
解决办法:搜索网友遇到的问题及解决办法,核对了下工程下的properties->C/C++ General下的Paths and Symbols里的各项路径配置的都没有问题。而我的问题是:刚打开Eclipse运行没有问题,只要打开一次main.cpp,就会报错,重启Eclipse就没有这个问题了,不打开main.cpp就不会有问题。暂时就这样吧,已经深夜,改天再查这个问题,若网友大神知道是什么问题,望交流啊。
5. 编译和运行
(1) 编译,生成.so库
打开终端,执行脚本***/proj.android/build_native.sh
编译出错的话,会提示,然后根据提示修改。
编译成功,会出现:
[armeabi] Install : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
(2) 运行,生成apk
在eclipse里,点击运行,直接生成apk文件。
注意:在每次编译build_native.h成功后,右键eclipse中选中工程文件,点击Refresh刷新工程,替换掉eclipse中原先的.so文件,然后打包生成apk。
(3) 安装调试程序
若已经配置好Android虚拟机,运行时可以选择,然后直接在虚拟机上看程序效果。
若想在真机上安装程序,有两个方法:
1)把生成的apk文件,在proj.android/bin目录下,通过android管理软件或者其他方法,把apk放到手机上,然后手动安装,运行。
2)手机打开开发者模式,通过USB把手机连接到电脑上,打开手机的USB调试,eclipse识别了手机后,点击运行,直接可以把apk安装到手机上。记得要在手机未锁屏的状态下操作。这个办法只适用部分手机,有的手机必须手动安装apk。
Mac系统cocos2dx + android 开发环境配置的更多相关文章
- VMWARE + CENTOS在windows下配置cocos2d-x android开发环境
VMWARE + CENTOS在windows配置cocos2d-x android开发环境 之前使用cygwin在windows开发android,后来使用了c++11特性,在cygwin中更新工具 ...
- mac 下搭建 Android 开发环境
因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...
- Windows系统下Android开发环境搭建
“工具善其事,必先利其器”.要想学好Android,搭建好Android开发环境是一个良好的开端. Windows系统下Android开发环境主要有4个大的步骤.分别是: 1.JDK的安装 2.ecl ...
- 基于Netbeans的安卓Android开发环境配置 - CSDN博客
原文:基于Netbeans的安卓Android开发环境配置 - CSDN博客 基于Netbeans的安卓Android开发环境配置 一.准备工作 NetBeans 勾选网页中的Accept-选择对应系 ...
- Android开发环境配置(win7_64bit)
Android开发环境配置(win7_64bit) 目录 1.概述 2.Android开发涉及的技术 3.Android常用开发环境搭建 4.注意事项 >>看不清的图片可在新标签打开查看大 ...
- Qt For Android 开发环境配置
想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...
- Centos Android开发环境配置-Android Tools -android list sdk --extended --all
Centos Android开发环境配置-Android Tools -android list sdk --extended --all 安装完Android Tools后执行 android ...
- Ubuntu虚拟机+ROS+Android开发环境配置笔记
Ubuntu虚拟机+ROS+Android开发环境配置笔记 虚拟机设置: 1.本地环境:Windows 7:VMWare:联网 2.虚拟环境 :Ubuntu 14.04. 比較稳定,且支持非常多ROS ...
- cocos2dx mac下搭建android开发环境
1)下载eclipse 地址:http://www.eclipse.org/downloads/ 2)安装adt 打开eclipse,菜单:help->install new software ...
随机推荐
- jquery-multiselect在ie6里的一个bug
在使用jquery-multiselect(一个把下拉框改造成带checkbox的可以多选的控件)时,正常时应该是下面这样:而它在ie6里是下面这样: 其中第一个bug参考‘ie6里png图片不透明’ ...
- 解决IE10以下对象不支持“bind”属性或方法
IE10一下的浏览器,如果在JS代码中用了bind函数,那么就会报“SCRIPT438: 对象不支持“bind”属性或方法” 因为浏览器没有提供这个参数的方法,所以我们就自己写一个bind,来让这个参 ...
- 【南阳OJ分类之语言入门】80题题目+AC代码汇总
小技巧:本文之前由csdn自动生成了一个目录,不必下拉一个一个去找,可通过目录标题直接定位. 本文转载自本人的csdn博客,复制过来的,排版就不弄了,欢迎转载. 声明: 题目部分皆为南阳OJ题目. 代 ...
- EAT/IAT Hook
标 题: EAT/IAT Hook 作 者: Y4ng 时 间: 2013-08-21 链 接: http://www.cnblogs.com/Y4ng/p/EAT_IAT_HOOK.html #in ...
- POJ 1755 Triathlon
http://poj.org/problem?id=1755 题意:铁人三项,每个人有自己在每一段的速度,求有没有一种3条路线长度都不为0的设计使得某个人能严格获胜? 我们枚举每个人获胜,得到不等式组 ...
- ISO7816通讯协议在工控主板EM9160中的实现方案
在新的国家电网智能终端相关标准中,规定了通过专门的加密芯片来保证设备数据安全性的方法,而设备主控单元与加密芯片采用了广泛应用的ISO7816通讯协议.工控主板EM9160为了适应这一新的技术需求,对其 ...
- Ruby的语法糖
发现Ruby的语法糖好多,比如函数调用,参数列表可以写括号和不写括号.代码块可以用do end 或者 {}. 还有 if,unless后置.等等. 如果看Ruby代码看多了,你会发现,它很多地方的 ...
- 关于iostream的效率问题
前言 经常有人说iostream的速度慢,IO流比stdio的慢多了.但是有人测试过的,iostream的速度是超过stdio的. 测试结果 /* C */#include <stdio. ...
- Android Map新用法:MapFragment应用
MapView ,MapActivity 这种的局限在于,必须要继承MapActivity,否则无法使用MapView,但是,MapFragment 这种的局限在于,必须要安装Google Play ...
- BZOJ2212: [Poi2011]Tree Rotations
2212: [Poi2011]Tree Rotations Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 391 Solved: 127[Submi ...