Mac系统cocos2dx + android 开发环境配置

时间:2023-03-13 13:34:50

Mac系统cocos2dx + android 开发环境配置

/******************************************************

这遍文章主要转载自:http://www.cnblogs.com/wt616/p/3758828.html(这位大哥真的很牛,谢谢!)

然后,文章中又加入了一些自己的理解以及在实际操作过程中遇到问题的解决办法。而这些办法也是来自于伟大

的网友,但由于搜索的比较多,很多出处地址都没有记录好,抱歉,若你们看到,告诉我,我再加上地址。

******************************************************/

环境搭建步骤

  1. 所需软件及下载地址

    (1) Mac系统,我的版本:OSX Yosemite10.10

    (2) cocos2dx,我的版本:cocos2d-x-2.2.3

      下载地址:http://www.cocos2d-x.org/download

    (3) Eclipse for Mac , Android SDK(ADT)

    这两个使用最新的版本即可,而谷歌已经把这两个打包在一起了,很大程度上减少了Eclipse+Android开发环境搭建的工作,简称为the Eclipse ADT bundle,包括了开发需要的软件或SDK;建议不单独下载,直接下载ADT,下载地址:http://developer.android.com/sdk/index.html,记得选择Mac版本,32位或64位。

    我的版本:adt-bundle-mac-x86_64-20140702

    (4) NDK

    NDK是用c/c++开发Android程序的工具。

    下载地址:http://developer.android.com/tools/sdk/ndk/index.html,记得选择Mac版本,32位或64位。

     我的版本:android-ndk-r10c

    (5) JDK,JRE

     据网友介绍,不用下载,当首次运行Eclipse时,会提示没有JDK,然后可以自动下载。可是我是自己下载的。

      我的版本:jre-8u25-macosx-x64.dmg,jdk-8u25-macosx-x64.dmg

      下载地址:

        http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

        http://www.oracle.com/technetwork/java/javase/downloads/index.html

      安装完成后,运行Eclipse,准备尝试下,但Eclipse打不开,提示需要JavaSE6,那么问题来了,据网友介绍,Mac系统从10.10开始已经不支持JAVASDK1到7了,只能使用最新版本的Java,那么怎么解决没有JavaSE6打不开Eclipse的问题呢?

  解决办法如下:

    1) 进入目录(java实际安装目录):Macintosh HD/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/

    2)修改其中的Info.plist文件

     把

    <key>JVMCapabilities</key>

      <array>

            <string>CommandLine</string>

      </array>

    修改为

     <key>JVMCapabilities</key>

       <array>

            <string>JNI</string>

            <string>BundledApp</string>

            <string>WebStart</string>

            <string>Applets</string>

            <string>CommandLine</string>

       </array>

    当然,Info.plist文件是没有修改权限的

    需要sudo一下,然后使用chmod a+w 命令修改该文件为可写的,使用nano或者vim修改此文件。

    (6) 建议

      建议把以上解压到同一工作目录下,如解压在Projects目录下,Projects/cocos2d-x-2.2.5,Projects/adt-bundle-mac-x86_64-20140702,Projects/android-ndk-r10c。

  2.  新建cocos2dx项目

  (1) 打开终端

  (2) 进入project-creator目录

      cd ***/Projects/cocos2d-x-2.2.3/tools/project-creator

  (3) 执行create_project.py脚本,生成cocos2dx各个版本的工程文件

      ./create_project.py -project MyProjectName -package com.packagename.myprojectname -language cpp

      格式说明:

          MyProjectName,项目名称,自己设定

          com.packagename.myprojectname,包的名称,自己设定

  (4) 执行脚本后,生成的工程文件放在Projects/cocos2d-x-2.2.3/projects目录下。

      其中proj.ios是ios工程文件所在目录。

      proj.android是android相关文件所在目录。

  (5) 建议

      每次进行Android移植前,最好先在ios下编译运行通过没有问题,再进行android相关操作。

  3.  Android 相关环境变量配置

  (1) 打开终端,输入 pico .bash_profile,回车

  (2) 输入以下配置:

      export ANDROID_SDK_ROOT= ***/Projects/sdk/

      export ANDROID_NDK_ROOT=***/Projects/android-ndk-r9d/

      export COCOS2DX_ROOT=***/Projects/cocos2d-x-2.2.3/

      export NDK_ROOT=***/Projects/android-ndk-r9d/

      export PATH=$PATH:$ANDROID_SDK_ROOT

      export PATH=$PATH:$ANDROID_NDK_ROOT

      其中,***是全路径,如/Users/YourName/Documents

      “=/”都不要有空格,否则配置无效。

      输入完成后,Control + x 保存,然后 Y,回车,搞定。

  (3) 检测配置是否成功

      关闭 终端,然后重新打开终端。

      若配置有问题,则终端会提示:-bash: exoort: command not found

      若没有提示,就是配置成功。

  4. 创建第一个Android项目

  (1) 启动Eclipse,new -> Project,选择Android Project From Existing Code,Browse到刚才创建的cocos2dx工程目录下的proj.android,记得取消Copy projects to workspace,否则编译有问题;然后,finish创建完成。

   (2) 首次导入项目,会自动生成入口Activity,继承自Cocos2dxActivity。第一次,需要手动导入,方法是:再新建一个Project,选择Android Project from Existing Code,Browse到***/Projects/cocos2d-x-2.2.3/cocos2dx/platform/android文件夹即可。

  (3) 编译之前,在build_native.sh中的# options下需要添加NDK_ROOT :NDK_ROOT= “***/Projects/android-ndk-r10c”。

  (4) 编译错误问题:

      1)’transform' is not a member of ‘std’的错误问题,解决办法,在labelReader.cpp中加入头文件:#include <algorithm>。

      2)找不到头文件问题:

                 #include “AppDelegate.h”

                  #include <jni.h>

                  #include <android/log.h>

        解决办法:搜索网友遇到的问题及解决办法,核对了下工程下的properties->C/C++ General下的Paths and Symbols里的各项路径配置的都没有问题。而我的问题是:刚打开Eclipse运行没有问题,只要打开一次main.cpp,就会报错,重启Eclipse就没有这个问题了,不打开main.cpp就不会有问题。暂时就这样吧,已经深夜,改天再查这个问题,若网友大神知道是什么问题,望交流啊。

  5. 编译和运行

  (1) 编译,生成.so库

    打开终端,执行脚本***/proj.android/build_native.sh

    编译出错的话,会提示,然后根据提示修改。

    编译成功,会出现:

      [armeabi] Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so

  (2) 运行,生成apk

    在eclipse里,点击运行,直接生成apk文件。

      注意:在每次编译build_native.h成功后,右键eclipse中选中工程文件,点击Refresh刷新工程,替换掉eclipse中原先的.so文件,然后打包生成apk。

  (3) 安装调试程序

    若已经配置好Android虚拟机,运行时可以选择,然后直接在虚拟机上看程序效果。

    若想在真机上安装程序,有两个方法:

      1)把生成的apk文件,在proj.android/bin目录下,通过android管理软件或者其他方法,把apk放到手机上,然后手动安装,运行。

      2)手机打开开发者模式,通过USB把手机连接到电脑上,打开手机的USB调试,eclipse识别了手机后,点击运行,直接可以把apk安装到手机上。记得要在手机未锁屏的状态下操作。这个办法只适用部分手机,有的手机必须手动安装apk。