cocos2d-x学习之旅(五):1.5 使用eclipse编译cocos2d-x示例项目,创建cocos2d-x android项目并部署到真机
今天将cocos2d-x的示例项目tests编译到android真机运行,以及如何创建cocos2d-x的android项目。
打开cocos2d-x的tests项目,路径为:D:\cocos2d-x-2.0.1\tests
下载:PdaNet:http://xiazai.zol.com.cn/detail/36/350633.shtml
如果你的手机或者平板无法连上电脑,可以下载这个软件。
第一步:编译cocos2d-x的示例项目
首先用visual studio 打开 tests项目,看看项目结构

classes下的tests文件夹就是官方的示例代码,里面包含很全的,可是学习的好途径。

现在使用cygwin编译项目,使用管理员权限打开cmd->cygwin
输入 cd /cygdrive/d/cocos2d-x-2.0.1/tests/proj.android 出现以下界面,然后使用ls列表文件目录

使用文本编辑器打开build_native.sh,将NDK_ROOT_LOCAL变量和COCOS2DX_ROOT_LOCAL变量修改为当前
NDK的根目录路径和cocos2d-x的根目录路径

现在执行 ./build_native.sh 来编译项目,出现Permission denied ,这是由于win7系统下打开了UGA
没有权限访问目录造成的

现在我们给tests文件夹加载读写的权限,不过文件有点多,可以使用导入注册表来做个小工具,批量给文件夹
赋予读取权限。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
将上面的代码保存为reg文件,并点击导入到注册表

现在使用这个小工具批量给tests文件夹赋予读写权限,在tests文件夹上面点击右键,选中 "管理员取得所有权" 执行批处理.
再次执行编译项目,如果看到这样的界面说明编译成功了.

导入tests项目,前面一章已经做过如何导入android项目,现在我们直接导入。

android手机或者平板电脑,用usb连上电脑,记得在android系统里面打开开发调试选项和保持唤醒,

现在使用eclipse将tests项目部署到真机,成功了.

第二步:创建cocos2d-x的android项目
打开cocos2d-x目录下的create-android-project.bat文件
修改以下变量路径
_CYGBIN 路径为 d:\cygwin\bin
_ANDROIDTOOLS 为 d:\android-sdk-windows\tools
_NDKROOT 为 d:\android-ndk-r8

以管理员身份运行cmd,进入到cocos2d-x的目录,执行create-android-project.bat

输入项目路径包名dekins.firstdemo

输入项目名称 dekinsdemo

输入android版本:10(对应android版本2.3.3)

成功后会在cocos2d-x的项目下创建dekinsdemo目录

看下生成的项目结构:
Classes为项目的类代码
proj.android为eclipse的项目文件
Resources为项目的资源文件

注意如果项目包名和项目名称一样的话会出proj.android项目没有jni目录,解决办法:
在proj.android目录手动建一个jni目录,并把helloworld文件夹
Android.mk,Application.mk,list.sh移动到jni目录下。

现在使用cygwin编译这个项目,别忘了右键点击dekinsdemo选择"管理员取得所有权"
使用cygwin执行build_native.sh命令
出现成功界面

现在把刚建好的android项目导入到eclipse中,并部署到真机,成功了.

