这个问题是因为,没有配置环境变量,需要做的事情是:
1. 复制/etc/defaults/etc/skel/.bash_profile文件到/home/用户名/目录下。(特别注意:如果cygwin安装后/home自带了.bash_profile,也需要复制。如果使用原来的配置文件,将导致export :command not found,这是一个很奇怪的问题,export作为内建命令居然找不到,不知道是不是cygwin1.7.17-1的一个bug)。
2. 添加命令到.bash_profile文件中:
#ndk-root NDK_ROOT=/cygdrive/d/WORKBENCH/android-ndk-r8c export NDK_ROOT
3. 生成的项目必须在cocos2d-x的根目录不能被更改,因为build_native.sh脚本中有对COCOS2DX_ROOT="$DIR/../.."的设置。
4. 生成完之后就可以导入到eclipse中了。
Android.mk引用了一个模块,cocos2dx模块,而NDK没有找到它,所以报了这个错,之前的版本是直接包含cocos2dx模块的Android.mk的,所以不会报错而这里使用了import,我们也可以使用之前版本的方法来包含它,但貌似import比之前的方法要更好一些错误信息提示我们,可以通过设置NDK_MODULE_PATH环境变量,这里很有可能设置错误。
这里设置:D:\development\cocos2d-2.0-x-2.0.3;D:\development\cocos2d-2.0-x-2.0.3\cocos2dx\platform\third_party\android\prebuilt
You should do a Project->Clean before you build. When you try and build without doing this, it causes that error. I found this solution on http://gameit.ro/2012/01/creating-an-iphone-and-android-cocos2d-x-hybrid-project-updated/. I didn't look to see if there were any other tips/tricks to only doing partial builds, but hopefully it has something.
build_native.sh运行成功后,将项目导入到eclipse中后会出现这个问题,事实上在项目中有一个project.properties文件其中有这么一行配置信息:
android.library.reference.1=../../cocos2dx/platform/android/java
1. 生成的项目不能移动到其他目录下,只能在cocos2dx引擎的根目录。
2. 导入到eclipse的时候,不能选择Copy project into workspace这个选项。
但是这样做了,还是会出现这个问题,具体原因我也不知道,但是project.properties中的android.library.reference.1属性官方是推荐在ubuntu下实现。
那我们要怎么做呢?
其实很简单,两种做法:
1. 只需要将cocos2d-x引擎的根目录的cocos2dx/platform/android/java/src文件夹下文件夹全部复制到项目的src包下即可。
2. 也可以导入cocos2dx/platform/android/java这个工程生成一个jar文件添加到项目的libs文件夹下即可。
这两种方法都会在最终生成apk时将依赖复制到其中的。