zoukankan      html  css  js  c++  java
  • cocos2d-x移植:xcode到eclipse

    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是错误的 需要全部小写

  • 相关阅读:
    编译原理三大经典书籍
    c#之委托总结
    shell编程基础
    专家是什么?我真的想知道(转)
    linux sed
    判断一个脚本中的变量是否为空(转)
    JAVA Stack栈和Heap堆的区别(转)
    CMD获取当前目录的绝对路径 (转)
    RTP协议分析
    VS2010旗舰版安装图解
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/3247341.html
Copyright © 2011-2022 走看看