• cocos2d-x 学习笔录:将iOS项目编译成Andriod项目


    一、Android 环境搭建

    1、安装Andriod-NDK(Native Development Kit)

      新建一个文件夹(eg:NDK),解压Android-NDK,将解压文件与压缩包放在一个目录下(eg:放在NDK中)。

    2、安装cocos2d-x

      解压cocos2d-x源文件到任意目录(一般放在你Workspace一起)。

      修改create-android-project.sh文件,修改NDK_ROOT_LOCAL和ANDROID_SDK_ROOT_LOCAL的值,如下:

      NDK_ROOT_LOCAL="/NDK/android-ndk-r8c"(NDK的路径)

      ANDROID_SDK_ROOT_LOCAL="/Users/tfmacmini02/android-sdk-macosx"(Android SDK(Mac OS X平台)路径)

    二、Android 编译

    1、进入cocos2d-x源文件目录下,执行cocos2d-x下的create-android-project.sh文件(./create-android-project.sh)来创建android项目。

    eg:TF-no-Mac-mini:cocos2d-x-2.1.5 tfmacmini02$ ./create-android-project.sh

    2、输入包名,包名输入iOS项目中.plist文件的Bundle identifier即可。

    eg:Input package path. For example: org.cocos2dx.example

      net.twinfish.DragGame

    3、选择Android支持的版本。

    eg:Now cocos2d-x supports Android 2.2 or upper version

    Available Android targets:
    ----------
    id: 1 or "android-8"
    Name: Android 2.2
    Type: Platform
    API level: 8
    Revision: 3
    Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854
    ABIs : armeabi
    ----------
    id: 2 or "Samsung Electronics Co., Ltd.:GALAXY Tab Addon:8"
    Name: GALAXY Tab Addon
    Type: Add-On
    Vendor: Samsung Electronics Co., Ltd.
    Revision: 1
    Based on Android 2.2 (API level 8)
    Skins: WVGA854, WQVGA400, GALAXY Tab (default), HVGA, WQVGA432, WVGA800, QVGA
    ABIs : armeabi

    然后输入id号选择版本

    eg:input target id:

      1

    4、输入工程名称

    eg:input your project name:

    DragGame

    5、Android工程创建完成,在cocos2d-x目录下生成了对应的Android项目。

    NOTE:

    1)、工程创建完成后,将iOS项目的Classes(iOS自己新建的类都放在Classes下)下的文件全部copy到Andriod项目下的Classes下,

      还有Resources下同样也是全部copy(但是iOS下Resources可能有多级目录,Android下只能都放在Resources这个目录下,不能分子目录)。

    2)、修改proj.android/jni/Android.mk文件,修改 LOCAL_SRC_FILES” 的值,将Classes下的 实现文件(除头文件,eg:cpp、mm)的目录都添加进去。

      eg:LOCAL_SRC_FILES := hellocpp/main.cpp

                       ../../Classes/AppDelegate.cpp

                       ../../Classes/GameLayer.cpp

                       ../../Classes/BoxSprite.cpp

                       ../../Classes/BallSprite.cpp

    6、然后对该项目进行编译,进入项目下的proj.android目录。

    eg:TF-no-Mac-mini:cocos2d-x-2.1.5 tfmacmini02$ cd DragGame/proj.android/

    NOTE:

      修改build_native.sh文件,添加下面这条语句到顶部。

      export NDK_ROOT=/NDK/android-ndk-r8c

      当然,为了满足项目需求,可能还需要修改其他的一些,具体因项目而定。

    7、执行build_native.sh文件进行编译(./build_native.sh),这里可能需要几分钟。

    eg:StaticLibrary : libchipmunk.a

    Prebuilt : libwebsockets_static.a <= /Users/tfmacmini02/Projects/cocos2d-x-2.1.5/DragGame/proj.android/../../external/libwebsockets/android/./lib/armeabi/
    StaticLibrary : libextension.a
    SharedLibrary : libgame.so
    Install : libgame.so => libs/armeabi/libgame.so
    make: Leaving directory `/Users/tfmacmini02/Projects/cocos2d-x-2.1.5/DragGame/proj.android'

    8、然后你就可以通过eclipse导入(import),进行编译运行。但是必须在eclipse下导入cocos2d-x的platprom/android/java文件(cocos2d-x的andriod平台支持文件)。

  • 相关阅读:
    SQliteDatabase详解
    Eclipse常用快捷键
    Android 省市区三级联动
    关于安卓9patch图片的探究
    9patch
    Day3_UI布局--FXQ
    day2-UI布局
    Day01_扩展_Genymotion模拟器的使用
    React Examples
    React项目结构
  • 原文地址:https://www.cnblogs.com/angzn/p/3328049.html
Copyright © 2020-2023  润新知