问题:

新的cocos2d-x 2.2.5 在使用Eclipse的安卓NDK 9 的编译器进行编译的时候,
问题提示如下:

[armeabi] Compile++ thumb: cocos_extension_static <= LabelReader.cpp
D:\work\cocos2d-x-2.2.5/extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp: In member function 'virtual void cocos2d::extension::LabelReader::setPropsFromJsonDictionary(cocos2d::ui::Widget*, const Value&)':
D:\work\cocos2d-x-2.2.5/extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp:54:9: error: 'transform' is not a member of 'std'

解决方法:

LabelReader.cpp中导入头文件
#include <algorithm>

(1)Error: Cocos2dxActivity cannot be resolved to a type

build_native.sh运行成功后,将项目导入到eclipse中后会出现这个问题,提示找不到下列文件:

import   org.cocos2dx.lib.Cocos2dxActivity;

解决方案:

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

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

这两种方法都会在最终生成apk时将依赖复制到其中的。

(2)Error:jni/Android.mk:19: *** Android NDK: Aborting.    .  Stop

Eclipse环境新建环境出现如下错误:

Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/android' in import path     
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?     
Android NDK: The following directories were searched:     
Android NDK:          
jni/Android.mk:19: *** Android NDK: Aborting.    .  Stop.

解决办法:

在项目proj.android\jni\Android.mk(E:\Research\cocos2d\cocos2d-2.0-x-2.0.2\GameThieves\proj.android\jni\Android.mk)文件中添加路径:

$(call import-add-path, E:\Research\cocos2d\cocos2d-2.0-x-2.0.2)\ 
$(call import-add-path, E:\Research\cocos2d\cocos2d-2.0-x-2.0.2\cocos2dx\platform\third_party\android\prebuilt)\ 
$(call import-module,CocosDenshion/android) \ 
$(call import-module,cocos2dx) \ 
$(call import-module,extensions)

(3)Error:Android Unable to resolve target 'android-8'

今天导入一个Android的例子程序,出现了 Unable to resolve target 'android-8' 的错误。刚开始以为是没导入包或者是phoneGap没配置好。可是折腾了好久还是报错。最后google之后才发现原来是ADK版本不同。

ADK版本 :---API Level对应关系(注意高版本不一定是兼容低版本的)

android2.3.4---10 
 android2.3.1---9===Gingerbread 
 android2.2---8===Froyo 
 android2.1---7===Eclair 
 android2.0.1---6===Eclair 
 android2.0---5===Eclair 
 android1.6---4===Donut 
 android1.5---3===Cupcak 
 android1.1---2  
 android1.0---1

解决办法:

1、修改project.properties里的target=android-8(若是android2.2开发的情况下)

2. 项目右键打开项目属性,在左侧选择Android,在右侧选择具体的android版本。 
   选择好后,再项目右键,在android Tools下选择Fix Project Properties

3. 如果没有default properties, 自己建下,然后target=android-10

(4)Error:Unable to execute dex: Multiple dex files define 

编译正常,在用Eclipse调试 的时候报错:Error:Unable to execute dex: Multiple dex files define

网上搜索了有5种可能的办法,挨着试了一下,下面是我解决成功的方法。

解决办法:

在eclipse中右键这个工程文件夹,在Build Path选项中对 Android Dependencies,将它移除掉就可以了。

(5)E rror:Program "bash" is not found in PATH

这个是Cygwin没配置好

解决办法:

1、把cygwin/bin加入系统环境变量Path下

2、右击工程-->properties-->C/C++ Build  确认右边视图选项Build command:ndk-build

3、右击工程-->properties-->C/C++ Build -->ToolChain Edit 
   确认右边视图的选项:Current toolchain:No Toolchain 
                                   Current Builder:Android Builder

(6)Error:This Android SDK requires Android Developer Toolkit version 22.6.3 or above. Current version is 22.3.0

一次升级了SDK启动Eclipse的时候就报这错误

解决办法:

找到android-sdk-windows\tools\lib下的plugin.prop文件修改其中的版本号,改为与所安装的ATD同版本号即可

 

