当我们用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的路径。

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

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可以直接在安卓手机上安装。

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

  1. 文顶顶iOS开发博客链接整理及部分项目源代码下载

    文顶顶iOS开发博客链接整理及部分项目源代码下载   网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程 ...

  2. cocos2d导入iOS原生项目

    最近公司最新发下任务让融合一个cocos2dx写的游戏项目融合进现有项目,当看到要求时内心瞬间无数羊驼奔腾.------ 虽说内心是拒绝的,但是任务已经派发就必须要完成啊.所以在网上搜了大量的融入教程 ...

  3. 手把手教你如何使用Cocos2d Console 进行html5项目发布

    手把手教你如何使用Cocos2d Console 进行html5项目发布   1.首先需要先安装Cocos2d Console运行需要的工具. 详情参见 这篇文章 http://www.cocoach ...

  4. springBoot 搭建web项目(前后端分离,附项目源代码地址)

    springBoot 搭建web项目(前后端分离,附项目源代码地址)   概述 该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端 ...

  5. springboot将项目源代码打包

    springboot将项目源代码打包并发布到仓库 如果我们有一些类和方法是公用的,可以打开公用包,而这时使用默认的build方式都所有依赖都打进去,而且你当然项目的文件虽然在包里,但却在boot-in ...

  6. 基于Asp.Net Core的简单社区项目源代码开源

    2019年3月27号 更新版本 本项目基于 ASP.NET CORE 3.0+EF CORE 3.0开发 使用vs2019 +sqlserver 2017(数据库脚本最低支持sql server 20 ...

  7. 《转》 Ceilometer项目源代码分析----ceilometer项目源代码结构分析

    感谢朋友支持本博客,欢迎共同探讨交流.因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/gaoxingnengjisua ...

  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

  9. fir.im Weekly - 给 Mac 应用开发者的教程

    写作是一件苦差事.无论写代码,还是写文章. 关于 Mac 应用开发,国内很少有完整的书籍或教程.最近@剑指人心写的 <Mac 应用开发基础教程>终于!完!稿!了! 这本书中对 Mac 平台 ...

随机推荐

  1. [NOIP2014] 解方程&加强版 (bzoj3751 & vijos1915)

    大概有$O(m)$,$O(n\sqrt{nm})$,$O(n\sqrt{m})$的3个算法,其中后2个可以过加强版.代码是算法3,注意bzoj的数据卡掉了小于20000的质数. #include< ...

  2. mysql数据库添加索引优化查询效率

    项目中如果表中的数据过多的话,会影响查询的效率,那么我们需要想办法优化查询,通常添加索引就是我们的选择之一: 1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `t ...

  3. 如何排查APP服务端和客户端是否支持ATS

    服务端排查 取得客户端直接连接的服务端域名及端口,例如mob.com.cn,端口443,即HTTPS默认端口.针对公网可访问的生产环境地址,建议使用的在线监测工具.https://wosign.ssl ...

  4. css001 Css需要的html

    Css需要的html 可以忘却的html属性和标签 1.不要用<font>来控制字体的大小和类型.(那要用什么?见第六章) 2.不要用<b>和<i>(b和i只是把字 ...

  5. IIS------IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法

    链接: http://www.cnblogs.com/mrma/p/3529859.html

  6. nginx https性能优化

    影响HTTPS速度的主要原因:秘钥交换算法 常见的密钥交换算法有 RSA,ECDHE,DH,DHE 等算法.它们的特性如下: RSA:算法实现简单,诞生于 1977 年,历史悠久,经过了长时间的破解测 ...

  7. Visual Studio 2012优化

    http://msdn.microsoft.com/en-us/library/ms182372.aspx

  8. ecshop 配送方式支持"货到付款"

    ecshop配送方式,支持货到付款方法. 打开表 ecs_shipping,找到字段support_cod,修改1则支持货到付款 扩展 问题描述:已经修改了ecs_shipping表里的support ...

  9. Effective Objective-C 2.0 — 第一条:了解Objective-C语言的起源

    第一条: 了解Objective-C语言的起源 由Smalltalk演化而来,消息型语言的鼻祖(messaging structure)而非 (function calling)函数调用 //Mess ...

  10. Java内存区域-- 运行时数据区域

    jvm在执行Java程序时,会把它所管理的内存划分为若干个不同的数据区.这些区域都有各自的用途,以及创建和销毁的时间. 有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销 ...