之前在ubuntu下通过eclipse搭建开发cocos2d-x的环境,但是由于eclipse界面在ubuntu显得很丑,在里面写代码,完全没有感觉,后来我转到了win7上通过vs2010和eclipse共同开发cocos2dx的安卓项目,虽然成功了,但是eclipse是个吃软饭的角色,只负责编译一下,然后联机调试。网上也有人说可以搭建一下eclipse c++ 环境,但感觉很烦所。所以今天又回到ubuntu下搭建了一个不用eclipse的环境。

1.首先我们用 cocos2d-x-2.1.4/tools/project-creator/create_project.py 创建各个平台的工程。

create_project.py -project PROJECT_NAME -package PACKAGE_NAME -language PROGRAMING_LANGUAGE

参考

charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./tools/project-creator$ python create_project.py -project HelloCxue -package org.cocos2dx.cxue -language cpp
proj.ios : Done!
proj.android : Done!
proj.win32 : Done!
proj.mac : Done!
proj.blackberry : Done!
proj.linux : Done!
proj.marmalade : Done!
New project has been created in this path: /home/charlesxue/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue
Have Fun!

2.这时会在cocos2d-x根目录下生成project文件夹,文件夹下有我们刚才创建的工程

charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects$ ls
HelloCxue HelloWorld
charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects$ cd HelloCxue/
charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue$ ls
Classes proj.android proj.blackberry proj.ios proj.linux proj.mac proj.marmalade proj.win32 Resources

在工程下Classes 和 Resource 是各个平台的共有文件夹,所以我们可以在linux平台下开发把要添加的.h .cpp文件放到Classes文件夹下,想要生成安卓的程序,直接到proj.android编译即可。

3.更改Resources/font ,去掉之间的空格防止在安卓编译的时候出错。

4.在linux上编译工程,进行测试。

charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.linux/bin$ ls
debug
charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.linux/bin$ cd debug/
charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.linux/bin/debug$ ls
HelloCxue
charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.linux/bin/debug$ ./HelloCxue
cocos2d-x debug info [Ready for GLSL]
cocos2d-x debug info [Ready for OpenGL 2.0]
cocos2d-x debug info [
<dict>
cocos2d.x.version: .1rc0-x-2.1.
cocos2d.x.compiled_with_profiler: false
cocos2d.x.compiled_with_gl_state_cache: true
gl.vendor: X.Org
gl.renderer: Gallium 0.4 on AMD RV710
gl.version: 2.1 Mesa 9.0
gl.max_texture_size:
gl.max_texture_units:
gl.supports_PVRTC: false
gl.supports_NPOT: true
gl.supports_BGRA8888: false
gl.supports_discard_framebuffer: false
gl.supports_vertex_array_object: true
</dict>]

如图:

5.编译安卓依赖的c++库

