为了有不少走的弯路。这里简要记录cocos2d开发环境的搭建、android开发环境搭建、android NDK环境搭建。终于实现cocos2dx 2.* 游戏Android平台移植。

转载请注明出处:http://blog.csdn.net/oyangyufu/article/details/24498213

cocos2dx 2.* 游戏Android平台移植所须要的必要条件

1、cocos2d开发环境搭建,请见前面写的文档:http://blog.csdn.net/oyangyufu/article/details/24009141

2、android开发环境搭建。请见文档:http://download.csdn.net/detail/oyangyufu/7251299

3、安装包准备:

android-ndk-r9-windows-x86_64.zip下载地址: http://developer.android.com/tools/sdk/ndk/index.html

setup-x86_64.exe下载地址:http://www.cygwin.com/

Android NDK概述

NDK全称:Native Development Kit。

  1、NDK是一系列工具的集合。

  * NDK提供了一系列的工具,帮助开发人员高速开发C(或C++)的动态库,并能自己主动将so和java应用一起打包成apk。这些工具对开发人员的帮助是巨大的。

  * NDK集成了交叉编译器。并提供了对应的mk文件隔离CPU、平台、ABI等差异。开发者仅仅须要简单改动mk文件(指出“哪些文件须要编译”、“编译特性要求”等),就能够创建出so。

  * NDK能够自己主动地将so和Java应用一起打包,极大地减轻了开发者的打包工作。

解压Android NDK至:

D:\android-ndk-r9-windows-x86_64\android-ndk-r9

setup-x86_64安装

步骤:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

安装完毕后桌面会有快捷方式:, 安装文件夹D:\cygwin64下会有文件夹。相当于创建了小型linux系统:

 

測试Cygwin64,Cygwin64终端打开输入gcc -v,例如以下证明成功:

配置Cygwin64环境变量

打开.bash_profile配置文件定义NDK_ROOT、COCOS2D_ROOT变量,让用户每次登入系统自己主动读取此变量

$ vi .bash_profile 在末尾加入例如以下:

保存,重新启动终端。

改动项目c++文件路径

打开/cygdrive/e/cocos2d-x/cocos2d-x-2.2.3/projects/testlianliankan/proj.android/jni/Android.mk, 改动LOCAL_SRC_FILES变量为:

LOCAL_SRC_FILES := hellocpp/main.cpp \

                   ../../Classes/AppDelegate.cpp \

                   ../../Classes/HelloWorldScene.cpp \

                                   ../../Classes/GameLayer.cpp \

                                   ../../Classes/GBKToUTF8.cpp \

                                   ../../Classes/MapLayer.cpp \

                                   ../../Classes/MapNode.cpp \

                                   ../../Classes/PauseLayer.cpp

编译cocos2d-x游戏项目 Android版本号

进入到项目文件夹,运行编译脚本。例如以下:

大概要10分钟编译完毕,在libs/armeabi 下生成libcocos2dcpp.so文件,例如以下:

最后将cocos2d项目导入配置好NDK eclipse来生成apk包。

配置Android NDK环境:

打开eclipse。选择 window->Preferences,配置ndk路径:

移植库与资源

1、将E:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\android\java\src下org 复制到E:\cocos2d-x\cocos2d-x-2.2.3\projects\testlianliankan\proj.android\src以下。以便导入cocos2d项目时能找到cocos2d库。

2、将E:\cocos2d-x\cocos2d-x-2.2.3\projects\testlianliankan\Resources下的资源复制到E:\cocos2d-x\cocos2d-x-2.2.3\projects\testlianliankan\proj.android\assets以下。

项目导入project编译

打开eclipse, file->import

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

勾选要导入项目。Finish。

右键此移植Androidproject,选择properties。再选择Builders->New->program
在Mian页面填入ndk编译路径和localproject路径,例如以下:
D:\android-ndk-r9-windows-x86_64\android-ndk-r9\ndk-build.cmd
 
在Environment页NEW个环境变量:
填写:
NDK_MODULE_PATH
E:\cocos2d-x\cocos2d-x-2.2.3;E:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt
.
 
勾选New_Builder选项。勾去CDT Builder
 
 
然后OK,開始Run.
由于前面已经用脚本编译过了。这时直接不用等直拉把.so生成apk包, 包就在项目的bin文件夹下,生成完自己主动启动模拟器就能够看你的游戏了。 当然
用模拟器调试太慢了,建议还用真机调试,到此大功告成! 附图:
 

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

 

