• Cocos2d-x 3.2 项目源代码从Mac打包到安卓教程【转自:http://www.2cto.com/kf/201410/342649.html】


    当我们用Xcode写好一个项目的源码之后,如何将它导入到安卓手机中呢?下面我来给大家一步一步讲解:

    首先,我们打开终端,cd到Cocos2d-x 3.2文件夹中(注意不是你写的项目文件夹,而是官方项目源码。下载地址http://cn.cocos2d-x.org/download/),然后执行如下命令:

    ./setup.py

    这时大家会看到它在Check NDK,Android_SDK,ANT的路径,如果先前没有设置的话再执行如下命令:

    vi /Users/donliu/.bash_profile

    注意!!!vi后面的路径是你自己的,在执行完第一条命令后他会告诉你地址,直接复制粘贴就好了。

    执行完后大家会看到我们用vi打开了一个文件,现在我们在对其中加入NDK,Android_SDK,ANT的路径。

    当然加入之前我们要先下载,可能有些资源需要翻墙(什么你不会翻墙?不会翻墙你当什么程序员!)。

    ANT下载地址:http://ant.apache.org/

    Android_SDK下载地址:https://developer.android.com/sdk/index.html?hl=i

    NDK下载地址:https://developer.android.com/tools/sdk/ndk/index.html

    另:若NDK版本是r10编译时说没有找到tool chain的话就换成r9c吧。

    全部下载完成后将一下代码导入到刚刚用vi打开的文件中(什么你不会用vi?!不会用vi你当什么程序员!用法自行谷歌!):

    export ANDROID_SDK_ROOT=/Users/donliu/Desktop/cocos2dxandroid/adt-bundle-mac-x86_64-20140702/sdk

    export NDK_ROOT=/Users/donliu/Desktop/cocos2dxandroid/android-ndk-r9c

    export ANT_ROOT=/Users/donliu/Desktop/cocos2dxandroid/apache-ant-1.9.3

    注意等号后面的是你自己的路径。(注意ANDROID_SDK_ROOT后面的路径不是adt,而是里面的sdk)。

    好,这样一来我们的先前工作就算是布置完毕了。以后再打包的时候不用再重复以上步骤了(废话我们知道!快讲怎么编译啊!)。

    OKOK,不要急不要急。

    下一步,我们打开刚刚下好的SDK里的eclipse,左上角File,Import,Android里的Existing Android Code Into Workspace。

    右边Browse,选择你写的项目源码文件夹,进入里面的proj.android文件夹,点击Open,然后绝对不要选Copy projects into workspace,直接Finish。

    这是在我们的左侧的Package Explorer里我们可以看到项目名Project了。 但是上面有个红叉,由于强迫症我们首先把红叉干掉。

    在Finder中找到项目源码文件夹,依次进入cocos2d->cocos->platform->android->java->src->org->cocos2dx

    复制整个lib文件夹到项目源码文件夹下proj.android->src->org->cocos2dx下。让他lib和cpp在一个目录里出现。

    OK,我们关掉Finder,切回eclipse,在整个项目上右键Refresh然后神奇的一幕出现了:红叉消失了!变成了叹号。好我们开始无视叹号(说好的强迫症呢? 尼玛你写程序的时候把每个Warning都干掉?什么?是的?好吧给大神跪了。)

    下一步,打开jni文件夹找到Android.mk,双击它,在右边看到其中有一行是:

    LOCAL_SRC_FILES

    我们对它后面的代码进行更改。默认的后面只有:

    hellocpp/main.cpp

    ../../Classes/AppDelegate.cpp

    ../../Classes/HelloWorldScene.cpp

    但显然你不可能在Classes下只有这么几个.cpp(什么你就在HelloWorldScene里写了点东西其他没懂?好吧。),于是我们对其进行更改,改成你Classes下的所有.cpp(注意不写.h),格式要和他给的一样。比如我的是:

    LOCAL_SRC_FILES := hellocpp/main.cpp

    ../../Classes/AppDelegate.cpp

    ../../Classes/Select.cpp

    ../../Classes/Game.cpp

    ../../Classes/Wall.cpp

    ../../Classes/Ball.cpp

    改完之后记得保存。

    下面一步我们来添加Resource。在Finder中打开你的项目源码文件夹,把Resource里的全部资源拷贝到proj.android->assets文件夹下(没有这个文件夹的话就建立一个)。

    同样,切回eclipse后刷新一下。

    然后我们打开jni文件夹下的Application.mk,将其内容改为如下:

    APP_STL := gnustl_static

    APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1 -std=c++11 -fsigned-char

    记得保存!笔者有一次调了半天不行结果一看是因为没保存!哭瞎了简直……

    OK,到了最关键的一步了,编译!打开终端,cd到项目文件夹,执行如下命令:

    cocos compile -p android

    回车开始编译。编译过程会比较慢,大家可以泡杯咖啡等待一下……

    如果在

    [armeabi] Compile++ thumb: cocos2dcpp_shared <= main.cpp

    [armeabi] Compile++ thumb: cocos2dcpp_shared <= AppDelegate.cpp

    这种地方报错,一定是因为你的Android.mk里面写错了,好好检查下。

    如果检查好了没有错,那么仔细看看错误提示,改一下对应的cpp源码,笔者也就遇到过一次记不大清了。

    等终端运行结束后,发现最后有错误不用管,只要有一条:

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

    只要有这条,就说明编译成功了。我们切回eclipse,刷新一下项目,检查libs->armeabi下有没有 libcocos2dcpp.so,如果有的话OK,直接给电脑插上安卓手机右键项目,Run As->Android Application 然后选择自己的手机开始测吧!


    可能有以前没打包过APK的,这里再讲一下如何打包成APK。

    右键项目,Export,Android->Export Android Application 点击Next,默认是右键点到的项目,继续Next,这里有一个Keystore selection,第一次打包的同学选择Create new keystore,然后Browse随便一个文件夹(废话当然要记住放哪儿了),密码和确认填好,Next。

    接下来同学们就自己填吧,注意Validity要在25以上,Next。

    剩下就不用说了。填好应用名直接Finish就OK了。生成的APK可以直接在安卓手机上安装。

  • 相关阅读:
    使用go-fuse开发一个fuse 文件系统
    awesome-fuse-fs
    jdk 容器运行环境指定时区
    几个不错的golang工具包
    golang 一些不错的log 包
    mysql_fdw 集成go-mysql-server 开发的mysql server
    一些不错的golang web 框架
    golang gomail+fasttemplate+mailhog 发送邮件
    golang go-simple-mail+fasttemplate+mailhog 发送邮件
    实现一个简单的golang db driver
  • 原文地址:https://www.cnblogs.com/hackerl/p/4694022.html
Copyright © 2020-2023  润新知