./build_native.sh
charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.android$ ls
AndroidManifest.xml build_native.sh jni project.properties res
ant.properties build.xml proguard-project.txt README.md src
charlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.android$ ./build_native.sh
NDK_ROOT = /home/charlesxue/setup/android_develop/android-ndk-r8e
COCOS2DX_ROOT = /home/charlesxue/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.android/../../..
APP_ROOT = /home/charlesxue/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.android/..
APP_ANDROID_ROOT = /home/charlesxue/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.android
Using prebuilt externals
make: Entering directory `/home/charlesxue/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.android'
Compile++ thumb : cocos2dcpp_shared <= main.cpp

6. 修改proj.android 下的project.properties 如下 根据自己情况修改 添加sdk.dir

如下:

  target=android-
sdk.dir=/home/charlesxue/setup/android_develop/adt-bundle-linux-x86-/sdk
android.library.reference.=../../../cocos2dx/platform/android/java

7.安装 ant  。Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。

sudo apt-get install ant

8.执行

 ant debug

9.编译成功后我们会发现 bin目路下多了很多文件。

rlesxue@THSHIBA:~/setup/cocos2d-x/cocos2d-x-2.1./projects/HelloCxue/proj.android/bin$ ls
AndroidManifest.xml classes dexedLibs HelloCxue-debug.apk proguard.txt
AndroidManifest.xml.d classes.dex HelloCxue.ap_ HelloCxue-debug-unaligned.apk res
build.prop classes.dex.d HelloCxue.ap_.d HelloCxue-debug-unaligned.apk.d R.txt

10.把 helloCxue-debug.apk 装载到手机。

adb install HelloCxue-debug

ubuntu下不用eclipse开发cocos2d-x(命令行)的更多相关文章

  1. 在ubuntu下设置eclipse开发STM32等嵌入式设备

    之前为了能够让ROS与底层能够顺利通讯,我采用可开源开发板arduino ,因为arduino有ROS的库,能够按照ROS wiki上所给的教程就可以顺利的开发,但由于arduino的局限性,我觉得是 ...

  2. 在Ubuntu下利用Eclipse开发FFmpeg配置小结

    首先需要编译FFmpeg得到头文件和lib文件,参见:在Ubuntu下编译FFmpeg 选择File-New-C Project 选择Executable下的Empty Project,右侧选择Lin ...

  3. ubuntu下matlab的无界面启动---命令行操作

    命令行下运行 Matlab 及 函数 首先参考命令行下matlab的运行参数的定义与作用:http://www.cnblogs.com/beanocean/p/3677404.html 创建示例程序: ...

  4. 【转】在Ubuntu下建立Eclipse的Android开发环境

    本文将介绍如何建立Ubuntu下基于Eclipse的Android开发环境的方法. 大部分的Android开发者都是使用Eclipse来开发Android,本文将向各位介绍一下建立Ubuntu下基于E ...

  5. ubuntu下整合eclipse和javah生成jni头文件开发android的native程序

    0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...

  6. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  7. ubuntu下安装stm32开发环境

    在windowns下开发stm32刚开始学最烦的就是创建工程模板,都不知道为什么要那样设置,而且步骤繁多.现在我告诉大家一个好消息,在linux下配置stm32开发环境包括创建工程,使用JLink仿真 ...

  8. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  9. Ubuntu下的PHP开发环境架设

    Ubuntu下的PHP开发环境架设   今天重新装了ubuntu那么就吧过程记录下. 打开终端,也就是命令提示符. 我们先来最小化组建安装,按照自己的需求一步一步装其他扩展.命令提示符输入如下命令: ...

随机推荐

  1. 基于UDP协议编程

    基于udp套接字 udp是无链接的,先启动哪一端都不会报错. UDP(user datagram protocol,用户数据报协议)是无连接的,面向消息的,提供高效率服务.不会使用块的合并优化算法,, ...

  2. Requst Servervariables

    Request.ServerVariables("Url") 返回服务器地址 Request.ServerVariables("Path_Info") 客户端提 ...

  3. hibernate的注解属性mappedBy详解【实际项目】

    [应用情节: 技术问答] 一个类是问题类 一个类是回答类 一个类是针对回答的讨论类 关系是一个问题对应多个答案   一个答案对应多个讨论 [三个类的注解关系] 问题类的 答案类的 讨论类的

  4. Java Platform SE binary已停止运行 Can't load AMD 64-bit.dll on a IA 32-bit platform错误

    这个我是在junit测试web项目时候遇到的问题,然后今天遇到一位网友也遇到了,报问题的是A卡了,所以今天做个记载,方便遇到问题的人,因为,之前我个人遇到这个问题,在网上找了很久都没有找到. 上面这个 ...

  5. Java实现三种常用的查找算法(顺序查查找,折半查找,二叉排序树查找)

    public class Search { public class BiTreeNode{ int m_nValue; BiTreeNode m_pLeft; BiTreeNode m_pRight ...

  6. 由于出现操作系统错误 3,进程无法读取文件D:\XXXX\X.pre (源: MSSQL_REPL,错误号: MSSQL_REPL20024)

    最近着手做SqlServer2008的订阅发布,起初使用推送订阅很顺利,后来改成请求订阅出现了以下问题,折腾好长时间终于搞定,留下此文备日后查阅,或供遇相同问题的道友参考: 首先阐述以下问题: 1. ...

  7. fn project 扩展

    目前支持的扩展方式   Listeners - listen to API events such as a route getting updated and react accordingly. ...

  8. CLR 对比 JVM

    首先,CLR和JAVA虚拟机(Java Virtual Machine,简称:JVM)并非一个层面的系统.前者可松散地被描述为just-in-time(JIT)优化编译器和垃圾收集器的混合物,而后者仅 ...

  9. ①SpringBoot入门教学篇

    一.什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...

  10. 管理11gRAC基本命令 (转载) 很详细

    在 Oracle Clusterware 11g 第 2 版 (11.2) 中,有许多子程序和命令已不再使用:    crs_stat    crs_register    crs_unregiste ...