搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)...
版本:
Windows XP3
JDK1.6
Eclipse 3.7.1 (需要C++插件CDT)
ADT 16.0.1
NDK7 (或是NDKR7B)
注意:本教程没有用到minigw +msys,也没有用到cygwin ,如果用到的是NDK R6B 或是以前的版本,则需要安装cygwin(或是minigw + msys)
前提条件:假设已经成功安装了JDK + Eclipse + CDT + ADT
下面讲解如何在Eclipse中配置NDK ,运行cocos2d-x 自带的 test 工程
Step1. 下载 android-ndk-r7-windows.zip并解压
Step3. Eclipse导入cocos2d-x test项目
Step1. 下载 android-ndk-r7-windows.zip并解压
http://dl.google.com/android/ndk/android-ndk-r7-windows.zip
http://cocos2d-x.googlecode.com/files/cocos2d-1.0.1-x-0.11.0.Zip
Step3. Eclipse导入cocos2d-x test项目
依次点击File – New – Project… AndroidProject
选择“Create Project from existing Source”
点击Next
选择Android 2.1版本,这里直接点击Next ,或是Finish就创建完成了
首先选择TestDemos项目,然后选择菜单中的Project – Properties
选择Bilders – New -- Program
打开后,进行如下的设置:
Location:一定要选择ndk-build.cmd 命令
Working Directory:选择TestDemo
注意:这里如果是 0.13 之后的版本,请不要用ndk-build.cmd 文件,请用 我写的build_android_ndk_tests.bat (可以到我下面指定的地点下载)
越过Envirment ,直接点击Build Options,配置如下图所示:
设置完成后,点击OK
Eclipse 会自动的进行编译,耐心等待一会,下面是Eclipse开始自动进行编译的过程
(注意编译过程中有个小问题)
编译过程中的问题:
解决方法:
将android-ndk-r7\sources\cxx-stl\gnu-libstdc++\libs\armeabi\libgnustl_static.a 文件手动的copy到cocos2d-1.0.1-x-0.11.0\tests\test.android\obj\local\armeabi目录下
以上问题其实是Google NDK R7版本的bug,会在下一版本中更改( NDKR7B版本已经更改了这个bug,所以在NDKR7B上的话就不需要这一步了 )
http://code.google.com/p/android/issues/detail?id=22268
copy过去后执行下Project –-clean 动作,系统又会自动的进行编译了,等待一点时间后,库文件就会编译完成
至此,cocos2d-x库文件就编译完成了
看到网友的反馈,说是找不到assets资源或是黑屏现象
原因是:android下的assets目录没有任何的资源文件,所以需要我们手动的将cocos2d-1.0.1-x-0.11.0\tests\Res 下的资源 复制到 cocos2d-1.0.1-x-0.11.0\tests\test.android\assets 目录中
复制完成后,还需要删除Images\test_image_rgba4444.pvr.gz 文件
Step5. 编译Android 项目
连接Android手机
依次点击 Run as…Android Application
下面是我的小米手机的运行截图
说明:本配置过程没有用到Cygwin或是 minigw + msys,完全用的是NDK自带的编译器
cocos2d-x 0.13版本有些变动,需要用我改写的 ndk-build.cmd 文件进行编译且方法有2种,直接用NKD,脱离Eclipse编译库,第2种还是用Eclipse 辅助编译库
http://download.csdn.net/detail/maojudong/4233381
2012-10-21更新:
时代在进步,苹果发布了IOS6和iphone5,不知道苹果过些天的iPad mini 怎么样,cocos2dx也更新到2.0.3 ,社区也在不断的进步,由于这一段时间来工作特别忙,cocos2dx的日志有就没有更新了,今天到社区下载了最新的2dx版本进行了简单的测试,还好基本都通过
XP32位系统 + JDK1.6 +
NDKR8b + 2dx (0.11/0.12/.13/2.0/2.0.1/2.0.2/2.0.3) 测试通过
NDKR8 + 2dx (0.11/0.12/.13/2.0/2.0.1/2.0.2/2.0.3) 测试通过
全部编译通过,没有出现网友说的问题
说下注意点:
1. java编译器使用1.6.x (不建议用1.5.x/1.7.x)
2. 有些安装了cygwin的,请暂时从PATH中屏蔽掉关于cygwin的内容
3. jni目录中要有Application.mk文件,且其中一定要有APP_PLATFORM :=android-5 (2dx 的 2.0.x系列至少为android-5, 1.x至少为android-4)Eclipse编译则不需要这一步,不过建议还是写上好些
4. 2dx的0.10版本,ndk_build.cmd 不能完成编译,需要安装cygwin才能编译(或者linux/macos 编译),更早期的版本就没有测试了,相信做项目也很少有人用0.10以前的版本了
5. Eclipse编译环境中 2.0.3/2.0.2 /2.0.1 需要先导入\cocos2dx\platform\android\java项目,然后用Eclipse编译出一个 jar文件,最后将这个jar文件导入到 tests 项目中的libs就可完成编译(应一个网友的要求才这么说的,感谢他,是我的表述不清楚)
2.0.2 /2.0.1 中\cocos2dx\platform\android\java导入后,源代码不是src目录,却是src_common 目录,所以可以修改.classpath 文件,或是更改src_common到src是最简单的方法
6. 不要用模拟器进行调试,模拟器的速度慢,导致加载时间长,最后黑屏,时间长了,就导致ANR(应用程序无响应),建议买个android 平板或是手机吧(现在很便宜,299元钱的android平板到处都有卖(我的公司就有卖),1000元钱可以买到双核甚至4核的手机了)
经过2个小时的测试发现 只有4.0.3 和4.1.2 两个版本的模拟器显示正常,且模拟器需要开启GPU emulation 功能。
我的测试平台:
2dx 2.0.3 版本+ MAC 10.8.2 + jdk1.6 + eclipse3.7.2
模拟器开启GPU功能
2.2 模拟器很卡,且异常退出,无法操作 结论:不通过,不能用于调试2dx
2.3.1 模拟器很卡,且异常退出,无法操作 结论:不通过,不能用于调试2dx
2.3.3 模拟器很卡,且异常退出,无法操作 结论:不通过,不能用于调试2dx
3.X 未测试
4.0 模拟器不能开启,,且异常退出,无法操作 结论:不通过,不能用于调试2dx
4.0.3 2dx可以运行,可以调试
4.1.2 2dx运行正常,可以调试
模拟器未开启GPU功能
2.2 黑屏 结论:不通过,不能用于调试2dx
2.3.1 异常退出 结论:不通过,不能用于调试2dx
2.3.3 异常退出 结论:不通过,不能用于调试2dx
3.X 未测试
4.0 异常退出 结论:不通过,不能用于调试2dx
4.0.3 异常退出 结论:不通过,不能用于调试2dx
4.1.2 异常退出 结论:不通过,不能用于调试2dx
2dx中的论坛也有讨论这个
http://cocos2d-x.org/boards/6/topics/12563
http://www.cocos2d-x.org/boards/6/topics/12563?r=19274#message-19274
http://stackoverflow.com/questions/13702538/cocos2d-x-v-2-0-4-fatal-exception-glthread-when-run-on-android-emulator
这位兄弟的文章也不错
http://www.raywenderlich.com/12065/how-to-create-a-simple-android-game
原因是
Android 4.0.3 r2 以上的版本 才 增加GPU支持和CPU加速
Android4.2模拟器 要添加一行代码
Cocos2dxActivity.java
<code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;">将代码</code>
<code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"> </code><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">gLSurfaceView</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">setEGLConfigChooser</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">(</span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">16</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">0</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">); </span>
<span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">添加到</span>
<span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"></span><pre class="default prettyprint prettyprinted" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; background-color: rgb(238, 238, 238); font-weight: bold; padding: 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; overflow: auto; width: auto; max-height: 600px;"><code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gLSurfaceView</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">setCocos2dxRenderer</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(0, 0, 139);">new</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(43, 145, 175);">Cocos2dxRenderer</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">());</span></code>
的前面即可
祝你好运!
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2012-12-26更新:
世界末日没有到来,生活还是要继续,勤奋的2dx社区和2dx开发者发布了新的版本,连google也发布了NDKR8C/NDKR8D (R8D支持gcc4.7了,高兴中...),之前我一直认为需要用一个批处理,其实适当的编写配置文件,可以抛开我的bat批处理,下面简单的介绍一下
Eclipse + NDK的编译方法
方法1:在Application.mk 下加入如下代码(根据实际路径进行修改)
路径中不能有空格,根据自己的实际路径进行编写
NDK_MODULE_PATH:=D:\work7\cocos2d-2.1beta3-x-2.1.0; \
D:\work7\cocos2d-2.1beta3-x-2.1.0/cocos2dx/platform/third_party/android/prebuilt \
注意NDK_MODULE_PATH 路径分割符号是分号 “;” ,Linux 或者OS X 系统请更改为冒号 “:”
方法2:在Eclipse中
Edit Configuration中的 参数Arguments:中加入参数
NDK_MODULE_PATH:=D:\work7\cocos2d-2.1beta3-x-2.1.0;D:\work7\cocos2d-2.1beta3-x-2.1.0/cocos2dx/platform/third_party/android/prebuilt -j8
其中-j8 表示开启的编译线程数量,请根据自己的CPU核心数进行更改,如我电脑是的8核心CPU所以是 -j8
然后导入NDK路径中的 ndk-build.cmd 文件, 具体请参看文章的截图
下面的方法3和方法4就是我的老式方法,读者可以优先选用上面的方法1和方法2
方法3:
Eclipse中 直接导入一个自己写的批处理文件
build_android_ndk_tests2.1.0.bat 这里不指定编译的目录
方法4:
先用build_android_ndk_tests2.1.0.bat 编译出来一个jni库文件,然后在Eclipse中
编译带有libs目录库文件就可以了(图片等资源还是需要自己copy到指定的目录),编译出一个apk文件
转载于:https://www.cnblogs.com/Anzhongliu/p/6092008.html
搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)...相关推荐
- 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)
版本: Windows XP3 JDK1.6 Eclipse 3.7.1 (需要C++插件CDT) ADT 16.0.1 NDK7 (或是NDKR7B) cocos2d-1.0.1-x-0.11.0. ...
- 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7+COCOS2DX(没有用到cygwin和minigw)
转载请注明出处:http://blog.csdn.net/maojudong/article/details/7261986 版本: Windows XP3 JDK1.6 Eclipse 3.7.1 ...
- Android环境配置(Eclipse全开发环境下载)
Android环境配置 前期准备 Android环境的Eclipse: 网站链接:https://www.runoob.com/w3cnote/android-tutorial-eclipse-adt ...
- 在windows上搭建react-native的android环境
参考文档: http://facebook.github.io/react-native/docs/getting-started.html http://reactnative.cn/docs/0. ...
- [React Native Android安利系列]搭建React Native Android环境
欢迎大家收看react-native-android系列教程,跟着本系列教程学习,可以熟练掌握react-native-android的开发,你值得拥有 https://segmentfault.co ...
- 【iOS-cocos2d游戏引擎开发之一】搭建cocos2d游戏引擎环境,创建第一个HelloWorld!...
最近几天仔细了解了iOS游戏开发引擎,常用的cocos2d,Unity引擎,那么Unity是非免费的,而cocos2d则是免费开源的: 最后促使我选择cocos2d的原因有两点: 1.最重要的原因是它 ...
- win主机上搭建php网站运行环境,Windows server 2008搭建php运行环境图文详解(php5.3)
这篇文章主要为大家分享下Windows server 2008搭建php运行环境的步骤,需要的朋友可以参考下 下载php组件包 首先到http://windows.php.net/download/下 ...
- WIN10下搭建react-native开发Android环境
最近公司要求使用react-native进行移动端开发,据说macOS上开发坑会少的多,但我们是windows,莫法,直接抗吧!周末配置环境遇到很多问题,谨以此文做个记录... 准备 安装Chocol ...
- Android环境结构--安装Eclipse错
在学习安卓第一步.成立了一个开发环境. 经验,知道,所以这一步是不容易,因为你觉得,我可能是太幸运了. 我见到 题. 首先,安装Eclipse的时候. [Problem 1] [问题原因]: (1) ...
- 在Windows XP3下搭建cocos2d-x-android开发环境
(三) 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7+COCOS2DX(没有用到cygwin和minigw) 原文传送门:http://blo ...
最新文章
- hbase shell命令_HBASE的shell操作
- Windows下使用Tesseract进行OCR文字识别
- hdoj1002解题报告
- 希尔排序算法原理与实现
- 【译】Jumping into Solidity — The ERC721 Standard (Part 4)
- [原创] 指针操作程序答案 — 谭浩强C语言习题答案
- 计算机一级办公软件试题,计算机一级《MS Office》练习题(含答案)
- CentOS6.4之Linux软件包管理
- java 合并算法思想_Java实现合并两个有序序列算法示例
- 软件设计师25-操作系统
- hdu4135容斥原理 组合遍历
- 孤读Paper——《FCOS: Fully Convolutional One-Stage Object Detection》
- 前端开发技巧:网页切图图片格式选择GIF、JPEG 和 PNG区别和对比
- 武汉CMMI3-CMMI5三年到期后复审指南
- 数据采集集成-网络数据采集(一)
- arduino八段数码管使用
- 由课堂思考生活(作者:张子逸)
- JDBC SSL连接MySQL
- 华为是怎样研发的(4)——器件选型
- python之np.narray与 list 相互转换