之前我用adt bundle is for windows 做安卓开发,所以,用cocos2dx 也用的windows平台。而不是linux.但普遍认为linux+安卓studio要比winodws+eclipse要好。所以,建议前者。
本来配置好windows下的coco2dx的下的开发环境,就直接用eclipse做调试和运行。但听了“前人”的建议,发现效率不高。cocos2dx是用c++开发的跨平台的第三方库。所以使用
coco也是用c++完成90%开发,jni完成c/c++和java交互。ndk完成帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。所以,用coco做安卓开发,基本上用的c++ + coco类库。直接用eclipse写,调试和运行,更新apk.但这样速度会很慢。
vs强大的c++调试功能是eclipse所不能比的。所以,先用vs下做win32开发,调试运行成功后,在将工程下的安卓目录导入到eclipse下运行 ,然后真机或者avd模拟,效率更高。
当然,在vs下成功运行后,可以在cmd下利用指令python......更新安卓apk也可以。但是有时候从vs win32 到apk就会出现下列问题(目前,我所遇到的)
1:如果你添加了新的类.h和.cpp文件。直接python或者不做任何修改,在eclipse运行会出现找不到这个类文件的问题。做出的改正:
在Android.mk在添加相应的.cpp文件。
-1是必须要有的类文件
-2创建场景等的类文件,可以删除,因为我们可以自己创建类,创建场景
-3我们自己添加的类,需要在Android.mk下添加自己的.cpp文件
然后重新编译,运行,OK
2:在vs下做的win32 coco开发,调试运行完,也说明你的游戏已经可以再windows下可以运行了。coco的跨平台帮助你很快产生apk文件。因为有时要用到C语言库,问题在于:
win32开发coco调用的C语言库是glibc的库。而eclipse 下coco调用的安卓的linux内核的Bionic c库。
http://baike.baidu.com/view/4504508.htm?fr=aladdin链接介绍了安卓的linux内核和linux系统内核以及x86的区别简介。
所以,昨天我在vs下调用了atoa的函数,但是在安卓下的C语言库中不存在这个函数,纠结了好久,问了一下其他人才解决了这个问题。
或者自己实现atoa函数的功能,或者用sprintf替换atoa等很多。。。
修改之后,python成功。。。等着模拟吧。
目前,就遇到这两个问题,但是在跨平台中肯定还是会有更多的
问题出现。。。。。。。。