之前在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. ORM 关键

    1. 老师的增删改查 1. teacher_obj.cid.add(*[1, 2, 3]) 添加(必须打散) 2. teacher_obj.cid.set([1, 2, 3]) 设置(不用打散) 2. ...

  2. Android预安装可卸载程序

    /***************************************************************************** * Android预安装可卸载程序 * 说 ...

  3. 编写实现字符串拷贝函数strcpy()完整版

    有个题目编程实现字符串拷贝函数strcpy(),很多人往往很快就写出下面这个代码. void strcpy( char *strDest,char *strSrc ) { while(( *strDe ...

  4. ActionContextCleanUp作用

    延长action中属性的生命周期,包括自定义属性,以便在jsp页面中进行访问,让actionContextcleanup过滤器来清除属性,不让action自己清除. 为了使用WebWork,我们只需要 ...

  5. WPF:XAML概述

    简介 XAML是eXtensible Application Markup Language可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言.XAML提供了一种便于 ...

  6. 转载关于reset vector 和 exception vector

    在NIOS II学习过程中设置CPU参数的时候,遇到Reset Vector和Exception Vector的设置.参数设置画面如下图所示. Reset Vector——复位向量Exception ...

  7. 【spring源码学习】spring的远程调用实现源码分析

    [一]spring的远程调用提供的基础类 (1)org.springframework.remoting.support.RemotingSupport ===>spring提供实现的远程调用客 ...

  8. simple_one_for_one 和 one_for_one的区别

    参考这里http://blog.sina.com.cn/s/blog_77cb45a70102v1ja.html 用起来最直观的不同点 simple_one_for_one需要手工start_chil ...

  9. DHCP(四)

    确认阶段:即DHCP服务器确认分配级DHCP客户端IP地址的阶段.某个DHCP服务器在收到DHCP客户端发来的DHCP Request报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认将地 ...

  10. docker 及 linux 初接触

    3天来净折腾这俩东西了,总结一下(很多都是同事给出的解释,先不保证正确性): 1.docker 里的images 和 container images 类似系统盘,container类似用系统盘装起来 ...