xcode程序移植到eclipse

必要组件:

1.macos gcc编译器,若没有,在xcode->preference->downloads中下载command line tools(在命令行下输入g++,若显示command not found 则没有)

2. android sdk :本机目录为 /Users/zhangyao/IDE/android-sdk-macosx

3.cocos2d-x:本机目录为  /Users/zhangyao/Desktop/cocos2d-x-2.1.1

4.ndk  本机目录为 /Users/zhangyao/Desktop/android-ndk-re8

地址:http://developer.android.com/tools/sdk/ndk/index.html

选择macos 64bit

5.cdt  若没有 则在help->install new software中下载

Programming Languages->C/C++ Development Tools.

1.配置环境变量

终端中 输入 sudo vi ~/.bash_profile

输入i进入编辑环境 输入以下内容:

export COCOS2DX_ROOT=~/Desktop/cocos2d-x-2.1.1/

export NDK_ROOT=~/Desktop/android-ndk-r8e/

export ANDROID_SDK_ROOT=~/IDE/android-sdk-macosx/

export PATH=$PATH:$ANDROID_SDK_ROOT/tools

按下esc键退出编辑

输入:wq保存退出

2.在eclipse中创建项目(设项目名称为test)

cd Desktop/cocos2d-x-2.1.1

./create-android-project.sh

输入工程标志符com.cwa.test

选择android版本号:6

输入工程名:test

cd test/proj.android/

./build_native.sh

打开eclipse,选择file->new->other->Android->Android Project from Existing code->next->Browse->选择目录至cocos2d-x-2.1.4/test/project.android->finish

选择file->new->other->c/c++->convert to a c/c++ Project->next->选择上面建好的工程->finish

至此工程test创建完成

3.配置工程属性

右键工程名->properties

3.1 c/c++ Build 把use default build command的勾去掉,在build command中写(其中test为工程名):

bash ${workspace_loc:/test}/build_native.sh NDK_DEBUG=1 V=1

3.2 点开c/c++ Build 选择Environment->add

name:NDK_ROOT

value:/Users/zhangyao/Desktop/android-ndk-r8e

3.3 c/c++ General->Path and Symbols->add

/Users/zhangyao/Desktop/android-ndk-r8e/sources/cxx-stl/system/include

全部修改完,点OK

在GUN C++中加入

/Users/zhangyao/Desktop/cocos2d-x-2.1.1/cocos2dx/include

/Users/zhangyao/Desktop/android-ndk-r8e/platforms/android-14/arch-arm/usr/include

在Android中 最好选择最新的Android4.2.2(确保Andorid模拟机中已经下载好了4.2.2的API)

4.打开项目的AndroidMainfest.xml

把android:icon="@drawable/icon">一行改为android:icon="@drawable/ic_launcher">


        android:minSdkVersion="8"


把8改成14


        android:minSdkVersion="14"


关闭AndroidMainfest.xml    save changes选yes

在src/org.cocos2dx.lib/Cocos2dxActivity.java中

在// ...add to FrameLayout

framelayout.addView(this.mGLSurfaceView);

这句后面加上一句(如果没有):

this.mGLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);

打开工程jni目录下的Android.mk ,修改成下图所示

MY_CPP_PATH := $(LOCAL_PATH)/ \

$(LOCAL_PATH)/../../Classes/

MY_FILES_SUFFIX := %.cpp

My_All_Files := $(foreach src_path,$(MY_CPP_PATH),$(shell find $(src_path)/.))

My_All_Files := $(My_All_Files:$(MY_CPP_PATH)/./%=$(MY_CPP_PATH)%)

MY_CPP_LIST := $(filter $(MY_FILES_SUFFIX),$(My_All_Files))

MY_CPP_LIST := $(MY_CPP_LIST:$(LOCAL_PATH)/%=%)

LOCAL_SRC_FILES := $(MY_CPP_LIST)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

LOCAL_C_INCLUDES += $(shell ls -FR $(LOCAL_C_INCLUDES) | grep $(LOCAL_PATH)/$)

LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES:$(LOCAL_PATH)/%:=$(LOCAL_PATH)/%)

把cocos2d-x引擎的根目录的cocos2dx/platform/android/java/src文件夹下org文件夹 复制到项目的src包(test/proj.android/src)下替换org文件夹

5.把xcode中所有的自建的类文件(包括.h和.cpp)复制到cocos2d-x-2.1.1/test/Classes

所有的资源文件复制到cocos2d-x-2.1.1/test/Resources

工程的图标文件放在cocos2d-x-2.1.1/test/res下的文件夹中

至此工程配置完毕。

在对工程作出修改,比如加入/替换新的资源文件,class后,最好对工程clean一下,如果clean后还出现问题,可以重新执行一下build_native命令。

Test 的 模拟器配置

最后,执行以下步骤可以把xcode和eclipse相关联,让在xcode中做的更改,eclipse可以自动做出更改。

1.打开Xcode中的test项目(项目名和eclipse中的相同)

选择classes分组,点删除,选择Move to Trash

2.在工程中添加新group,还命名为classes,右键classes->addFIles

然后把cocos2dx/test/classes中的类都添加回来,这样eclipse和xcode就公用了这些文件,在一个中做出更改,另一个里就会自动更改,如下图:

另:1. Android联网

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2.android中的R文件 ,是伴随着加入资源等自动更新的

