`

cocos2d-x win32交叉编译android项目经验

 
阅读更多
转自:http://blog.csdn.net/ilylyl521/article/details/9222883

Hello!大家好,欢迎来到互撸娃的博客。这是我的第一篇博文。今天教大家怎么把2dx的win32项目交叉编译成android项目并最终编译成apk。我会讲的很详细。并注明我遇到的一些错误。我所用的cocos2d-x版本是2.1.4。


需要的所有软件:VS2010(或2008,2012等)、eclipse+ADT插件+androidSDK(这三个可以单独下载也可以直接到谷歌开发者页面下载整合包)、androidNDK、Cygwin

注:eclipse+ADT插件+androidSDK 如果是单独下载如何配置请看:这里

        androidNDK直接下载下来解压。

        如何安装Cygwin请看这里。安装过程有点长。。

      

好了,我们继续。首先用VS编译好项目。

(1)创建新空的android项目。

进入到cocos2d-x引擎文件夹下。找到create-android-project.bat这个东西。用它来创建新的空的android项目。但是首先要修改下它。用记事本或其他的打开它。
1 [img]

[/img]

修改完这三处后,双击运行。

之后会弹出这个:
2[img]

[/img]
你需要在后面输入项目包名 比如 com.example.test 然后回车,接下来出现

接着输入项目名字 如:HelloWorld 然后回车。
3[img]

[/img]
然后出现这个,在id 处填上数字 如 填2 就带表项目最低支持andoroid 2.2版本。
4[img]

[/img]

好了,这时你会在cocos2d-x目录下看到刚刚建成的android空项目。
5[img]

[/img]我建的是myTest

打开后会看到
6[img]

[/img]

说明:

Classes里存放win32你要编译的项目的cpp文件。

pro.android里存放的是android的项目文件

Resources里存放的资源文件

(2)编译文件

首先你要把win32的项目中你要编译的所有的.cpp和.h文件全部移到myTest\Classes目录中。

然后把资源图片音乐什么的都移动到myTest\Resources目录下。

然后还要修改一个地方:

进入到   myTest\proj.android\jni下,用记事本打开Android.mk。

修改如下:
7[img]

[/img]

保存。

好了,接下来打开cygwin编译文件。但在此之前先配置两个环境变量吧!

右键计算机-属性-高级管理-环境变量-添加系统变量

名:NDK_ROOT    值:D:\soft\android-ndk-r8e (你的ndk目录)

名:COCOS2DX_ROOT 值:E:\code\cocos2d-2.1rc0-x-2.1.2-hotfix\cocos2d-2.1rc0-x-2.1.2\cocos2dx  (引擎目录)



来到你的cygwin目录下,打开Cygwin.bat

接着输入 cd E:\code\cocos2d-2.1rc0-x-2.1.2-hotfix\cocos2d-2.1rc0-x-2.1.2\myTest\proj.android 回车。也就是进入你的android项目的pro.android目录下。

接着输入   ./build_native.sh  这就启动了build_native.sh 这时就可以编译了。过程也比较慢。

----------------------------------------------------------

注:虽然之前已经配置了ndk的目录,但是我运行 输入./build_native.sh后报错提示我 未找到ndk! 我在网上找到了解决办法:

用记事本打开build_native.sh。修改如下
8[img]

[/img]

然后继续运行./build_native.sh吧。

----------------------------------------------------------

备注:第一次成功了。第二次在进行这一步时。出错了。

出现

cygwin warning:
  MS-DOS style path detected: D:/Slickedit/WorkSpace/Debug/Demo4Cpp.o
  Preferred POSIX equivalent is: /cygdrive/d/Slickedit/WorkSpace/Debug/Demo4Cpp.o
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

类似这种错误。解决的办法是添加系统变量

CYGWIN=nodosfilewarning

我后来的项目里用到了iconv.h这个库。报错为

iconv.h: No such file or directory

解决办法:在源文件里 #include"iconv.h"  地址写绝对地址。也就是#include"D:/xxx/xxx/xxx/iconv.h"这样。

(3)eclipse导入项目(4.22版本的eclipse奥)

好了工作接近尾声了。

打开eclipse。左边空白处右键鼠标-import-导入已存在的项目 还是看图吧:
9[img]

[/img]

然后点击Browse选择android项目路径,最都点击finish就行了。
10[img]

[/img]

导入项目后基本不会出错。但我的项目出了两个错。

第一个是 src里没有cocos2dx.lib包 。可以手动复制进去。  打开cocos2dx引擎目录 进入cocos2dx\platform\android\java\src下。把里面的org文件夹全复制到eclipse的src里去就行了。

第二个是AndroidMainifest.xml里一处。
11[img]

[/img]

以前是icon。改成ic_launcher。因为图标文件就叫这个。

好了。

最后!

右键点击创建工程是输入的工程名对应的java文件,选择RunAs->Run Configurations进入运行设置。在弹出对话框中双击AndroidApplication选项,在Android选项卡选择好工程点击Run按钮即可。由于真机可用的*.apk文件将生成于<工程路径>/Android/bin路径下。

把apk直接按到手机上吧。

总算结束了。只想说一句话,我去年买了个表。
  • 大小: 62.6 KB
  • 大小: 20.4 KB
  • 大小: 55.6 KB
  • 大小: 32.4 KB
  • 大小: 2.2 KB
  • 大小: 6.4 KB
  • 大小: 32.7 KB
  • 大小: 18.3 KB
  • 大小: 21.5 KB
  • 大小: 48.5 KB
  • 大小: 10.2 KB
分享到:
评论

相关推荐

    cocos2d-x windows vs2010配置

    \cocos2d-0.99.4-x-0.7.1\Debug.win3"中的动态链接库:libcocos2d.dll libEGL.dll libgles_cm.dll libCocosDenshion.dll iconv.dll libxml2.dll zlib1.dll 移至"D:\cocos2d-xProjects\HelloWorld\Debug.win32"文件夹...

    cocos2d-x_v3.16安装及环境变量配置文档

    在使用 Visual Studio Community 2017 打开 Cocos2d-x-3.16\build\cocos2d-win32.sln 文件后,可能会遇到工具集的报错问题,提示无法找到 Visual Studio 2010 的生成工具。解决方法是安装 Visual Studio 2010 的生成...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多平台的游戏开发。3.x版本是其发展中的一个重要阶段,引入了多项优化和新特性,旨在提高开发效率和性能。 本书首先会介绍...

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d-x_Win32_Android_环境配置手册

    《cocos2d-x_Win32_Android_环境配置手册》是一份详细的指南,旨在帮助开发者在Windows和Android平台上成功地安装和配置cocos2d-x开发环境。cocos2d-x是一款开源的游戏开发框架,它基于cocos2d,并且支持多种平台,...

    Cocos2d-x实战:C++卷(2版)源代码

    Cocos2d-x是一个开源的、跨平台的游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言为主要编程语言,提供了丰富的实践案例和源代码,帮助读者深入理解和掌握Cocos2d-x的使用。 在Cocos...

    cocos2d-x-3.13.1 spine3.6.zip

    在Cocos2d-x项目中,你需要将Spine的库文件导入,并按照官方文档的指引配置相应的环境。这个过程可能涉及到设置头文件路径、链接库和编译选项。对于Android平台,你需要确保NDK和Android SDK已经正确配置,并且添加...

    cocos2d-x-cocos2d-x-2.2.2.zip

    这是初始化cocos2d-x项目的重要步骤,只有当所有依赖都正确安装后,才能顺利进行后续的开发工作。 在cocos2d-x 2.2.2中,渲染系统得到了优化,支持OpenGL ES 2.0,使得在移动设备上运行游戏时的图形效果更加出色。...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    《cocos2d-x 3.8:经典游戏引擎源码解析》 cocos2d-x 是一个跨平台的游戏开发框架,它基于C++,同时提供了Lua和JavaScript的绑定,让开发者可以方便地在多种操作系统上创建2D游戏、演示程序和其他图形交互应用。这...

    cocos2d-x-3.1.zip

    1. **跨平台支持**:Cocos2d-x 3.1支持多种操作系统和设备,包括iOS、Android、Windows、Mac、Linux等,使得开发者可以编写一次代码,到处运行。 2. **C++基础**:Cocos2d-x主要采用C++作为编程语言,同时也支持Lua...

    Cocos2d-x实战C++卷关东升著完整版pdf

    Cocos2d-x是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言为主要编程工具,详细介绍了如何利用Cocos2d-x进行游戏开发。 首先,Cocos2d-x的基础知识是必须...

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    在压缩包文件"jyinkailej-Flash2Cocos2d-x-8c0deff"中,可能包含了Flash2Cocos2d-x工具的源码、文档、示例项目和其他相关资源,供开发者学习和使用。这些资源可以帮助开发者深入理解如何使用该工具,并进行实际的...

    cocos2d-x 3.0

    2. 研究cocos2d-x社区的教程和示例项目,积累实战经验。 3. 探索Box2D物理引擎,提升游戏的物理表现力。 4. 实践编程,通过修改和调试代码,理解行走逻辑的每一个细节。 总之,cocos2d-x 3.0提供了强大的工具和框架...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    1. **Cocos2d-x入门**:介绍Cocos2d-x的基本架构,包括场景(Scene)、层(Layer)、节点(Node)等概念,以及如何设置项目环境,创建和管理游戏资源。 2. **图形与动画**:讲解如何使用Cocos2d-x的绘图API绘制2D...

    Cocos2d-x学习笔记

    4. 打开Visual Studio解决方案文件cocos2d-win32.vs2008.sln,这个文件包含了Cocos2d-x的所有示例项目。 5. 在解决方案中选择HelloWorld项目作为起点,这是Cocos2d-x提供的一个基础示例,可以快速看到游戏框架运行的...

    Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整

    由于Cocos2d-x支持多种编程语言(包括C++、JavaScript和Lua),Cocos2d-JS意味着开发者可以采用JavaScript来构建游戏项目。 4. PDF电子书下载:这是提供给读者的下载格式,即PDF(便携式文档格式),它是一种通用的...

    cocos2d-x-android环境搭建文档

    Ant是Apache的一个构建工具,Cocos2d-x使用它来编译项目。确保Eclipse的Android SDK和NDK路径设置正确。 最后,进行项目初始化。在命令行中,进入你的Cocos2d-x项目目录,使用`cocos new`命令创建一个新的项目。...

    cocos2d-x-2.1.4.rar

    1. 跨平台性:cocos2d-x 支持iOS、Android、Windows Phone等多平台,开发者只需要编写一次代码,就能在多个平台上运行,极大地提高了开发效率。 2. C++ 基础:cocos2d-x 使用C++作为主要编程语言,同时提供了Python...

Global site tag (gtag.js) - Google Analytics