cocos2d-x 安卓环境配置 -转
win7+cocos2d-x-2.1.4+vs2012环境太简单就不多说了,下面是eclipse环境
一、准备
1.eclipse+adt+sdk:adt-bundle-windows-x86_64-20130729.zip
http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20130729.zip
2.ndk:android-ndk-r8e-windows-x86_64.zip
http://dl.google.com/android/ndk/android-ndk-r8e-windows-x86_64.zip
或android-ndk-r9-windows-x86_64.zip
http://dl.google.com/android/ndk/android-ndk-r9-windows-x86_64.zip
3.cocos2d-x-2.1.4.zip
https://cocos2d-x.googlecode.com/files/cocos2d-x-2.1.4.zip
http://cocos2d-x.googlecode.com/files/cocos2d-x-2.1.4.zip
4.JDK:jdk-7u25-windows-x64.exe
二、配置java环境
JAVA_HOME:D:\Andorid\Java\jdk1.7.0_25(安装路径)
CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
然后命令行:java -version
命令行:java
命令行:javac
到此java环境完成
三、配置eclipse(此来自部分网络,自己配图并配置完成,以备电脑重装)
- 打开eclipse,点击window->perfernces->Android,在SDK Location中填上刚刚下的adt-bundle-windows-x86_64-20130729.zip解压后的D:\Andorid\adt-bundle-windows-x86_64-20130729\sdk(自己的解压路径)
- Android->NDK中填ndk路径 D:\Andorid\android-ndk-r9(自己的解压路径)
- 导入Cocos2dx例子工程: Eclipse中File->New->Other...选择Andriod Project from Existing Code在Import Projects的Root Directory中导入D:\Andorid\cocos2d-x-2.1.4\samples\HelloCpp\proj.android\(注意, 不要选中 Copy project into workspace, 否则路径编乱很难编译成功)
- 接着点击一下添加的HelloCpp项目,然后Project->Properties->Builder->New->Program
这里去掉 CDT Builder的勾 因为我们要自己创建一个,并且不受这个的影响
在Main标签中手动填NDK编译命令行 D:\Andorid\android-ndk-r9ndk-build.cmd,点击第二个Browser Workspace选中当前工程,出现${workspace_loc:/HelloCpp}
换到Environment标签中,点击NEW新建NDK_MODULE_PATH 填写 D:\Andorid\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt
- porject->clean
- Run As->Android Application.
- 记得将D:\Andorid\cocos2d-x-2.1.4\cocos2dx\platform\android\java\src\org\cocos2dx路径下的 lib文件夹复制到D:\Andorid\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\src\org\cocos2dx下
8.用ndk9可能出现 error: format not a string literal and no format arguments
D:\Andorid\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\jni\appliction.mk打开,在最后加上
APP_CFLAGS += -Wno-error=format-security
四、一些问题的解决方案(以下来自网络)
- 本文链接:http://zengrong.net/post/1882.htm
配置成功以能运行HelloCpp/proj.android项目为准。
1. Library错误
导入HelloCpp项目后,在 “项目属性-Java Build Path-source” 中加入
cocos2d-x-2.1.4\cocos2dx\platform\android\java
路径。然后进入 “项目属性-Android-Library”,删除这里的“Reference Project”,否则怎么编译都会报错。cygwin环境和ndk only环境均会出现。切记切记!2. NDK_MODULE_PATH 环境变量配置
具体的路径可以查看
cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\build_native.sh
的最后几行。cygwin环境不需要设置这个变量,直接执行build_native.sh
即可。这个环境变量可以配置在Windows系统环境变量中,也可以配置在Eclipse项目的builder属性中,还可以直接配置在
project/jni/Application.mk
文件中。若配置在
Application.mk
文件中,可以这样写:NDK_MODULE_PATH:=cocos2d-x-2.1.4;cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt
3. Fatal signal 11 (SIGSEGV) at 0×00000000 (code=1)
apk打包成功,安装执行后出现这个错误退出。这一般是由于C++编译失败造成。对于cygwin环境,再执行
build_native.sh
编译一次即可成功;对于ndk only环境,也需要重新执行一次编译(如果没有配置自动刷新,那么可以手动选择Run-build project)。4. 建立自定义builder的问题
死去活来 和网上其他文章都提到为了不依赖cygwin,需要在 “项目属性-Builders” 中建立一个新的buildr,调用NDK提供的
ndk-build.cmd
来编译。这样做有2个问题:- 没有强调 Builder 的编译顺序。默认新建的Builder是处于所有已有Builder的末尾,这可能会导致Android Package Builder等Builder依赖错误;
- 默认存在的 “CDT Builder” 依然是调用
bash build_native.sh
来编译,若没有安装cygwin,可能会出现下面的错误:
bash D:/cocos2d-x/cocos2d-x-2.1.4/samples/Cpp/HelloCpp/proj.android/build_native.sh clean
Cannot run program "bash": Launching failed
Error: Program "bash" not found in PATH
我认为正确的做法是,不必新建一个Builder,而是调整现有的Builder的属性:
- 调整 “项目属性-C/C++ Builder” 选项,将 “Build command” 的值从原来的
bash ${ProjDirPath}/build_native.sh
设置为x:\android-ndk-r8e\ndk-build.cmd
; - 调整 “项目属性-C/C++ builder-Environment” 选项,加入 NDK_MODULE_PATH 环境变量,其值与上面介绍的相同。
cocos2d-x 安卓环境配置 -转的更多相关文章
- cocos2d win7 安卓环境配置开发
相关工具 下载 Android SDK 下载和安装 Android NDK版本不要选r9的.用r8e!r9会报错 下载安装JDK版本是 jdk-7u13-windows-x64.exe 下载和安装Cy ...
- Unity3D 发布APK安卓环境配置步骤、安装、教程(含Java/Android)(超全流程)
Unity3D安卓环境配置运行 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- java eclipse 安卓环境配置
adt下载地址 http://www.runoob.com/w3cnote/android-tutorial-eclipse-adt-sdk-app.html 我的云 安卓学习 java htt ...
- 记一次pda(安卓)环境配置流程
将git项目git clone下来,接下来就是环境的配置 sdk,jdk,蓝牙插件,热更新 这个顺序 一.java JDK 安装及环境变量配置 https://blog.csdn.net/de ...
- ionic+angular+cordova 安卓环境搭建
1.java环境配置 下载java jdk 百度搜索java jdk安装完后在cmd窗口输入Java -version 显示以下即为安装成功.然后把java jdk配置到环境变量. (1)选择[新建系 ...
- 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录
前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...
- weex 开发踩坑日记--环境配置、安卓运行、adb、开发
环境配置方面 1.需要安装java和android环境,java的话一定要下载jdk而不是jre. 在"系统变量"新建一个变量名为JAVA_HOME的变量,变量值为你本地java的 ...
- Android + Eclipse + PhoneGap 2.9.0 安卓最新环境配置,部分资料整合网上资料,已成功安装.
前言:最近心血来潮做了一个以品牌为中心的网站,打算推出本地服务o2o应用.快速开发手机应用,最后选择了phonegap,这里我只是讲述我安装的过程,仅供大家参考. 我开发的一个模型http://www ...
- 安卓开发环境配置之Windows+ADT+eclipse
安卓环境搭建之Windows+ADT+eclipse 要点: 1.安装JDK 2.安装Android SDK 3.安装eclipse 4.安装ADT 5.安装调试环境 正文: 1.安装JDK 1.1准 ...
随机推荐
- 对于ElasticSearch与Hadoop是如何互相调用的?
1.在HDFS中,数据是以文件形式保存的,比如JSON: https://blog.csdn.net/napoay/article/details/68945483 2.python读写HDFS,一般 ...
- drools7 (一、最简单的例子)
切记!!! 必须使用jdk1.8 工程目录 引入依赖包,pom.xml <?xml version="1.0" encoding="UTF-8"?> ...
- 【PAT】1018 锤子剪刀布 (20)(20 分)
1018 锤子剪刀布 (20)(20 分) 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算 ...
- 洛谷P4623 [COCI2012-2013#6] BUREK [模拟]
题目传送门 BUREK 格式难调,题面就不放了. 分析: 一道比较有思维难度的模拟题. 首先我们可以想到,对于一个三角形,可以画出一个最小矩形使得这个三角形被完全包围,并且这个矩形的边平行于坐标轴(图 ...
- 洛谷P1527 [国家集训队] 矩阵乘法 [整体二分,二维树状数组]
题目传送门 矩阵乘法 题目描述 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. 输入输出格式 输入格式: 第一行两个数N,Q,表示矩阵大小和询问组数: 接下来N行N列一共N* ...
- 【知了堂学习笔记】java 编写几种常见排序算法2
排序的分类: 1.直接选择排序 它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~ ...
- CSUOJ 1224 ACM小组的古怪象棋
Description ACM小组的Samsara和Staginner对中国象棋特别感兴趣,尤其对马(可能是因为这个棋子的走法比较多吧)的使用进行深入研究.今天他们又在 构思一个古怪的棋局:假如Sam ...
- Java反射机制demo(六)—获得并操作一个类的属性
Java反射机制demo(六)—获得并操作一个类的属性 获得并操作一个类的属性?! 不可思议啊,一个类的属性一般都是私有成员变量啊,private修饰符啊! 但是毫无疑问,这些东西在Java的反射机制 ...
- Linux设备驱动模型(sysfs)
<总线模型概述> 随着技术的发展,系统的拓扑结构也越来越复杂,对热插拔.跨平台移植性的要求越来越高,从Linux2.6内核开始提供全新的设备模型.将所有的驱动挂载到计算机的总线上(比如US ...
- Python 面向对象编程——访问限制
<无访问限制的对象> 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑.但是,从前面Student类的定义来看(见:Py ...