目标:学会导入eclipse,调用android运行
今天我们来将工程导入eclipse, 重申一下,我的开发模式是, vs2012编码, eclipse打apk(当然也可以cmd打)。导入eclipse之后,千万别点开jni和Classes中的文件,不然报红就编不了了, 解决起来很麻烦。
我就手贱点了下, jni的可以参考下面方法解决报红, Classes的报红怎么都解决不了,还望高手指教, 不然就只有删除工程,重新导入即可。
1、编译native库
cmd进入项目中的 proj.android, 运行 build_native.py, 这部就把Classes中的cpp编译成库了, 可供apk调用。
[armeabi] StaticLibrary : libcocos2d.a
[armeabi] StaticLibrary : libcocosdenshion.a
[armeabi] StaticLibrary : libbox2d.a
[armeabi] StaticLibrary : libchipmunk.a
[armeabi] StaticLibrary : libcocos2dandroid.a
[armeabi] StaticLibrary : libcpufeatures.a
[armeabi] SharedLibrary : libcocos2dcpp.so
[armeabi] Install : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
2、导入cocos2dx project.android : new - other - Android Project from Existing Code
选择项目中的 proj.android
finish就导入成功了, 但是会发现很多问题:
3、我们一个个来处理
第一个问题, cocos2dx, scripting文件夹找不到。右击项目- Properties- Resource-Linked Resources -Path Variables 新增COCOS2DX项, 值为你的cocos2dx的路径。
修改Linked Resouces中的Classes 和 scripting为正确的路径,如图:
好了, 第一个问题就解决了。
第二个问题, java文件报错,那是因为没找到cocos2dx的库。我们来引入cocos2dx的库项目即可解决问题。
同样是new一个Android Project from Existing Code, 选择 E:\cocos2d-x-3.0\projects\MyCocosTest\cocos2d\cocos\2d\platform\android\java ,这样第二个问题就解决了。
第三个问题, jni报错(手贱的后果), 那是因为没找到jni的头文件, cocos2dx库的一些头文件。我们来增加c++的头文件。因为我们的这个项目是android项目,所以在属性里的c/c++相关选项不可用,会提示不是cdt项目,没关系,我们转下就可以了。在项目上右击New, 选择c++里的 Convert to C/C++ Project, 选择我们的项目,然后直接finish就ok。
看下属性里的c++相关配置就可以用了。如图配置下头文件。
在Source Location中添加项目中的Classes 文件夹。
再来看下我们的android工程, 不报错了吧。
4、项目上右击, Run as Android Application,可以看到, 游戏已经在android虚拟机中已经跑起来罗。