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 ...
随机推荐
- jQuery form的load函数与el表达式赋值的冲突问题
问题: 在使用el表达式给表单中的项赋初始值的时候,总是失败,物流公司没有自动选中,物流单号也没有显示值. <form id="form" method="post ...
- MySQL索引优化入门
索引简介 官方定义:索引(Index) 是帮助MySQL高效获取数据的数据结构.大家一定很好奇,索引为什么是一种数据结构,它又是怎么提高查询的速度?我们拿最常用的二叉树来分析索引的工作原理.看下面的图 ...
- Golang 在 Mac、Linux、Windows 交叉编译
https://blog.csdn.net/panshiqu/article/details/53788067
- ispriter自动构建css-sprite
优化你的网站: 当一个网站中的资源(比如:js文件.css文件.图片等)很多时必然影响用户访问速度,这时候你就需要做网站性能优化,你可以选择把资源分开放在不同的服务器上,因为一个资源服务器最多可以同时 ...
- python __all__用法
主要是用来限定暴露的api a.py文件里面的内容 __all__ = ['major_fun'] def major_fun(): pass def assist_fun(): pass b.py ...
- 多线程二(GCD)代码笔记
// // TWFXViewController.h // Demo_GCD // // Created by Lion User on 12-12-11. // Copyright (c) 2012 ...
- Simply Syntax(思维)
Simply Syntax Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5551 Accepted: 2481 Des ...
- Java -- 获取MAC地址
啦啦啦 package com.xindatai.common.util; import java.io.InputStream; import java.util.regex.Matcher; im ...
- UITextField中文输入法输入时对字符长度的限制 输入时对字符类型的限制
检索一个字符串的长度的话:直接用 length,去进行判断就行了, 如果要检索字符串是否是自己要限制的类型的话,可以用正则表达式: 举个例子: 匹配9-15个由字母/数字组成的字符串的正则表达式: ...
- WebService之CXF
一.配置环境变量(Windows系统下要重启) 1.JAVA_HOME即JDK安装路径bin上一级,java -version命令验证 2.CXF_HOME即cxf安装路径bin上一级,cxf解压包下 ...