版权声明:本文博客原创文章。博客,未经同意,不得转载。

【winows7+android-ndk-r9+Cygwin 】cocos2dx 2.*游戏移植Android平台完全手册的更多相关文章

  1. Android NDK R9 安装配置 无需Cygwin

    转自:http://www.cr173.com/soft/66623.html NDK是一个工具集,可让您实现您的应用程序使用本机代码的语言,如C和C + +.Android NDK 是在SDK前面又 ...

  2. Android NDK r9的配置与使用

    Android NDK 配置: 网上有很多教程,但大部分是旧版本的内容,最新版本的已经改变,为了让大家少走弯路,在这里针对r9的配置进行记录分享. 要玩NDK,你或多或少要用到以下一些东西,所以先做一 ...

  3. Android NDK开发指南---Application.mk文件和android.mk文件

    https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...

  4. Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8

    在使用Eclipse 直接编译NDK,有时候会报类似以下错误 Android NDK: WARNING: APP_PLATFORM android-14 is larger than android: ...

  5. Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说

    版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...

  6. Android NDK编程浅入深出之--Android.mk

        Android.mk Android.mk是一个向Android NDK构建系统描写叙述NDK项目的GUN Makefile片段.它是每个NDK项目的必备组件. 构建系统希望它出如今jni子文 ...

  7. Cocos2dx开发游戏移植到Android平台

    第一步:安装配置安卓SDK,下载NDK并解压,下载cygwin并安装 第二步:导入platform文件夹下,android文件夹下java文件夹 在eclispe的windows--pereferen ...

  8. findlibrary returned null产生的联想,Android ndk开发打包时我们应该怎样注意平台的兼容(x86,arm,arm-v7a)

    非常多朋友在开发Android JNI的的时候,会遇到findlibrary returned null的错误,由于某种原因,so没有打包到apk中.以下浅析下引起该错误的原因以及平台兼容性问题. A ...

  9. Cocos2d-x游戏移植到Android平台

    1.所需环境支持:Android SDK.NDK.Eclipse.Cygwin.(本人所用系统WIN7-64位) (1)Cygwin的下载安装: Cygwin是Windows下的Linux模拟环境,用 ...

随机推荐

  1. Java算法--串的简单处理

    题目例如以下: 串的处理 在实际的开发工作中.对字符串的处理是最常见的编程任务. 本题目即是要求程序对用户输入的串进行处理.详细规则例如以下: 1. 把每个单词的首字母变为大写. 2. 把数字与字母之 ...

  2. ios开发runtime学习三:动态添加方法(实际应用少,面试)

    #import "ViewController.h" #import "Person.h" /* 1: Runtime(动态添加方法):OC都是懒加载机制,只要 ...

  3. 【solr基础教程之九】客户端 分类: H4_SOLR/LUCENCE 2014-07-30 15:28 904人阅读 评论(0) 收藏

    一.Java Script 1.由于Solr本身可以返回Json格式的结果,而JavaScript对于处理Json数据具有天然的优势,因此使用JavaScript实现Solr客户端是一个很好的选择. ...

  4. jquery-7 jquery中的文档处理方法有哪些(方法的参数表示功能增强)

    jquery-7 jquery中的文档处理方法有哪些(方法的参数表示功能增强) 一.总结 一句话总结:多看参考文档,多看主干目录.一般的功能分两个方法来实现,一个对应标签,一个对应标签和事情,比如克隆 ...

  5. 【codeforces 760B】Frodo and pillows

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  6. Fragment嵌套Fragment时遇到的那些坑

    由于项目要改成MVP模式,自然会用到了Fragment,有时候可能会需要一个Fragment里面嵌套多个Fragment,并且add完成后需要立即刷新子Fragment的View,那么这个时候就会抛出 ...

  7. 【hdu 1527】取石子游戏

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...

  8. 【codeforces 750F】New Year and Finding Roots

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. 开源 RISC-V 架构正在改变 IoT 处理器的游戏规则

    by Paddy McWilliams, Director of Product Marketing, CEVA   在过去的十年里,开源软件已经成为了科技世界最大的催化剂.现在开源的力量带来了自由发 ...

  10. 找不到头文件xxxxx.h file not found

    项目里有该文件,但是还是显示找不到.或者是cocopods打开的项目. 原因:.h文件路径找不到.具体找不到的原因有很多种. 1.一般会设置 IOS引用三方framewrok的头文件出现'xxxxx/ ...