Android 在开发中会自动生成一个 R.java 文件 ,这个文件是自动生成的,最好不要去改。不过有时候这个 java 文件会跟我们捉迷藏,在程序中 R.xx.xxx 会出现经常报错现象。
1  对着工程点击鼠标右键 选择 Build Project,R.java 文件又回来。这样R.xx.xxx 就能 X 的出来了。
 
如果不行 试用第二种 方法

2 选择eclipse/myeclipse 的 clean  这样R文件也会出现
如果还不行 试用第三种

3 经过上面两种方法都不行 使用绝招 从别的工程中拷贝一份R文件过来 然后string.xml里随便改动一下 即可更新R文件 
如果还不行 试用第四种

4 经过上面的3种方法都不行 说明我们的工程有问题 好好检查吧
   比如resoure资源中的文件 命名,例result_main.xml,如果写成Result_main.xml是错误的 需要全部小写

cocos2d-x移植:xcode到eclipse的更多相关文章

  1. 从mac终端创建cocos2d-x项目在xcode和eclipse正常运行环境配置

    一.创建可以同时运行在xcode和eclipse的项目: 1.打开mac终端,进入cocos2d-x目录下的tools/project-creator,执行命令./create_project.py ...

  2. Xcode自定义Eclipse中常用的快捷键

    转载自http://joeyio.com/2013/07/22/xcode_key_binding_like_eclipse/ Xcode自定义Eclipse中常用的快捷键 22 July 2013 ...

  3. xcode 自定义Eclipse里边常用的快捷键

    之前在用Eclipse写Java的 时候,有几个常用的快捷键,比如删除当前行,在当前行下面插入空行,向上/下移动当前行等等,到了Xcode里怎么也找不到这些快捷键,一直觉得 Xcode自带的快捷键不够 ...

  4. Xcode添加 eclipse 删除行、复制行快捷键

    在使用eclipse过程中,特喜欢删除一行和复制一行的的快捷键.而恰巧Xcode不支持这两个快捷键,再一次的恰巧让笔者发现了一个小窍门来增加这两个快捷键,以下是步骤: <p> </p ...

  5. u-boot-2014.04移植FL2440(使用eclipse编辑uboot)

    1.首先安装eclipse 安装指令 : apt-get install eclipse 使用上面的命令会安装好jdk 和eclipse,eclipse必须在Java环境执行,所以须要安装jdk环境. ...

  6. 关于cocos2d这个东西

    我是在今年6月份左右接触到cocos2d这个东西的,当时就是想写个小游戏,结果买书的时候误打误撞就买了cocos2d的书. cocos2d是一个开源的游戏引擎,用于构建2d游戏,同时也可以用它写各种图 ...

  7. Android导入Cocos2D的Sample项目

    导入Cocos2D项目到Android的Eclipse时注意以下几点 1. Set up Variables: Eclipse->Windows->Preferences->Gene ...

  8. Xcode下的中文乱码问题

    Xcode下的中文乱码问题 转载自:http://linyehui.me/2014/07/09/convert-gbk-to-utf8-on-mac.html =========== 问题原因 绝大部 ...

  9. Ubuntu14.04LTS下使用eclipse搭建Cocos2d-x的Android环境

    from://http://www.58player.com/blog-2534-94136.html 最近想玩玩游戏制作,于是选择了目前流行的游戏引擎Cocos2d-x,这个东西虽然有Android ...

随机推荐

  1. spring注解没起作用

    本文为博主原创,未经允许,不得转载: 今天在写一个功能的时候,用的是springMVC的注解,当整个的功能写完在调试的时候, 从浏览器请求一直请求不到,仔细检查代码的时候也没检查出逻辑的问题,关键的问 ...

  2. 【转】<c:forEach varStatus="status">中 varStatus的属性简介 及应用

    转载原因:在做页面的时候,需要在页面中判断循环了第几次和一共循环了多少次,在网上搜集的时候,看到这篇帖子,觉得太全面了,于是转载了.... varStatus是<c:forEach>jst ...

  3. mini Linux制作过程(25/01)

    Mini Linux: 启动流程: 参考:https://blog.csdn.net/gatieme/article/details/50914250 https://linux.cn/article ...

  4. Activity生命周期之我见

    关于Activity生命周期的文章很多,而且大部分也说得很详细,所以作为关于这方面的内容我本来不想多说,但是大家可能跟我之前一样,在看这方面的内容的时候都能很容易地看懂,但是过几天又忘了,或者在用的程 ...

  5. python 函数参数介绍

    python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...

  6. Java基础-this关键字和构造方法(10)

    this关键字 方法被哪个对象调用,this就代表那个对象当局部变量隐藏成员变量时,使用this关键字(例如构造方法和访问器). 构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法 ...

  7. 『Pandas』数据读取&DataFrame切片

    读取文件 numpy.loadtxt() import numpy as np dataset_filename = "affinity_dataset.txt" X = np.l ...

  8. 『cs231n』作业2选讲_通过代码理解Dropout

    Dropout def dropout_forward(x, dropout_param): p, mode = dropout_param['p'], dropout_param['mode'] i ...

  9. Oracle11g温习-第四章:手工建库

     1.create database plan 1.库类型:   OLTP :  在线事务处理系统   OLAP : 在线应用处理系统   DSS :    数据决策系统 2.数据库名字及字符集 3. ...

  10. Oracle11g温习-第三章:instance实例管理

    2013年4月27日 星期六 10:30 1.instance 功能:   用于管理和访问database. 2.init parameter files :管理实例相关启动参数.位置:$ORACLE ...