[COCOS2DX]COCOS命令新建项目+编译安卓项目并成功运行
全程搭建过程参考网址:
http://blog.csdn.net/lengxue789/article/details/38116475
http://blog.csdn.net/cbbbc/article/details/38098837和
http://www.cnblogs.com/9420sunshine/p/3638740.html
其中有些dll、lib之类的是需要添加到指定的系统目录的,参考相关博文照做即可:
1.利用cocos命令创建helloworld项目
cocos new HelloWorld -p com.cocos2dx.org -l cpp -d C:\ComputerScience\workspace-cocos
正常运行编译helloworld就出来了
2.搭建安卓环境
JDK环境变量:
配置jdk:
在JDK安装完毕之后,需要手动进行环境变量的配置
1)在系统变量里新建JAVA_HOME变量,变量值为:D:/Program Files/Java/jdk1.6.0_14(根据自己的安装路径填写)
2)新建classpath变量,变量值为:.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar (注意前面的. 不要忘记了)
3)在path变量(已存在不用新建)添加变量值:%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin(注意变量值之间用“;”隔开)
4)重新注销系统并重新登陆后 “开始”-->“运行”-->输入“javac”-->"Enter",如果能正常打印用法说明配置成功!
一开始尝试利用安装Android Studio:
出现以下错误,google了好久没解决:
Error:Execution failed for task ':helloWorld:compileDebugNdk'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\ComputerScience\ndk\ndk-build.cmd'' finished with non-zero exit value 2
决定改用Eclipse来对安卓项目进行部署,在线更新adt的网址为http://dl-ssl.google.com/android/eclipse/。
然后下载好sdk manager,先不在线更新,下载4.4.2离线包覆盖到api 19的文件夹里面,再后台更新。
3.配置ndk、ant等
将下载好的包都解压到ComputerScience文件夹
进入到cocos2dx相关目录执行setup.py:
cd C:\ComputerScience\cocos2d-x-3.5
setup.py
ANT_ROOT:C:\ComputerScience\ant\bin
NDK_ROOT:C:\ComputerScience\ndk
SDK_ROOT:C:\Program Files (x86)\Android\android-sdk
安装好后重新执行setup.py确认以下变量都已经设置好了:
4.部署Android项目到Eclipse
cmd执行以下命令
cd C:\ComputerScience\workspace-cocos\HelloWorld\proj.android
python build_native.py
然后修改local.properties
添加下列项进去
ndk.dir=C:\\ComputerScience\\ndk
导入Helloworld项目,并在src目录中右键import进C:\ComputerScience\workspace-cocos\HelloWorld\cocos2d\cocos\platform\android\java(导入libcocos2dx):
并进行如下修改:
出现以下报错:
03:13:55 **** Incremental Build of configuration Release for project HelloWorld ****
python C:/ComputerScience/workspace-eclipse/HelloWorld/build_native.py -b release all
Running command: compile
Can't find config file .cocos-project.json in path C:\ComputerScience\workspace-eclipse
Please use cocos console instead.
Traceback (most recent call last):
File "C:/ComputerScience/workspace-eclipse/HelloWorld/build_native.py", line 43, in <module>
build(opts.build_mode)
File "C:/ComputerScience/workspace-eclipse/HelloWorld/build_native.py", line 28, in build
raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!")
Exception: Build dynamic library for project [ C:\ComputerScience\workspace-eclipse\HelloWorld\../ ] fails!
参考http://rmarcejaeger.com/2015/03/24/tutorial-how-to-create-a-new-cocos-2d-x-game-project-using-windows/添加下面的json文件到helloworld的上级目录:
在Eclipse执行运行,apk成功生成:
在手机端运行截图如下:
[COCOS2DX]COCOS命令新建项目+编译安卓项目并成功运行的更多相关文章
- [COCOS2DX]交叉编译实践+速度优化(vs2012修改win32代码+修改makefile+编译安卓项目包+部署安卓项目包到Eclipse+运行apk)
通过前面的部署过程可以知道cocos2dx的开发过程如下: 1.VS2012完成修改 2.因为指定了CPP文件位置,ndk可以通过jni方式完成C++文件的编译,运行以下命令完成proj.androi ...
- win7(x64)下安装cocos2d并编译安卓项目
好吧,不为啥,就是如题. win7 x64 脑袋内存比较小,说不定明儿就忘了,今天记录一下. 没有什么经验,所有步骤基本都是百度出来的,这里边操作边记录,为了保护原创作者,这里我都附上我查找的链接. ...
- Apache Maven Cookbook(一)maven 使用命令创建、编译java项目
一.创建 使用命令创建项目分几步: 1.打开命令行窗口,比如cmd,把目录切换至想要创建项目地方. 2.执行如下命令: mvn archetype:generate -DgroupId=com.zua ...
- 区块链入门(4)Truffle创建项目,编译,及项目部署
上一章的结尾说这一次要讲编写一个智能合约部署到测试网络集群中,并进行交易,但我自己越看越觉得内容挺多的.先讲下truffle的项目创建,编译和部署的问题,然后再做上面说的事情吧. truffle是一套 ...
- 使用ant自动编译安卓项目并签名
准备阶段: 1.下载ant,jdk,android sdk ant下载地址:ant.apache.org/bindownload.cgi 2. 设置环境变量 ANT_HO ...
- IDEA下Maven项目搭建踩坑记----2.项目编译之后 在service层运行时找不到 com.dao.CarDao
项目写的差不多 想运行一下,然后发现运行到Service层的时候报错说找不到Dao层文件 ,纠结半天之后看了下编译好的项目文件,发现mapper文件下边是空的, 于是就百度找一下原因,结果说是IDEA ...
- cocos2dx 用命令行进行编译的指令
cocos compile -p android -m release -s F:\cocosproj\antest --ap android-20 上面那条就是我常用的指令,这指令修改一下就成了你的 ...
- Ant 命令行编译Android项目
首先把android sdk下的tools目录加到系统path环境变量里, 要么就得直接指定android.bat的绝对路径 对于一个新项目, 可以用这个命令创建需要的ant编译环境(可以看到andr ...
- cocos2dx - android环境配置及编译
接上一节内容:cocos2dx - 伤害实现 本节主要讲Android环境配置及编译 在第一节中setup.py的配置里,我们没有配置对应的ndk,sdk,ant的路径,在这里需要先配置好环境变量. ...
随机推荐
- 【转】在Tomcat配置JNDI数据源的三种方式
在我过去工作的过程中,开发用服务器一般都是Tomcat 数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean 然后在部署时再修改JNDI配置 我猜 ...
- 理解dojo.require机制
转自:http://blog.csdn.net/dojotoolkit/article/details/5935844 Dojo 提供了一个非常强大的javascript控件库. 在使用dojo之前, ...
- How to Convert a Date Time to “X minutes ago” in C# z
http://www.codeproject.com/Articles/770323/How-to-Convert-a-Date-Time-to-X-minutes-ago-in-Csh In one ...
- python运算符的优先级
运算符优先级 如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符. 下面这个表给出Python的运 ...
- POJ 3345-Bribing FIPA(树状背包)
题意: 有n个国家投票,要得到一个国家的投票有一定的花费,如果给到一个国家的票同时也得到了它所有附属国的票,给出国家关系树,求至少得到m票的最小花费. 分析:基础树状背包,dp[i][j],以i为根的 ...
- 文件I/O操作(1)
linux系统调用和用户编程接口(api) 系统调用是指在操作系统提供给用户程序调用的一组“特殊”的接口,用户程序可以通过这组特殊的接口来获取操作系统内核提供的服务,例如用户可以通过进程控制相关的系统 ...
- Pyhton 一行代码求Fibonacci第N项
递归定义很简单,效率当然很低下,且极易超出栈空间大小. 这样做纯粹是为了体现python的语言表现力而已, 并没有任何实际意义. def fib(x): return fib(x-1) + fib(x ...
- leetcode@ [62/63] Unique Paths II
class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleG ...
- HDU1890 Robotic Sort Splay tree反转,删除
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1890 题目中涉及数的反转和删除操作,需要用Splay tree来实现.首先对数列排序,得到每个数在数列 ...
- fuse文件系统
用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统.目前Linux通过内核模块对此进行支持.一些文件系统如ZFS,glus ...