• cocos2dx 安卓编译问题收集


    问题:

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

    [armeabi] Compile++ thumb: cocos_extension_static <= LabelReader.cpp
    D:workcocos2d-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:workcocos2d-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.androidjniAndroid.mk(E:Researchcocos2dcocos2d-2.0-x-2.0.2GameThievesproj.androidjniAndroid.mk)文件中添加路径:

    $(call import-add-path, E:Researchcocos2dcocos2d-2.0-x-2.0.2) 
    $(call import-add-path, E:Researchcocos2dcocos2d-2.0-x-2.0.2cocos2dxplatform hird_partyandroidprebuilt) 
    $(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 oolslib下的plugin.prop文件修改其中的版本号,改为与所安装的ATD同版本号即可

     

  • 相关阅读:
    mongo dump
    http请求
    DT-06 For AT
    DT-06 For Homekit
    DT-06 For MQTT
    利用DoHome APP和音箱控制小车的实验参考步骤
    利用DoHome APP和音箱控制LED灯实验参考步骤
    利用DoHome APP和音箱控制继电器通断电实验参考步骤
    HTML5学习笔记1
    HTML5学习第四天
  • 原文地址:https://www.cnblogs.com/damowang/p/4316175.html
Copyright © 2020-2023  润新知