您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x在安卓平台编译常见的2个问题及解决办法

2015-08-27 15:29 483 查看
一.Eclipse导入编译好的安卓项目的时候,提示:Cocos2dxActivity cannot be resolved to a type

解决办法:

eclipse导入项目后会出现这个问题,事实上在项目中有一个project.properties文件其中有这么一行配置信息:

android.library.reference.1=../../cocos2dx/platform/android/java


它的意思是将此项目文件的上上级文件夹(也就是cocos2d-x引擎的根目录)的cocos2dx/platform/android/java文件夹下的工程作为导入工程的引用,从../../这个路径可以看出两点:

1. 生成的项目不能移动到其他目录下,只能在cocos2dx引擎的根目录。

2. 导入到eclipse的时候,不能选择Copy project into workspace这个选项。

有两种两种做法:

1. 只需要将cocos2d-x引擎的根目录的cocos2dx/platform/android/java/src文件夹下文件夹全部复制到项目的src包下即可。

2. 也可以导入cocos2dx/platform/android/java这个工程生成一个jar文件添加到项目的libs文件夹下即可,通过import选项导入。

这两种方法都会在最终生成apk时将依赖复制到其中的。推荐第2种
二.用cocos run -p android 编译出错,无法编译,出错主要信息摘要如下:
-dex:

[dx] UNEXPECTED TOP-LEVEL EXCEPTION:

[dx] Merged dex A (6 defs/2.0KiB) with dex B (84 defs/107.9KiB). Result i

s 90 defs/129.7KiB. Took 0.0s

[dx] com.android.dex.DexException: Multiple dex files define Lcom/chukong

/cocosplay/client/CocosPlayClient;

导入cocos2dx/platform/android/java这个工程后,project.properties会变成两行,

android.library.reference.1=../cocos2d/cocos/platform/android/java

android.library.reference.2=../../../cocos2d-x-3.6/cocos/platform/android/java

这里有重复,造成上述出错,编译的时候,要把第二行注释掉:

android.library.reference.1=../cocos2d/cocos/platform/android/java

#android.library.reference.2=../../../cocos2d-x-3.6/cocos/platform/android/java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: