zoukankan      html  css  js  c++  java
  • Cocos2d-x编译Android环境

    1、Android环境搭配:
    NDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。

    3、安装cygwin:
    因为NDK编译代码时必要用到make和gcc,所以你必须先搭建一个linux景象, cygwin是一个在windows平台上运行的unix模仿景象,它对于进修unix/linux操纵景象,或者从unix到windows的应用法度移植,很是有效。经由它,你就可以在不安装linux的景象下应用NDK来编译C、C++代码了

    安装详解:

    你得先跑到http://www.cygwin.com下载setup.exe

    第一步:运行setup程序,第一步图略,直接点击Next进入下一步。


    第二步:选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。

    第三步:选择安装目录,比如C:Cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。

    第四步:设置本地包暂存路径
    暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f这样格式

    第五步:设置网络连接方式

    第六步:选择下载站点地址
    起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。http://mirrors.kernel.org,速度感觉还挺快

    第七步:等待加载安装项载入,选择安装项
    我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。


    第八步:等待下载完成
    下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约950M,下载完成后会自动安装到上文设置的安装目录

    提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。

    第九步:验证Cygwin环境
    安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:
    make -v
    和,
    gcc -v
    如果检测成功,会有make和gcc相关版本信息打印出来。如下图:

    接下来是修改在安装cygwin目录下,如本人安装目录如下C:cygwin64,然后用编辑器点开.bash_profile(在home文件夹下:C:cygwin64homejohn chen),然后在最下面加上ndk路径以及cocos2dx路径:

    #创建NDK的路径,在windows中我的路径为:E:/Cocos2D/android/android-ndk-r9c
    NDK_ROOT=/cygdrive/e/Cocos2D/android/android-ndk-r9c
    #添加到PATH环境变量中
    export NDK_ROOT

    #创建cocos2d-x的路径,在windows中我的路径为:E:/Cocos2D/cocos2d-x-2.2.2
    COCOS2DX_ROOT=/cygdrive/e/Cocos2D/cocos2d-x-2.2.2
    #添加到PATH环境变量中
    export COCOS2DX_ROOT


    重启cygwin,输入:$ cd $NDK_ROOT,可进入ndk对应目录就说明设置OK,如下图:


    在系统变量path后面添加内容:
    D:cygwin64in;

    4、创建Cocos2d-x项目:

    以创建HelloWorld项目为例子,执行create_project.py脚本,进入Doc界面输入下面的命令:

    (1)E  (切换盘符,因为我的Cocos2d-x源码在E盘,create_project.py在该目录下。)

    (2)cd E:Cocos2Dcocos2d-x-2.2.2 oolsproject-creator   (进入到create_project.py脚本所在目录)

    (3)下载python,下载地址:http://www.python.org/getit/releases/2.7/

    (4)运行cmd命令,用python生成HelloWorld项目,命令为:

    python create_project.py -project HelloWorld -package com.cocos2dx.org -language cpp   (其中HelloWorld为工程名称,com.cocos2dx.org为我为android版本取的包标识名,记住包标示名不要出现特殊符号如"-",不然导入到eclipse是将会出现错误。)

     

    从上图可以看出运行该pyhton脚本,会生成针对ios、android、win32、mac、linux等各种平台的项目。

    运行之后,会在相应的E:Cocos2Dcocos2d-x-2.2.2projects目录下找到刚建立的HelloWorld工程,其目录结构如下图:


    5、编译Cocos2d-x项目:
    1)将proj.win32里面的.h以及.cpp文件拷贝到Classes中(如果以后修改那些.cpp文件或.h文件需要继续从proj.win32拷贝到Classes中覆盖掉之前的文件再生成新的android工程)

    2)进入proj.android,用编辑器修改build_native.sh文件
    在 # options下面加入,如下:
    NDK_ROOT=/cygdrive/e/Cocos2D/android/android-ndk-r9c
    COCOS2DX_ROOT=/cygdrive/e/Cocos2D/cocos2d-x-2.2.2
    GAME_ROOT=$COCOS2DX_ROOT/projects/HelloWorld
    GAME_ANDROID_ROOT=$GAME_ROOT/proj.android
    RESOURCE_ROOT=$GAME_ROOT/Resources

    3)进去proj.androidjni下面修改Android.mk,
    将所有.cpp的路径都添加进去即可,如本人增加了下面那些路径

    4)用cygwin编译
    好了 修改完这些保证没错误之后,打开cygwin:
    a、进入下载的Cocox2d-x目录执行下面代码:
    $ cd $COCOS2DX_ROOT
    $ chmod -R 755 *
    说明:上述操作是为了提早消除由于权限引发的潜在问题,如果不做后面可能会遇到权限问题。此步骤执行后,后续再编译就可以跳过,或后续再出现权限问题可再次执行。

    b、a操作执行完后进入项目Android版目录projects/HelloWorld/proj.android
    执行./build_native.sh
    到最后./build_native.sh执行之后没错误的话,它就会生产android项目了(成功的判断是看他是否生产.so文件),路径如下:

    5)在eclipse上运行的android工程,导入projects/HelloWorld/proj.android这个就可以在eclipse上看到该工程了

    项目加载进来后会提示缺少cocos2dx包,我们去cocos2d-x-2.2.2/cocos2dx/pathform/android/java/scr/
    把org文件拷到我们项目HelloWorld/proj.android/src/下,刷新下我们的项目,好了没问题了,可以编译了
    成功运行后会在bin/生成一个apk文件
    如果需要把项目在真机上弄成竖屏,只需在AndroidManifest.xml中改一改, android:screenOrientation="landscape"(横屏),android:screenOrientation="portrait"(竖屏),它默认为横屏。






  • 相关阅读:
    python @ 修饰符
    收集一些NOSQL网站,以后有时间再来写NOSQL的一些心得
    网站性能问答
    CSLA筆記
    Google PR值原理和详细解说
    通天塔导游:各种编程语言优缺点
    网站访客行为和心理分析--决定网站的回头率
    pymongo 基本操作
    [摘]如何成为python高手
    用数组,列表或字典来代替选择语句
  • 原文地址:https://www.cnblogs.com/chenyt/p/3786368.html
Copyright © 2011-2022 走看看