ubuntu14.04 + cocos2d-x-2.2.6 + eclipse发布android + Qt Creator4
先把需要的东西准备好,打开控制台,执行以下语句:
sudo apt--jdk lib32z1 lib32ncurses5 lib32bz2-
接下来,准备好cocos2d-x-2.2.6和 android打包工具:
adt-bundle-linux-x86_64-20140702.zip : https://dl.google.com/android/adt/adt-bundle-linux-x86_64-20140702.zip
cocos2d-x-2.2.6.zip: http://cocostudio.download.appget.cn/Cocos2D-X/cocos2d-x-2.2.6.zip
android-ndk-r9d-linux-x86_64.tar.bz2 : http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86.tar.bz2
新建一个Apps文件夹,解压,如下图:
进入cocos2d-x-2.2.6 :
执行
./make-all-linux-project.sh
稍等片刻,它自动会把cocos2d-x的所有项目编译成debug版本和release版本。
进入cocos2d-x-2.2.6/samples/Cpp/TestCpp/proj.linux/bin/debug(或者release),里面有一个TestCpp,执行:
./TestCpp
确保没问题后,我们来创建自己的项目:
进入/XXX/cocos2d-x-2.2.6/tools/project-createor ,执行
./create_project.py -project HelloWorld -package com.HelloWorld.Vin -language cpp
进入cocos2d-x-2.2.6/projects/HelloWorld/proj.linux ,执行
make(或者是make DEBUG=1)
进入bin/debug(或者是release) 执行
./HelloWorld
如果需要添加 .cpp和.h,编译的时候需要修改 cocos2d-x-2.2.6/projects/HelloWorld/proj.linux下的Makefile ,在第8行添加你写的.cpp,然后重新编译即可
-----------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------
android打包:
进入 ~/Apps/adt-bundle-linux-x86_64-20140702/eclipse,
打开eclipse
导入HelloWorld工程 ,File->New->Other..->Android->Android Project from Existing Code
选择cocos2d-x-2.2.6/project/HelloWorld/proj.android
进入后会有错误,先右键工程 ->Properties (也可以快捷键 Alt +Enter) ->Android
把下面的Library里面的 X ../../../cocos2dx-/platform/android/java 那一行东西 Remove掉
然后 Window->Preferences->Android 把SDK路径配置好 ,
SDK Location : /home/vin/Apps/adt-bundle-linux-x86_64-/sdk
然后Window->Preferences->C++->Build->Environment添加NDK路径
Name : NDK_ROOT Value : /home/vin/Apps/android-ndk-r9d
然后导入 libcocos2dx , File->New->Other..->Android->Android Project from Existing Code
选择 cocos2d-x-2.2.6-cocos2dx-platform-android/java
(PS:有时会出现错误,org.cocos2dx.lib找不到,我是通过重启eclipse 重新导入包,先导入libcocos2dx再导入HelloWorld)
点击
Run ->Run
开始编译,其中会出现错误 "make no rule to make target ” ,是关于 CocosStudio/ActionTimeline/CCTimeline.cpp ,找不到CCTimelime.o,导致这个问题是因为在cocos2d-x-2.2.6/extensions下的Android.mk中的106行,
CocoStudio/ActionTimeline/CCTimeline.cpp \
CCTimeline.cpp中的line使用了小写的l ,只要改成大写
CocoStudio/ActionTimeline/CCTimeLine.cpp \
-----------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------
真机测试:
电脑通过usb接入你的手机(我的是魅族mx3),点开 设置->辅助功能->开发者工具->Usb调试 ,把usb调试打开
在控制台下输入
lsusb
上面红色的就是我的mx3 ,要记住 ID 18d1:4e26
进入 Apps/adt-bundle-linux-x86_64_20140702/sdk/platform-tools,
./adb devices
上面355XXXX是我的魅族手机的Serial number ,但是有些手机会出现 ????? no permissions ,例如
接下来 :
设置你的android手机 )编辑一个文件 sudo vim /etc/udev/rules.d/nubia.rules (nubia.rules文件的名字可以随便取) )编辑内容 : SUBSYSTEM==" 其中idVendor=="18d1"和idProduct=="4e26",后面的字符串就是lsusb后显示的ID )sudo chmod a+rx /etc/udev/rules.d/nubia.rules )sudo /etc/init.d/udev restart )重新启动adb server cd Apps/adt-bundle-linux-x86_64_20140702/sdk/platform-tools sudo ./adb kill-server (注意adb所在路径,Apps/adt-bundle-linux-x86_64_20140702/sdk/platform-tools/adb) ) 重新插拔手机 )执行adb devices查看android设备列表,正常情况下能看到你的手机
回到eclipse ,运行,出现android设备
然后就能在手机上运行了 !
-----------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------
Qt Creator
在linux下开发 ,Qt Createor是一个很不错的选择
开打QT
New Project ->Import Project->Import Existing Project ->Choose... Project name : HelloWorld Location: /home/vin/Apps/cocos2d-x-/projects/HelloWorld
在最左栏侧选择Projects
Debug版本设置
Release设置:
然后 按F5 执行 ,
路径为 :/home/vin/Apps/cocos2d-x-2.2.6/projects/HelloWorld/proj.linux/bin/debug/HelloWorld
配置好后功能和Vs2012差不多。
(PS:如果需要添加.cpp文件,需要在cocos2d-x-2.2.6/projects/HelloWorld/proj.linux下的Makefile添加你的文件信息)
ubuntu14.04 + cocos2d-x-2.2.6 + eclipse发布android + Qt Creator4的更多相关文章
- ubuntu14.04 + cocos2d-x-3.6 + eclipse发布android
cocos2d-x-2.2.6版本 :http://www.cnblogs.com/weishuan/p/4698470.html 接下来是3.6了 ,准备好下面四个东东,我把这些都放在XXX/App ...
- Ubuntu14.04 64位运行32位程序
最近公司新增的机器安装Ubuntu14.04 64bit导致之前在32bit下编译的Qt工具软件无法运行. 于是google的了一下找到一些解决办法,但不能保证全部32bit的Qt程序都能正常,测试了 ...
- Ubuntu14.04+eclipse下cocos2d-x3.0正式版环境的搭建
环境: ubuntu14.04 adt-bundle-linux-x86_64 android-ndk-r9d-linux-x86_64 cocos2d-x-3.0正式版 apache-ant 1.9 ...
- ubuntu14.04下手动安装JDK + eclipse + Pydev
说明:本文在root用户下进行,如不是root用户命令前加sodu 一.手动安装JDK 1.下载JDK 从官网http://www.oracle.com/technetwork/java/javase ...
- ubuntu14.04下手动安装eclipse
ubuntu14.04下手动安装eclipse 第一步: 安装jdk 第二步: 下载eclipse,假设下载的文件文件名为eclipse.tar.gz 第三步: 解压 sudo -zxvf ./ecl ...
- ubuntu14.04 64位 安装eclipse
ubuntu14.04 64位 安装eclipse 1 在官网上下载eclipse http://www.eclipse.org/downloads/下载eclipse-jee-luna-SR1-li ...
- ubuntu14.04安装eclipse
1.安装jdk7.x,参考上篇<Linux14.04安装JDK> 2下载eclipse.tar 3.sudo tar -zxvf eclipse-x-x-.tar.gz mv eclips ...
- ubuntu14.04 安装pycharm
参考链接: http://itsfoss.com/install-pycharm-ubuntu/ 怎样在ubuntu14.04上安装pycharm pycharm是一款为python开发而生的IDE. ...
- Ubuntu14.04 安装配置Hadoop2.6.0
目前关于Hadoop的安装配置教程书上.官方教程.博客都有很多,但由于对Linux环境的不熟悉以及各种教程或多或少有这样那样的坑,很容易导致折腾许久都安装不成功(本人就是受害人之一).经过几天不断尝试 ...
随机推荐
- html中显示xml
在工作中经常会遇到一些特殊的要求,比如在html中显示xml,xml的格式跟html很相似,同样包含了标签.属性.值,所以xml的标签等内容会在html中被转义 如果要在html中让xml的内容(包括 ...
- OpenCV中OpenCL模块函数
It currently develop and test on GPU devices only. This includes both discrete GPUs(NVidia,AMD), as ...
- 用java实现Simsimi小黄鸡接口
package com.iask.webchat.chatmachine; import java.io.BufferedReader; import java.io.InputStream; imp ...
- oracle 性能优化--索引总结
索引是建立在表的一列或多个列上的辅助对象,目的是加快訪问表中的数据: Oracle存储索引的数据结构是B*树.位图索引也是如此,仅仅只是是叶子节点不同B*数索引: 索引由根节点.分支节点和叶子节点组成 ...
- java jodd轻量级开发框架
http://git.oschina.net/huangyong/jodd_demo/blob/master/jodd-example/src/main/java/jodd/example/servi ...
- Mysql数据库的mysql Schema 究竟有哪些东西& 手工注入的基础要领
#查看数据库版本号 mysql> select @@version; +------------+ | @@version | +------------+ | 5.5.16-log | +- ...
- vim中systemverilog的高亮显示
vim中systemverilog的高亮显示 Linux中的vim显示systemverilog语法高亮 windows中的gvim显示systemverilog语法高亮 Linux系统 查看打开vi ...
- DataGrid 简单数据绑定实例1
1.默认数据显示(自动显示列) 后台绑定 //DataGrid 数据绑定 dataGridOne.ItemsSource = _Context.Info.ToList(); 前台定义 <Data ...
- zookeeper初体验之关于解决quartz重复执行任务的一种思路
前阵子工作中遇到了一个很麻烦的问题.本人所在的项目组做了一个机遇quartz集群的任务系统.通俗点讲就是用quartz框架(quartz是一款能跑定时任务的框架支持复杂的时间表达式)来执行定时任务.但 ...
- shell的string operator
${varname:-word} 如果varname存在并且不为nil,那么返回varname的值,否则返回word.这个常用来在varname未定义时返回默认值 ${varname:=word} 如 ...