zoukankan      html  css  js  c++  java
  • cocos2dx2.1在Mac OS下编译输出到android手机 过程记录

    之前在win7下使用cygwin+ndk尝试将coocs2dx编译到安卓平台,卡在一些问题上,先放一下,转到mac平台来。

    参考文章:http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started (RaywenderLich的Tutorials写得都很详细,虽然各部件版本不同,整个过程非常有价值)

    系统环境 :mac os x 10.8

    coco2dx版本:2.1.0 beta3 下载解压缩cocos2dx到本机目录

    Eclipse(for mac), 版本使用了google官方提供的adt-bundle-mac-x86_64 (这里没有使用到CDT)下载地址:http://developer.android.com/sdk/index.html

    NDK(for mac),版本为r8d,下载解压到本地目录, 下载地址:http://developer.android.com/tools/sdk/ndk/index.html

    修改coocs2d-x目录下的 create-android-project.sh文件,修改其中的NDK_ROOT_LOCAL 和 ANDROID_SDK_ROOT_LOCAL 为解压的实际路径;

    打开终端,运行coocs2d-x目录下的 create-android-project.sh ,按照提示输入包名,sdk编号,项目名称,成功后会在cocos2dx目录下出现一个和刚输入的项目名称同名的文件夹;

    进入文件夹下的proj.android 目录,在终端下运行build_native.sh,出现提示 please define NDK_ROOT;这个问题windows下也遇到过,两种修改都没有效果,但在mac下两个方法都可以

    1:直接打开该文件,在文件头部输入NDK_ROOT="path",path为ndk的解压目录即可(每个build_native都要)

    2:或者nano ~/.bash_profile文件(若没有,要创建),添加export NDK_ROOT = path (注意没有引号)(推荐)

    运行build_native.sh,编译成功!

    然后打开Eclipse,右键new -> Project... Android -> Android Project from Existing Code , 选择刚才生成的项目名称/proj.android目录 (生成后会发现.java的代码出现错误)

    创建好后右键点击项目, Build Path -> Link Source  选择导入 cocos2dx解压目录->cocos2dx->platform->android->java->src, (reflesh后部分错误消失)

    这里还有个问题,若果选择了安卓4.2的sdk,项目中的AndroidManifest.xml文件中会报一个@drawable/icon文件找不到,因为文件的路径不一样了,切换到Manifest的Application下,选择ic_launcher,错误提示消失;

    连接安卓移动设备(meizu m9),打开调试模式,右键点击项目, Run as ... Android Application ,选择连接好的设备;

    手机上出现cocos2dx的hello程序,那么编译就成功了 :) 如果修改代码,需要删除目录下的/obj , /libs重新运行build_native.sh ,然后记得使用eclipse -> Project -> Clean ... 重新Run;(为了方便也可在build_native文件顶部先加入 rm -rf 两个文件夹);

    Good Luck!

      

     官方的testcpp是巨好的学习资源,按以上的步骤(从build_native.sh开始),可以编译将testCpp到手机上运行:

      

      

  • 相关阅读:
    jquery 监听input的value值改变
    Win10家庭版共享打印机启用Guest账户
    js数组操作大全(pop,push,unshift,splice,shift方法)
    EF Core索引
    工作经验(C++篇)
    FFmpeg编译i386 OSX 脚本
    xcrun -sdk 选择
    Unity GL 画圆
    OpenGL ES无法获取贴图数据原因
    Unity在Android和iOS中如何调用Native API
  • 原文地址:https://www.cnblogs.com/sslin/p/2861383.html
Copyright © 2011-2022 走看看