[cocos2dx]windows上编译安卓程序

首先在exclipe上配置好java的jdk1.6或更高,配置好android环境(最好有android2.1或2.2以及更高版本的sdk)。

在下载个ndk,ndk解压后先放到一边,cygwin,解压后,sygwin解压安装会比较久大概4-5个小时,如果解压安装成功,

cygwin安装过程请参考http://wenku.baidu.com/view/88b001ef4afe04a1b171de05.html看到第三步就行了,接下来继续看

安装好cygwin后验证下是否成功打入(注意空格)make -v ,gcc -v 没有出现意外的话就出现以下画面

表示你已经装好cygwin了,接下来是修改在安装cygwin目录下,如本人安装目录如下D:\cygwinx\home\Administrator

然后最好用UE编辑器点开.bash_profile,然后在最下面加上

(ndk路径以及cocos2dx路径即/cygdrive/你所在的盘的ndk路径如下)

NDK_ROOT=/cygdrive/e/AndroidNDK/android-ndk-r8e
export NDK_ROOT
COCOS2DX_ROOT=/cygdrive/d/cocos2d-2.1beta3-x-2.1.1
export COCOS2DX_ROOT

然后就完成了大半了,再在D:\cocos2d-2.1beta3-x-2.1.1下点击

第一个填写的是包名称,一般填写***.***.***之类,

第二个是填写工程名,你根据需要定义咯

在最好选项是选择哪种android的sdk,最好使用经历低的版本(如2.1或2.2)比较好兼容。

然后生产出来时个简单的helloworld工程,如果是要将自己的工程装成android的,及将生成工程文件中的proj.android拷贝到自己的工程文件中,如下图

然后需要修改三个地方如

1)将proj.win32里面的.h以及.cpp文件拷贝到Classes中

(如果以后修改那些.cpp文件或.h文件需要继续从proj.win32拷贝到Classes中覆盖掉之前的文件再生成新的android工程)

2)进去proj.android\jni下面修改Android.mk,

将所有.cpp的路径都添加进去即可,如本人增加了下面那些路径,

3)用UE编辑器修改build_native.sh文件

在第三行下面加入,如下

NDK_ROOT=/cygdrive/E/AndroidNDK/android-ndk-r8e
COCOS2DX_ROOT=/cygdrive/D/cocos2d-2.1beta3-x-2.1.1
GAME_ROOT=$COCOS2DX_ROOT/RussiaGame    (注意RussiaGame是我cocos2dx的工程名)
GAME_ANDROID_ROOT=$GAME_ROOT/proj.android
RESOURCE_ROOT=$GAME_ROOT/Resources

好了 修改完这些保证每错误之后

打开cygwin,然后经过下面路径(以本人路径为参照)

到最后./build_native.sh之后没错误的话(这个过程比较久大概十几二十分钟,有些可能要半个钟头),它就能生产android项目了(成功的判断是看他是否生产.so文件)

成功的话在路径D:\cocos2d-2.1beta3-x-2.1.1\RussiaGame\proj.android\libs\armeabi下能看到libgame.so文件

然后接下来就可以生成可以在eclipse上运行的android工程了,导入D:\cocos2d-2.1beta3-x-2.1.1\RussiaGame\proj.android这个就可以在eclipse上看到该工程了

如果出现

如果一开始这个文件没有存在的话(我当时是一开始没有这个文件,当时很悲剧,常看了项目jdk是1.6的没问题,最后发现就是这个文件缺失造成的)

右键点击你的项目-》选择导入-》再点击browse-》(进入到你的项目所在的目录,进入cocos2dx->platform->android->java)然后就会出现那个文件了 以及有个libcocos2dx项目也有了(这个项目相当于类库不要删掉它),以后就不用重复上面这些导入了。

然后没有报错就说明成功啦,然后就可以在eclipse上进行真机运行啦(注意好像虚拟机运行一直会出现bug,我也一直没成功,所以建议真机运行吧,好像现在只能真机运行才行),然后就可以成功运行以及会在bin文件下回生成一个apk文件可以拷贝给大家玩啦,好开心的喔。。。。。

然后到现在这样就算是转android成功了,

