之前在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. animal farm 第一章阅读笔记

    chapter 1 Old Major's dream. paragraph 1      //Mr Jones is the mastor of the Manor Farm.That night ...

  2. 使用 event.preventDefault 拦截表单的提交

    event.preventDefault() 方法 W3C 官方的定义是:取消事件的默认动作,不单单可以拦截表单的提交,<a>标签的跳转, <input>标签的输入等等默认动作 ...

  3. HWOJ-字符串的逆序

    将一个字符串str的内容颠倒过来,并输出.str的长度不超过100个字符. 如:输入“I am a student”,输出“tneduts a ma I”. 输入参数: inputString:输入的 ...

  4. HTML`CSS_网站页面不同浏览器兼容性问题解决

    目前,最为流行的浏览器共有五个:分别是ie,Edge浏览器(属于微软),火狐,谷歌(chrome)Safari和Opera五大浏览器. Trident内核:IE ,360,,猎豹,百度: Gecko内 ...

  5. IBM Cognos 10.2 最新体验之旅

    IBM Cognos Data Manager 数据集市的构建利器 本文详细的介绍了 Cognos 最新版本 10.2 的数据集市构建器 Data Manager 的使用,对于希望系统了解 Cogno ...

  6. dxjk中 支付宝二维码支付 git 存疑

    线上的vendor/latrell/alipay 文件拉取不了至本地,失去了git监控 要想本地使用 1.注释掉config/app.php 'providers' 下的Latrell模块 2.下载线 ...

  7. 查询mysql 哪些表正在被锁状态

    查询mysql 哪些表正在被锁状态 show OPEN TABLES where In_use > 0; 参考链接:http://zhidao.baidu.com/link?url=tCQ70t ...

  8. 【linux】查看进程使用的端口和端口使用情况

    netstat -a 查看所有服务端口 netstat -tln 查看当前使用的端口   ps命令查看进程的id: ps aux | grep ftp 或者 pidof Name   netstat命 ...

  9. dd命令的高级应用

    dd是Linux上的一个常用的命令.例如:dd if=/1.txt of=/tmp/2.txt     (其中, if代表input file:of代表output file, 命令的结果就是将根目录 ...

  10. Three.js加载gltf模型

    效果图 demo import './index.css'; var stats; stats = new Stats(); document.body.appendChild( stats.dom ...