快上网建站品牌

13518219792
  • 首页
  • 关于我们
    • 如何选择
    • 选择理由
  • 案例作品
    • 网站建设
    • 优化推广
    • 微信开发
    • 电商托管
  • 服务项目
    • 网站建设
    • 移动端/APP
    • 微信/小程序
    • 技术支持
    • 其它服务
  • 建站知识
    • 成都网站建设
    • 成都做网站
    • 成都网站设计
  • 网站售后
    • 成都网站运营
    • 成都网站维护
    • 成都网站推广
  • 客服中心
  • 全国分站

cocos2dx基础篇(2)——Win32移植到Android

【安装工具】

为象山等地区用户提供了全套网页设计制作服务,及象山网站建设行业解决方案。主营业务为成都网站设计、网站建设、象山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

   JDK

   Eclipse 或直接下一个 ADT集成开发工具

       SDK

       NDK9r

       ADT

       CDT

   安装方法自行百度。


【正文】

   1、由Cocos2D-X 和 VS2010 环境配置——1 中提到的python方法,创建新项目。

   然后将你开发好的win项目相应的文件Classes和Resources文件夹里的东西分别拷贝到刚创建的新项目中相应的Classes和assets文件夹中去。

   2、使用Eclipse将新项目中的pro.android导入。

cocos2dx基础篇(2)——Win32移植到Android

   3、修改Android.mk

        将你Classes里的cpp都包进来。

        并且在 include $(BUILD_SHARED_LIBRARY) 下面添加如下两行:

        $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3)

        $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt)

cocos2dx基础篇(2)——Win32移植到Android

   4、修改项目的参数

cocos2dx基础篇(2)——Win32移植到Android

   5、下面是bash,如果你的ndk版本低于r8,那么就需要再下个cywin了。

cocos2dx基础篇(2)——Win32移植到Android

        MAC的是这个(没有 .cmd 后缀)。

cocos2dx基础篇(2)——Win32移植到Android

   6、导入一些资源文件

       D:\Android\tools\cocos2d-x-2.2.3\CocosDenshion\include

       D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\include

cocos2dx基础篇(2)——Win32移植到Android

   7、在C/C++ Build 中的 Environment 里 Add 一个变量。

       NDK_MODULE_PATH

       D:\Android\tools\cocos2d-x-2.2.3;D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt

cocos2dx基础篇(2)——Win32移植到Android


   8、然后就可以点击导航栏中的cocos2dx基础篇(2)——Win32移植到Android , 开始编译了。。。

cocos2dx基础篇(2)——Win32移植到Android

   9、编译完之后,项目的bin中就多了一个apk文件。这样一直就成功了。。。

cocos2dx基础篇(2)——Win32移植到Android

   10、在手机上跑跑看。。。

cocos2dx基础篇(2)——Win32移植到Android



【问题】

如下有几个配置过程中可能出现的错误。。。


Q1:Program "bash" not found in PATH

A1:D:\Android\tools\android-ndk-r9d\ndk-build.cmd

       如果你的ndk版本低于r8,那么就需要下载cywin,具体过程自己百度。    

Q2:The import org.cocos2dx.lib cannot be resolved

A2:没有引入相应的包。

       Project Properties -> Java Build Path -> Source -> Link Source ->  "D:/Android/tools/cocos2d-x-2.2.3/cocos2dx/platform/android/java/src"

Q3:Symbol 'CocosDenshion' could not be resolved

A3:没有引入源文件的原因。

       Project Properties -> C/C++ General -> Path and Symbols -> Includes -> GNU C++ -> Add -> "D:\Android\tools\cocos2d-x-2.2.3\CocosDenshion\include"

       然后加下面两句话即可。

           #include "SimpleAudioEngine.h"

           using namespace CocosDenshion;

Q4:Type 'std::string' could not be resolved

A4:android本身是不支持C++的STL的,所以你需要加入一些C++的STL的库函数

       详情见 错误5。    

       然后加上两句,就可以用了。

           #include

           using namespace std;

Q5:Invalid arguments ' Candidates are: void * memcpy(void *, const void *, ?)

