cocos2d-x 安卓环境配置 -转

win7+cocos2d-x-2.1.4+vs2012环境太简单就不多说了,下面是eclipse环境

一、准备

1.eclipse+adt+sdk:adt-bundle-windows-x86_64-20130729.zip

http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20130729.zip

2.ndk:android-ndk-r8e-windows-x86_64.zip

http://dl.google.com/android/ndk/android-ndk-r8e-windows-x86_64.zip

或android-ndk-r9-windows-x86_64.zip

http://dl.google.com/android/ndk/android-ndk-r9-windows-x86_64.zip

3.cocos2d-x-2.1.4.zip

https://cocos2d-x.googlecode.com/files/cocos2d-x-2.1.4.zip

http://cocos2d-x.googlecode.com/files/cocos2d-x-2.1.4.zip

4.JDK:jdk-7u25-windows-x64.exe

http://download.oracle.com/otn-pub/java/jdk/7u25-b17/jdk-7u25-windows-x64.exe?AuthParam=1376980954_2e476db738ca2e49a6952afec4e10cdc

二、配置java环境

JAVA_HOME:D:\Andorid\Java\jdk1.7.0_25(安装路径

CLAsspATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

然后命令行:java -version

命令行:java

命令行:javac

到此java环境完成

三、配置eclipse(此来自部分网络,自己配图并配置完成,以备电脑重装)

  • 打开eclipse,点击window->perfernces->Android,在SDK Location中填上刚刚下的adt-bundle-windows-x86_64-20130729.zip解压后的D:\Andorid\adt-bundle-windows-x86_64-20130729\sdk(自己的解压路径)
  • Android->NDK中填ndk路径 D:\Andorid\android-ndk-r9(自己的解压路径)
  • 导入Cocos2dx例子工程:Eclipse中File->New->Other...选择Andriod Project from Existing Code在Import Projects的Root Directory中导入D:\Andorid\cocos2d-x-2.1.4\samples\HelloCpp\proj.android\(注意,不要选中 copy project into workspace,否则路径编乱很难编译成功)
  • 接着点击一下添加的HelloCpp项目,然后Project->Properties->Builder->New->Program

这里去掉CDT Builder的勾 因为我们要自己创建一个,并且不受这个的影响

在Main标签中手动填NDK编译命令行D:\Andorid\android-ndk-r9ndk-build.cmd,点击第二个browser Workspace选中当前工程,出现${workspace_loc:/HelloCpp} 换到Environment标签中,点击NEW新建NDK_MODULE_PATH 填写D:\Andorid\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt

  • porject->clean
  • Run As->Android Application.
  • 记得将D:\Andorid\cocos2d-x-2.1.4\cocos2dx\platform\android\java\src\org\cocos2dx路径下的 lib文件夹复制到D:\Andorid\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\src\org\cocos2dx

8.用ndk9可能出现error: format not a string literal and no format arguments

D:\Andorid\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\jni\appliction.mk打开,在最后加上
APP_CFLAGS += -Wno-error=format-security


四、一些问题的解决方案(以下来自网络)

    • 本文链接http://zengrong.net/post/1882.htm
    • 配置成功以能运行HelloCpp/proj.android项目为准。

      1. Library错误

      导入HelloCpp项目后,在 “项目属性-Java Build Path-source” 中加入cocos2d-x-2.1.4\cocos2dx\platform\android\java路径。然后进入 “项目属性-android-library”,删除这里的“Reference Project”,否则怎么编译都会报错。cygwin环境和ndk only环境均会出现。切记切记!

      2. NDK_MODULE_PATH 环境变量配置

      具体的路径可以查看cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\build_native.sh的最后几行。cygwin环境不需要设置这个变量,直接执行build_native.sh即可。

      这个环境变量可以配置在Windows系统环境变量中,也可以配置在Eclipse项目的builder属性中,还可以直接配置在project/jni/Application.mk文件中。

      若配置在Application.mk文件中,可以这样写:NDK_MODULE_PATH:=cocos2d-x-2.1.4;cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt

      3. Fatal signal 11 (SIGSEGV) at 0×00000000 (code=1)

      apk打包成功,安装执行后出现这个错误退出。这一般是由于C++编译失败造成。对于cygwin环境,再执行build_native.sh编译一次即可成功;对于ndk only环境,也需要重新执行一次编译(如果没有配置自动刷新,那么可以手动选择Run-build project)。

      4. 建立自定义builder的问题

      死去活来和网上其他文章都提到为了不依赖cygwin,需要在 “项目属性-Builders” 中建立一个新的buildr调用NDK提供的ndk-build.cmd来编译。这样做有2个问题:

      1. 没有强调 Builder 的编译顺序。认新建的Builder是处于所有已有Builder的末尾,这可能会导致Android Package Builder等Builder依赖错误
      2. 认存在的 “CDT Builder” 依然是调用bash build_native.sh来编译,若没有安装cygwin,可能会出现下面的错误

        bash D:/cocos2d-x/cocos2d-x-2.1.4/samples/Cpp/HelloCpp/proj.android/build_native.sh clean
        Cannot run program "bash": Launching Failed
        Error: Program "bash" not found in PATH

      我认为正确的做法是,不必新建一个Builder,而是调整现有的Builder的属性

      1. 调整 “项目属性-C/C++ Builder” 选项,将 “Build command” 的值从原来的bash ${ProjdirPath}/build_native.sh设置为x:\android-ndk-r8e\ndk-build.cmd
      2. 调整 “项目属性-C/C++ builder-Environment” 选项,加入 NDK_MODULE_PATH 环境变量,其值与上面介绍的相同。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...