cocos2dx 安卓编译问题收集的更多相关文章

  1. ubuntu12.04下安卓编译环境搭建总结

    前言:      因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...

  2. linux下安卓编译apk环境搭建

    ubuntu下linux安卓编译环境搭建. 配置好编译环境 (前提是已经安装了jdk,可以用java -verison 命令查看) 一.设置环境变量 用vi  ~/.bashrc  打开编译环境 JA ...

  3. 安卓编译出错: Process 'command 'C:\Java\jdk1.8.0_51\bin\java.exe'' finished with non-zero exit value 1 解决!

    安卓编译出错: Process 'command 'C:\Java\jdk1.8.0_51\bin\java.exe'' finished with non-zero exit value 1 解决! ...

  4. linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol &#39;pthread_create@@GLIBC_2.2.5&#39;

    解决cocos2d-x中编译出现的一个小问题 对于cocos2d-x 2.×中编译中,若头文件里引入了#include "cocos-ext.h",在进行C++编译的时候会遇到例如 ...

  5. Cocos2d-x 2.2.3 使用NDK配置安卓编译环境问题之 Cannot find module with tag &#39;CocosDenshion/android&#39; in import path

    1.当做安卓移植的时候遇到例如以下问题: Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/android ...

  6. [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)

    链接地址:http://m.blog.csdn.net/blog/yhc13429826359/29357815 2014-6-8阅读578 评论0 前言:cocos2dx作为一个开源的移动2D游戏框 ...

  7. cocos2dx+lua编译Android项目

    一.简单介绍 cocos2dx版本号:3.2 二.问题及解决方式 1.为项目开启Native支持,把项目转为C++项目. 1>.项目开启C++ Native支持,操作例如以下图 watermar ...

  8. Yomob广告在cocos2dx安卓平台的Demo

    Yomob 也是一个广告平台:他的使用方式比较简单哈,这里只说说他的步骤 按照官方文档说明配置环境,我使用的是eclipse,在eclipse上自己将文件copy到项目proj.android下,覆盖 ...

  9. cocos2d-x安卓应用启动调用过程简析

    调用org.cocos2dx.cpp.AppActivity AppActivity是位于proj.android/src下的开发者类(即开发者自定义的类),它继承自org.cocos2dx.lib. ...

随机推荐

  1. Android四大布局及其主要属性

    布局: <LinearLayout></LinearLayout> <RelativeLayout></RelativeLayout> <Fram ...

  2. EF实体框架之CodeFirst四

    在EF实体框架之CodeFirst二中也提到数据库里面一般包括表.列.约束.主外键.级联操作.实体关系(E-R图).存储过程.视图.锁.事务.数据库结构更新等.前面几篇博客把表.存储过程.视图这些算是 ...

  3. IOS动态判断UITextField是否输入为手机号

    现在使用的app大部分都用到手机号注册,很多app注册的时候会判断手机号,可以根据当前输入文本来判断“获取验证码”的按钮是否可用 判断输入文本是通过UITextField的代理的 -(BOOL)tex ...

  4. form表单用ge方式提交时ie显示中文参数乱码

    有网友说 通过给form表单添加accept-charset="gb2312"和 onsubmit="document.charset='gb2312'" 但这 ...

  5. HTML5——播放器

    有了H5的Video,妈妈再也不用担心我没安Flash插件了 根据Video提供的方法和属性,简单练习了一下,不说废话,直接上图片和代码 <html><head><tit ...

  6. PHP微信登錄(網頁授權)之後的獲取用戶的信息

    //這部峯代碼是封裝的庫文件,<?php /** * Created by PhpStorm. * User: root * Date: 16-6-23 * Time: 下午3:29 */ cl ...

  7. 怎么让alert弹出框的内容可以换行?

    在要点击弹出的地方输入这样的代码: alert("文本框中共有字母a的个数为:"+num+"\n"+"他们在字符串的索引为:"+ind) 就 ...

  8. BZOJ1202 狡猾的商人

    HNOI2005 Day1 T4 Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1, ...

  9. Linux中断技术、门描述符、IDT(中断描述符表)、异常控制技术总结归类

    相关学习资料 <深入理解计算机系统(原书第2版)>.pdf http://zh.wikipedia.org/zh/%E4%B8%AD%E6%96%B7 独辟蹊径品内核:Linux内核源代码 ...

  10. Ext comboBox的remote和local的区别

    remote模式下不能使用模糊查询的功能 而local模式下可以实现模糊查询的功能 如果非要实现模糊查询的功能,最好就是提前把数据查询出来,缓存到本地,然后再用local模式 且,改个属性,改成可编辑 ...