cocos2dx 笔记 Andorid 环境遇到的问题(一)

前言:话说我真的是一个比较磨叽的人,今天上来看到有人评论说我这么磨叽显得很不专业。首先还是很开心能有人来看我那么久之前写的东西,现在看来真的是很稚嫩,当然就现在来讲也没成熟多少。其次,我也觉得我非常不专业,混了这么久还是这德行,唉……言归正传,开个帖子记录下在Win32上做Android基于Cocos2dx的开发遇到的问题。现在只是编译了个自带的例子,所以离得还是很远呢。


运行环境和程序

应用程序名称 版本
操作系统 Win7 旗舰版SP1
cocos2dx cocos2d-2.1rc0-x-2.1.2
eclipse 3.7.2
ADT Build: v21.1.0-569685
NDK r8e
cygwin版本 1.7.18-14
Visual Studio 2010

以上就是我机器上的运行环境,现在的Android开发环境已经提供一个整包来供开发者下载安装,已经自带CDT以及一些其他的种种插件工具。我这里还是使用cygwin来辅助NDK编辑C++代码。目前已经有使用eclipse编译的方法,这个大家请自行google,不在我这文章的讨论范围。


问题列表

1.如何创建Android程序

  • 执行cocos2dx根目录下的create-android-project.bat文件即可,这里需要修改对应文件内的cygwin目录Android SDK目录以及NDK目录为你机器上的文件夹目录。
  • cygwin上最好有NDK_ROOT导出,修改.bash_profile,最后增加两行代码(不要全抄,根据自己的目录修改):
NDK_ROOT=/cygdrive/d/NDK
export NDK_ROOT

2.如何编译

在创建完Andorid项目后,在cygwin中,进入建立的项目的proj.android文件夹中,执行 ./build_native.sh 命令,坐等编译完成,最后会输出libgame.so文件。特别注意,如果在cygwin中定义了到cocos2dx源代码的软连接的话,可能会编译通不过,各种头文件无法找到,这时候请进入实际目录后再执行build_native.sh命令,否则由于目录层级关系导致找不到头文件的问题。

3.Eclipse中报 AndroidManifest.xml 文件 @drawable/icon 的错误

这个由于是在proj.android目录下res目录中没有对应的icon.png文件造成。如果是选择4.0以后的版本,那对应的资源是由ADT负责的,原本是android.bat从samples中的hellocpp中拷贝,所以图片会变成andorid机器人的样子,并且命名为ic_launcher.png,所以会报错。选择2.3.3之类的就不会有这个问题了。具体可以参见template/andorid/copy_file.sh中的脚本代码:
# android.bat of android 4.0 don't create res/drawable-hdpi res/drawable-ldpi and res/drawable-mdpi.
# These work are done in ADT
copy_icon(){
    if [ ! -d $APP_DIR/proj.android/res/drawable-hdpi ]; then
        cp -r $HELLOWORLD_ROOT/proj.android/res/drawable-hdpi $APP_DIR/proj.android/res
        cp -r $HELLOWORLD_ROOT/proj.android/res/drawable-ldpi $APP_DIR/proj.android/res
        cp -r $HELLOWORLD_ROOT/proj.android/res/drawable-mdpi $APP_DIR/proj.android/res
    fi
}



参考和文献

  1. 移植Win32程序到Android下可以参考此篇文章:http://4137613.blog.51cto.com/4127613/758783
  2. 环境搭建可以参考这篇文章:http://4137613.blog.51cto.com/4127613/758783


你可能感兴趣的:(android,Win32,cocos2dx)