Cocos2d-x +Android + Windows 7
折腾了一天,看了好些人写的配置,但是似乎没有一个能解决所有问题。这里记录下我的安装配置过程、遇到的问题以及解决方法。
1. 安装Java JDK 和 Eclipse IDE
基本的Java编程环境安装,具体参考这里。
2. 安装Android SDK
安装路径不要包含空格!
安装成功后Eclipse界面会多出上面标记的三个按钮,点击第一个按钮选择需要安装的Android版本。
3. 安装ADT(Android Development Tools)
依次Eclipse > Help > Install New Software > Add, Name栏输入“ADT Plugin”, 地址栏输入“https://dl-ssl.google.com/android/eclipse/”,选择OK。然后选择Developer Tools安装
配置ADT:依次Window > Preferences > Android,配置SDK的路径(第2步),例如“C:\Users\Andy\AppData\Local\Android\android-sdk”
配置AVD(Android虚拟机):选择第一张图的第二个按钮,配置相关参数。点击Start可以查看效果。
到这里就可以用Java进行Android开发了!但是我们的目标是用Cocos2d-x、C++开发,还得继续。
4. 安装NDK
NDK可以让Android程序的部分代码用C/C++实现,为后面安装Cocos2D-x做准备。将压缩包解压到一个不包括空格的路径即可。例如“E:\cocos2d-x\android-ndk-r8b”
5. 安装Cygwin
Cygwin在windows环境下模拟Linux编译环境,支持跨平台开发。具体可以参考这篇博客。
6. 安装Cocos2d-x
我选择的最新版本cocos2d-2.0-x-2.0.4,解压到不包含空格的路径,例如“E:\cocos2d-x\cocos2d-2.0-x-2.0.4”。
打开“cocos2d-win32-vc2010.sln”编译,可以试一试运行demo有没有问题
双击“install-templates-msvc.bat”可以生成VS 2010(2008)工程模板,方便创建win32工程。其实以后开发Android或者IOS应用的时候,底层都是用C++创建的Win32开发,只是最后发布到不同的平台时,有不同的配置和编译环境。例如例程MoonWarriors的目录结构为:
Classes里面都是C++代码,项目的主体部分同时也是跨平台的部分。proj.win32就是用VS在Win32平台下开发相关的少量代码以及工程配置。而proj.android和proj.ios是生成的对应平台下的项目文件。NDK就参入了C++代码的编译以及生成可以在android平台下使用的库文件(libgame.so),可以想象proj.android里面少量的代码可能就是加载libgame.so让他运行在android平台上。下面是生成proj.android的相关配置。
7. 创建Android工程。
- 修改Cocos2D安装目录下的“create-android-project.bat”文件。将_CYGBIN、_ANDROIDTOOLS、_NDKROOT三个分别设置成Cygwin的bin目录(c:\cygwin\bin)、Android SDK的tools目录(C:\Users\Andy\AppData\Local\Android\android-sdk\tools)、NDK根目录(E:\cocos2d-x\android-ndk-r8b)。
- 运行“create-android-project.bat”生成android工程,依次按要求输入,最终在Cocos2D的根目录下会产生所输入的项目名目录,例如“HelloWorld”。
- 用Cygwin客户端进入HelloWorld下的proj.android目录,运行build_native.sh,如果提示没有定义NDK_ROOT的话,可以在Windows的环境变量里面设置(网上有人说这里需要的是linux环境下的变量,在windows里面定义没用,事实是可以,试了一些其他的方法都没有用,可能和我下载都是最新版本的包有关系)。没有错误的话,最后剩下的就是用Eclipse编译Java部分的代码
- Eclipse > File > New > Project > Android Project From Existing Code,选择HelloWorld下的proj.android路径。然后选择项目,选择Run As > Android Application。
- 如果有编译错误提示无法识别cocos2dx,可以Properties > Java Build path > Link Source,选择E:\cocos2d-x\cocos2d-2.0-x-2.0.4\cocos2dx\platform\android\java\src路径,Name不与src冲突即可。
- 运行成功的话弹出HelloWorld界面。我在模拟器运行一直出错,后来发现是模拟器不支持gles2.0导致的,用真机没有问题。
update: 用这篇博客(win7下把win32游戏移植到Android平台)的设置可以不用运行native_build直接全在eclipse里面编译
可以开始Android游戏开发了,从这里开始。