A5:为何会有“?”呢。。。

       查看原形extern void*  memcpy(void *, const void *, size_t);

错误提示中:Invalid arguments,意味着参数无效,很明显是size_t这个参数不被正常识别造成的。

源于此分析,那么凡是使用size_t类型参数的方法均会出现这个问题,例如:memset,memccpy,memchr,memcmp等。

解决方案:

       右击项目工程properties -> C/C++ General -> Paths and Symbols ->

       选择 "Includes" 标签的GNU C++。Add下面两个路径:

               D:\Android\tools\android-ndk-r9d\platforms\android-19\arch-arm\usr\include

               D:\Android\tools\android-ndk-r9d\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include

       如此,该问题可解。

       备注说明:

           还可在将以下两个头文件库添加到项目的include中:

           里面有一些其他的C++头文件和STL的头文件。。。

           D:\Android\tools\android-ndk-r9d\sources\cxx-stl\gnu-libstdc++\4.8\include;

           D:\Android\tools\android-ndk-r9d\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include;

Q6:*** Android NDK: Aborting.    .  Stop.

A6:修改项目的jni文件夹下的Android.mk。

        在 include $(BUILD_SHARED_LIBRARY) 下面添加如下两个:

    $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3)

    $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt)


Q7:The connection to adb is down, and a severe error has occured.

A7:cmd跳到sdk tools文件路径下;adb kill-server;然后再adb start-server;重启Eclipse。

Q8:Type 'xxxx' could not be resolved

A8:修改工程的indexer属性就OK了

cocos2dx基础篇(2)——Win32移植到Android

Q9:Unable to resolve target 'android-8'

A9:原因是没有android-8的SDK,打开Android项目中的project.properties,将target改成你电脑中拥有的SDK版本API。如我这里有API 10和API 19。那么将其改成android-10或android-19即可。

cocos2dx基础篇(2)——Win32移植到Android

Q*、其实其他的错误都和上面的错误很类似,有什么错,基本都是没有加头文件引起的。。。

欢迎大家提供其他的错误。。。。


文章题目:cocos2dx基础篇(2)——Win32移植到Android
网页链接:http://gydahua.com/article/jgspoc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

其他资讯

  • css样式表翻译 css translate
  • ios后端开发教程 ios后端开发教程在哪里看
  • vue如何引入css样式 vue中怎么引入css
  • ios开发打开文件 apple开发文档
  • css恢复li的样式 css重置样式表

行业动态

企业网站建设的重要性!

现在虽然是移动互联网时代,但企业网站依然重要,包含PC站点,移动站。可以说企业网站关系企业的未来发展和前途,尤其对中小企业更是如此,一些中小企业老板,对自己的名片很在乎,因为这是个门面。...

服务项目

  • 网站建设

    查看详情
  • 移动端/APP

    查看详情
  • 微信/小程序

    查看详情
  • 技术支持

    查看详情
  • 其它服务

    查看详情
  • 更多服务项目

    用我们的专业和诚信赢得您的信赖,从PC到移动互联网均有您想要的服务!

    获取更多

联系吧 在百度地图上找到我们

电话:13518219792

如遇占线或暂未接听请拨:136xxx98888

业务咨询 技术咨询 售后服务
网站设计
广安网站设计
LED网站设计方案
成都网站设计
温江网站设计
网站制作
成都网站制作
绵阳网站制作
网站制作公司
温江网站制作
联系我们
电话:13518219792
邮箱:631063699@qq.com
地址:成都青羊区锦天国际1002号
网址:www.gydahua.com
网站建设
企业网站建设
品牌网站建设
成都企业网站建设
品牌网站建设

微信二维码

  • 友情链接
  • 企业网站维护公司
  • 大邑柴油发电机出租
  • 网站空间
  • 普能电气
  • 产品包装设计
  • 品牌设计
  • 南充家政保洁
  • 四川硅藻泥
  • seo关键词优化
  • 成都包装设计公司

Copyright © 2002-2023 www.gydahua.com 快上网建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备19037934号

  • 在线咨询
  • 13518219792
  • 微信二维码

  • 移动版官网