首先在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"(竖屏),它默认为横屏),到现在好开心的,打了这么多,大家一起学习吧加油