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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-04 11:26:51

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

Android开发 |常见的内存泄漏问题及解决办法

在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了. 内存泄漏有什么影响呢?它是造成应用程序OOM的主要原因之一.由于Android系统为每个应用程序分配的内存有限,当一个应用中产生的内存泄漏比较多时

常见Oracle数据库问题总结及解决办法(一)

开发中常使用Oralce数据库,使用中也许会碰到形形色色的各类错误提示,如:ORA-00933:SQL命令未正确结束.ORA-009242等等,为此记录积累对于自己来说还是很有帮助的,今天就记录以前出现过的一些问题,后面会慢慢补充完善. 错误提示:ORA-00942:表或视图不存在 图1-1 图1-2 开发过程中使用PowerDesigner设计数据库并导出脚本,在执行脚本是出现上图出现的问题,为此打开PowerDesigner查看设计的表,发现表名被""引了起来(图1-2),果不其然

arduino开发过程中编译问题undefined reference to `setup'的解决办法

今天遇到这个问题,搜了很久也没有找到真正的答案. 后来灵光乍现,原来是出现了相同的目标文件,既有maze.h和maze.cpp,又有maze.ino,于是编译连接的时候就会出现ld错误了. 将maze.ino重命名为任意不重复的名字,重新编译,问题解决! yeah! arduino开发过程中编译问题undefined reference to `setup'的解决办法

编译安装PHP使用session_start()时报错&解决办法

系统上的PHP是编译安装的,在session_start()的时候报错! A 错误信息: Warning: session_start(): open(/var/lib/php/session/sess_qavhhacl7lrdbggauasf1qdlo5, O_RDWR) failed: No such file or directory (2) in /www/tool/classes/service/User.php on line 75 1Warning: Unknown: open(/

常见的Android开发错误及解决办法

9个常见的Android开发错误及解决办法: 1. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致. 2. 布局文件不可以有大写字母 3. 抛出如下错误WARNING: Application does not specify an API level requirement!, 是由于没有指定users sdk的缘故,修改AndroidManifest.xml文件. 加入:<uses-sdkandroid:minSdkVersion="8″>

四个常见html网页乱码问题及解决办法

四个常见html网页乱码问题及解决办法 上周同事在做网页时,遇到网页打开之后都是乱码,同事很迷茫了,不知道该怎么解决,下面是小编抽时间把比较常见的html网页乱码问题及解决办法整理分享给大家. 其实导致网页乱码主要有几个原因,以下给出解决方法. 1.HTML的字符编码问题 该问题较常见,也是最明显和最容易解决的. 在网页<head>中加上: <meta http-equiv="Content-Type" Content="text/html;charset=

转-java编译时error: illegal character &#39;\ufeff&#39; 的解决办法-https://blog.csdn.net/t518vs20s/article/details/80833061

原文链接:https://blog.csdn.net/shixing_11/article/details/6976900 最近开发人员通过SVN提交了xxx.java文件,因发布时该包有问题需要回退,故SCM将该xxx.java文件用editplus打开删除了新添的一行,删除后重新编译打包,却报了如下异常: java:[1,0] illegal character: \65279 表面看着该文件确实没错,看不出来问题,后来从SVN上更新下代码以后,发现本地也不报错,后来通过Eclipse查看了

arm平台编译动态库报 relocation R_ARM_MOVW_ABS_NC 错误解决

编译一个能在 arm 平台上用的动态库,结果报错如下: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC ./obj/xxx.o: could not read symbols: Bad value collect2: error: ld returned 1 exit status 其实错误信息已经给出解决

编译PHP时的错误提示及解决办法

php编译常见错误(已安装MySQL和Apache环境下) 错误1: configure: error: jpeglib.h not found. yum install libjpeg libjpeg-devel -y 错误2: configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution yum install libxslt-devel -y 错误3: configur