cocos2d-x学习之旅(五):1.5 使用eclipse编译cocos2d-x示例项目,创建cocos2d-x android项目并部署到真机的更多相关文章
- [原创] zabbix学习之旅五:如何快速搭建一个报警系统
通过之前的文章,我们已搭建好zabbix server.agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统.总的来说,快速搭建一个报警系统的顺序 ...
- Spring学习之旅(五)--AOP
什么是 AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是 OOP(Object-Oriented Programing,面向对象编程)的补充和完善. OO ...
- Salesforce LWC学习(三十五) 使用 REST API实现不写Apex的批量创建/更新数据
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.api_rest.meta/api_rest/resources_compo ...
- 我的Java开发学习之旅------>使用Working Setst将Eclipse中的项目分类使项目一目了然
今天发现Eclipse中若有太多的项目,杂七杂八的,看起来会非常的痛苦.今天请教公司的前辈学会了一个方法,在Eclipse中,当项目比较多的时候,我们可以用WorkingSet将这些项目分类,把相关连 ...
- 【WPF学习】第五十七章 使用代码创建故事板
在“[WPF学习]第五十章 故事板”中讨论了如何使用代码创建简单动画,以及如何使用XAML标记构建更复杂的故事板——具有多个动画以及播放控制功能.但有时采用更复杂的故事板例程,并在代码中实现全部复杂功 ...
- WCF学习之旅—TcpTrace工具(二十五)
前面的几篇文章,我们学习了怎么开发WCF应用程序与服务,也学习了如何进行WCF的配置.对于Web Service与WCF服务应用,服务端与客户端的通信是通过收发SOAP Message进行,我们如何有 ...
- WCF学习之旅—WCF第二个示例(五)
二.WCF服务端应用程序 第一步,创建WCF服务应用程序项目 打开Visual Studio 2015,在菜单上点击文件—>新建—>项目—>WCF服务应用程序.在弹出界面的“名称”对 ...
- AngularJS学习之旅—AngularJS 模块(十五)
一.AngularJS 模块 模块定义了一个应用程序. 模块是应用程序中不同部分的容器. 模块是应用控制器的容器. 控制器通常属于一个模块. 1.创建模块 通过 AngularJS 的 angular ...
- WCF学习之旅—第三个示例之二(二十八)
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1) 使用NuGet下载最新版的Entity Fram ...
随机推荐
- Logback中文文档(一):介绍
什么是 logback Logback 为取代 log4j 而生. Logback 由 log4j 的创立者 Ceki Gülcü 设计.以十多年设计工业级记录系统的经验为基础,所创建的 logbac ...
- 配置Tomcat监听80端口 配置Tomcat虚拟主机 Tomcat日志
配置Tomcat监听80端口 • vim /usr/local/tomcat/conf/server.xml Connector port=" protocol="HTTP/1.1 ...
- C#实现http协议支持上传下载文件的GET、POST请求
C#实现http协议支持上传下载文件的GET.POST请求using System; using System.Collections.Generic; using System.Text; usin ...
- 关于Json-lib类库的使用
前言介绍: json-lib包是一个Java类库,它可以将Java对象(包括:beans,maps,collections,java arrays ,xml等)和JSON互相转换. 与此相同的是谷歌也 ...
- koa2使用注意点总结
post请求,ajax传入的参数获取的时候为ctx.request.body get请求,ajax传入参数获取的时候为ctx.request.query.参数名 koa-csrf可以设置什么请求的时候 ...
- getIsDebuggable
/* * if set android:debuggable="true" in Manifest, return true. * if set android:debugga ...
- ActiveMq持久化数据
A:持久化为文件 这个你装ActiveMQ时默认就是这种,只要你设置消息为持久化就可以了.涉及到的配置和代码有 <persistenceAdapter> <kahaDB direct ...
- faster-rcnn原理及相应概念解释
R-CNN --> FAST-RCNN --> FASTER-RCNN R-CNN: (1)输入测试图像: (2)利用selective search 算法在图像中从上到下提取2000个左 ...
- Java使用String类格式化当前日期
在输出日期信息时,经常需要输出不同格式的日期格式,本实例中介绍了String字符串类中的日期格式化方法,实例使用不同的方式输出String类的日期格式参数值,组合这些值可以实现特殊格式的日期字符串. ...
- SpringMVC由浅入深day02_5数据回显_6异常处理器
5 数据回显 5.1 什么数据回显 表单提交失败需要再回到表单页面重新填写,原来提交的数据需要重新在页面上显示. 5.2 pojo数据回显方法 1.springmvc默认对pojo数据进行回显. po ...