之前在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. Java8新特性Optional、接口中的默认方法与静态方法

    Optional Optional 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念 ...

  2. Django初体验——搭建简易blog

    前几天在网上看到了篇采用Django搭建简易博客的视频,好奇心驱使也就点进去学了下,毕竟自己对于Django是无比敬畏的,并不是很了解,来次初体验. 本文的操作环境:ubuntu.python2.7. ...

  3. 《DSP using MATLAB》示例Example7.20

    代码: M = 51; alpha = (M-1)/2; Dw = 2*pi/M; l = 0:M-1; wl = Dw*l; T1 = j*0.39; k1 = 0:floor((M-1)/2); ...

  4. POJ3764,BZOJ1954 The xor-longest Path

    题意 In an edge-weighted tree, the xor-length of a path p is defined as the xor sum of the weights of ...

  5. 关于djangoadmin的一个博客

    http://www.cnblogs.com/linxiyue/category/569717.html

  6. ①SpringBoot入门教学篇

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

  7. Linux下搭建 NFS

    一.NFS简介 NFS是Network File System的缩写,即网络文件系统.一种使用于分散式文件协定,有SUN公司开发.功能是通过网络让不同的机器.不同的操作系统能够分享个人数据,让应用程序 ...

  8. BZOJ1355:[Baltic2009]Radio Transmission

    浅谈\(KMP\):https://www.cnblogs.com/AKMer/p/10438148.html 题目传送门:https://lydsy.com/JudgeOnline/problem. ...

  9. ELK之kibana的web报错[request] Data too large, data for [<agg [2]>] would be larger than limit of

    http://blog.51cto.com/11819159/1926411 ELK架构:elasticsearch+kibana+filebeat 版本信息: elasticsearch 5.2.1 ...

  10. mysql中修改密码的方式

    参考地址:https://www.cnblogs.com/yang82/p/7794712.html mysql中修改用户密码的方式: 最简单的方法就是借助第三方工具Navicat for MySQL ...