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

前端之家收集整理的这篇文章主要介绍了cocos2d-x在安卓平台编译常见的2个问题及解决办法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一.Eclipse导入编译好的安卓项目的时候,提示:Cocos2dxActivity cannot be resolved to a type

解决办法:

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

  1. 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

猜你在找的Cocos2d-x相关文章