(悄悄说下 ,如果需要把项目在真机上弄成竖屏,及要在AndroidManifest.xml中改一改, android:screenOrientation="landscape"(横屏),android:screenOrientation="portrait"(竖屏),它默认为横屏),到现在好开心的,打了这么多,大家一起学习吧加油

时间: 2024-10-27 05:36:08

[cocos2dx]windows上编译安卓程序的相关文章

32 64位运行效率-64位,32位windows上的相同程序,运行效率到底区别有多大?

问题描述 64位,32位windows上的相同程序,运行效率到底区别有多大? 64位,32位windows上的相同程序,运行效率到底区别有多大?分别在对应的版本下编译并运行. 解决方案 看什么样的程序.如果是科学计算程序,比如用到很多64位的四则运算,那么显然32位机器要想做同样的工作,需要3.4倍的指令才能完成,那么64位的优势是明显的. 可以举一个例子.你可以运行Windows XP和Windows XP x64版本下的计算器(calc.exe),执行高级运算中的阶乘.计算一个比较大的数,比

linux-qt上编译opencv程序出错

问题描述 qt上编译opencv程序出错 编译提取棋盘格角点的的程序,但是一直显示cvFindChessboardCorners这个函数有问题,请大神指教! 错误如下: ../qt_subpix1/main.cpp: In function 'int main(int, char**)': ../qt_subpix1/main.cpp:14:19: warning: deprecated conversion from string constant to 'char*' [-Wwrite-st

在vs2008上编译的程序在别的机器上运行出现错误如下

问题描述 在vs2008上编译的程序在别的机器上运行出现错误如下 sxstrace.exe之后结果如下 开始生成激活上下文. 输入参数: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = zh-CN;zh-Hans;zh;en-US;en ManifestPath = F:crowd exeTheaterSimulatorBinTheaterSimulator.exe AssemblyDirectory = F:crowd exeT

在Linux上编译iOS程序

phpwind appcreator是向站长提供的自助app生成平台,目前只支持Android,为了支持iOS,搜了一些相关资料,发现可以在Linux上来编译iOS程序,但最后的签名什么的还没细究. 主要用到了一些cjacker移植的工具链(应该是基于苹果公司开源的一些代码),以及他开发的iphonesdk-utils(主要是一些辅助工具,比如ios-clang,会探测iPhone SDK,并自动加上一些参数来调用clang,避免自己手写很多参数,比如 --target 等). 介绍下具体步骤:

在windows上可以运行的java程序移植到liunx上运行出错

问题描述 这个小程序在windows平台编译成功了.并且可以运行一部分功能,也就是说程序会执行到一定的位置然后再出错,然而到linux环境下再次运行相同的class文件时,一开始程序就崩了.下面是终端的截图:求大神给指导一下啊.另外,两个平台的JDK的版本是相同的. 还有.这程序在windows上编译时需要引入的那些包在linux上是没有的,但是这好像没有影响吧,我只是把class文件移植到linux上去了啊.是可执行文件啊. 解决方案 解决方案二:不可以的,class文件执行时依然要依赖支撑它

FFMPEG在windows平台编译的详细过程,包括环境安装

下面开始: 由于FFMpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译.要想使用FFMpeg,最先要解决的问题就是在Windows下配置一个类似Linux的编译环境,将FFMpeg编译为二进制库以后,再利用其进行进一步开发. MSVC++并不严格的遵循C标准,所以整个编译过程必须使用MSys+MinGW系统来完成.如果选择编译动态链接库(dll),这些库将和其他的动态链接库一样在使用上没什

在Windows下编译ffmpeg完全手册

本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注: 1.       对于compile和build这两个词,本文统一的使用编译这个词,根据上下文读者应能区分语义上的差别.   本文的目的是提供一切与FFmpeg在Windows下的相关帮助.它最初是一个针对用MSys+MinGW系统编译的手把手的教程,现在也增加了如何在你的项目中链接FFmpeg

在Windows下编译FFmpeg详细说明

MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时   MinGW,即 Minimalist GNU For Windows.它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC产生 Windows32 程序.   开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境

Windows下编译OpenSSL

简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人员而言,在Win32 OpenSSL上下载已经编译好的OpenSSL库是省力省事的好办法.对于高级的开发用户,可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题.下面主要讲述如何在Windows上编译OpenSSL库. 简述 步骤 更多参考 步骤 在微软网站下载并安装Visua