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 ...
随机推荐
- linux 系统安装mysql (rpm)
其实按照本文安装成功,但是启动依然有问题:最好参考链接配置. http://blog.csdn.net/xiaoxiaoxuewen/article/details/7550107 我用的是ubunt ...
- Android四大组件之——ContentProvider(二)
Content Resolver介绍: 开发者文档中这么定义的: This class provides applications access to the content model. 这个类为应 ...
- MathType调整矩阵分隔线粗细的方法
矩阵是线性代数的重要的组成部分,对于矩阵的计算,一般会先找一些规律再进行计算这样会更加方便.对于比较复杂的矩阵,在寻找规律时经常会将矩阵进行分割,我们将这种矩阵称为分块矩阵.有时为了表示矩阵的这种分块 ...
- centos 中文乱码解决途径
在使用CentOS系统时,安装的时候可能你会遇到英文的CentOS系统,在这中情况下安装CentOS系统时是默认安装(即英文).安装完毕后,出现的各种中文乱码.那么,我们如何解决这种问题呢. 一.Ce ...
- Oauth2.0(五):Authorization Code 授权
Authorization Code 方式适用于有自己的服务器的应用.之所以叫这个名字,是因为流程中引入了一个叫做 authorization code 的东西.这个东西是一个一次性的临时凭证,用来换 ...
- SQL SERVER发布与订阅
一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6. ...
- ARC简介以及工程中ARC与非ARC的混合(转)
ARC与非ARC在一个项目中同时使用, 1,选择项目中的Targets,选中你所要操作的Target,2,选Build Phases,在其中Complie Sources中选择需要ARC的文件双击,并 ...
- 据库分库分表(sharding)系列(一) 拆分实施策略和示例演示
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sh ...
- React Native(六)——PureComponent VS Component
先看两段代码: export class ywg extends PureComponent { …… render() { return ( …… ); } } export class ywg e ...
- js for循环与for in循环的区别
for循环可一遍历数组,而for in循环可以遍历数组和对象 使用for in循环会将Array当成对象遍历,而Array的存取速度明显比Object要快.所以使用for循环遍历数组比for in循环 ...