今天将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中,并部署到真机,成功了.

来处:www.cnblogs.com/dekins

cocos2d-x学习之旅(五):1.5 使用eclipse编译cocos2d-x示例项目,创建cocos2d-x android项目并部署到真机的更多相关文章

  1. [原创] zabbix学习之旅五:如何快速搭建一个报警系统

    通过之前的文章,我们已搭建好zabbix server.agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统.总的来说,快速搭建一个报警系统的顺序 ...

  2. Spring学习之旅(五)--AOP

    什么是 AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是 OOP(Object-Oriented Programing,面向对象编程)的补充和完善. OO ...

  3. Salesforce LWC学习(三十五) 使用 REST API实现不写Apex的批量创建/更新数据

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.api_rest.meta/api_rest/resources_compo ...

  4. 我的Java开发学习之旅------>使用Working Setst将Eclipse中的项目分类使项目一目了然

    今天发现Eclipse中若有太多的项目,杂七杂八的,看起来会非常的痛苦.今天请教公司的前辈学会了一个方法,在Eclipse中,当项目比较多的时候,我们可以用WorkingSet将这些项目分类,把相关连 ...

  5. 【WPF学习】第五十七章 使用代码创建故事板

    在“[WPF学习]第五十章 故事板”中讨论了如何使用代码创建简单动画,以及如何使用XAML标记构建更复杂的故事板——具有多个动画以及播放控制功能.但有时采用更复杂的故事板例程,并在代码中实现全部复杂功 ...

  6. WCF学习之旅—TcpTrace工具(二十五)

    前面的几篇文章,我们学习了怎么开发WCF应用程序与服务,也学习了如何进行WCF的配置.对于Web Service与WCF服务应用,服务端与客户端的通信是通过收发SOAP Message进行,我们如何有 ...

  7. WCF学习之旅—WCF第二个示例(五)

    二.WCF服务端应用程序 第一步,创建WCF服务应用程序项目 打开Visual Studio 2015,在菜单上点击文件—>新建—>项目—>WCF服务应用程序.在弹出界面的“名称”对 ...

  8. AngularJS学习之旅—AngularJS 模块(十五)

    一.AngularJS 模块 模块定义了一个应用程序. 模块是应用程序中不同部分的容器. 模块是应用控制器的容器. 控制器通常属于一个模块. 1.创建模块 通过 AngularJS 的 angular ...

  9. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

随机推荐

  1. “A configuration with this name already exists” error in eclipse run configurations

    “A configuration with this name already exists” error in eclipse run configurations Is there a way t ...

  2. MySql数据库恢复(*frm)文件

    mysql数据库恢复(*frm)文件 WorkBench 在使用虚拟服务器时,服务器提供商一般不会像我们使用本地数据库一样:使用导入导出(这样的文件后缀是*.sql).大部分时候提供的是一个文件夹,里 ...

  3. ClientScript.GetCallbackEventReference实现局部刷新

    使用ClientScript.GetCallbackEventReference实现局部刷新是.NET支持的一种前后台代码调用的方式:其实实现局部刷新这样方式有很多种,最经典也常用的莫过于jQuery ...

  4. git push 不再需要重复输入账户密码的技巧

    添加用户环境变量 计算机—属性—高级系统设置—环境变量 变量名 HOME 变量值%USERPROFILE% 在用户文件夹C:\Users\YourName下新建一个名为_netrc的文件 machin ...

  5. BarTender条码检验位类型知识讲解

    检验位类型指定BarTender使用哪一种算法来计算符号的附加检验位.使用“BarTender检验位类型”选项可以从您的符号所支持的检验位类型中选择一种检验位类型.下面,小编就给大家分享设置检验位类型 ...

  6. qt creator如何实现转到槽功能

    ui_mainwindow.h .

  7. php扩展yaf 按照配置

    Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,是一个用PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快. 它提供了Bootstrap, ...

  8. zabbix服务端安装指南及常见问题解决

    1. 首先要准备LNMP环境 2. 在mysql中创建zabbix所需要的库和用户 mysql -uroot -pmysql> CREATE DATABASE zabbix CHARACTER ...

  9. linux环境中如何删除文件的前n行?

    需求描述: 今天看了一个系统的临时文件,有5.6G的大小,这个文件也没有用了,想要将大部分的文件都删除掉. 在此记录下删除的过程.删除前n行的记录. 操作过程: 对于数据量比较大的情况(本例5800万 ...

  10. ios开发之--时间格式化

    字符串转时间 iOS 中 NSDate 是时间管理类,这里获取到的时间是 UTC 时间,可以根据需要转换成任意地区的时间. NSFormatter 类是时间格式化类,可以根据指定的格式.地区将指定的时 ...