Cocos打包移植Android平台问题集锦

Cocos2d-x今天的成功一个重要的原因就是跨平台特性,一次编码多平台运行真的是减轻了程序员不少的痛苦。因此作为X-MAN我们需要额外掌握的一项技能就是移植了,然而这个时候各种各样的问题也就来了。虽然Cocos2d-x的3.x版本,移植变得更加人性化,但是论坛中关于Cocos的移植问题却没有少过。所以,作为版主有必要将这些问题进行总结整理,方便大家查看。:2: :2: :2:
首先要附上几篇教程,都是关于Cocos2d-x打包移植Android平台的,每个版本都有对应不同平台的教程,教程是我在网上找的(希望没有侵权:877: ),大家如果有更好的教程欢迎推荐!:870: :870: :870:

一、Win平台

2.x参考文章

http://www.zaojiahua.com/android-platform.htmlCocos2dx移植android平台-我的血泪史

3.x参考文章
http://blog.csdn.net/liu1164316159/article/details/38058571一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)
http://www.cocoachina.com/bbs/read.php?tid=199238Cocos2d-x 3.0正式版及android环境搭建详细教程
http://www.zaojiahua.com/cocos2d-x-3-0.html%20

二、Mac平台

2.x参考文章
http://www.himigame.com/android-game/636.htmlMac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行Cocos2dX自带TestsDemo项目

3.x参考文章

http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/getting-started/setting-up-development-environments-on-mac-with-eclipse/zh.mdMac搭建Cocos2d-x v3.2alpha0 Android开发环境

三、问题集锦
以下是一些常见问题的集锦,没有覆盖的很全面,只是一部分,所以这个帖子将长期有效,大家在移植过程中总结的一些移植心得希望可以在帖子下留言,我整理以后将在本帖中发布出来,供更多的开发者学习。

1、Cocos2d-x版本ndk版本必须使用ndkr9d,使用ndkr9或者其他版本都不可以。
问题参考链接:
http://www.cocoachina.com/bbs/read.php?tid=225764
http://www.cocoachina.com/bbs/read.php?tid=215902

2、错误日志:
19:15:03 **** Incremental Build of configuration Default for project DragonBall ****
“D:\android-ndk-r9d\ndk-build.cmd” all
系统找不到指定的路径。
19:15:03 Build Finished (took 526ms)
解决方案:
出现错误的原因可能是NDKr9d版本没有选择正确,有64和32位之分,要和自己电脑的版本对应起来。

3、错误日志:
“D:\android-ndk-r9d\ndk-build.cmd” all
Android NDK: WARNING: Ignoring unknown import directory: E:\cocos2d-x-2.2.3
Android NDK: jni/Android.mk: Cannot find module with tag ‘cocos2dx’ 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:66: *** Android NDK: Aborting. . Stop.
解决方案:
如果NDK路径设置不正确可能会出现如下的错误信息。大家需要检查一下NDK的路径是否正确,在win平台下路径要用正斜杠而不是反斜杠。

4、错误日志:
make: *** No rule to make target jni/../../Classes/HelloWorldcene.cpp', needed by obj/local/armeabi/objs-debug/cocos2dcpp_shared///Classes/HelloWorldcene.o’. Stop.
make: Leaving directory `/Users/mac/Documents/cocos2d-x/cocos2d-x-3.0/projects/Test8/proj.android’
Error running command, return code: 2
解决方案:
出现如下的错误是.mk文件中的cpp文件名没有写正确,例如HelloWorldScene文件写成了HelloWorldcene。

5、错误日志:
**** Build of configuration Default for project FirstGame ****
E:\android-ndk-r9c\ndk-build.cmd
Android NDK: WARNING:E:/cocos2d-x-2.2.3/cocos2dx/Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries
Install : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
解决方案:
需要将eclipse工程项目下的dependencies库移除。如果错误任然存在,可以尝试刷新一下工程。

6、错误日志:
format not a string literal and no format arguments
解决方案:
点击这个问题会定位到CCString::createWithFormat(xxx)这个函数上,一般都是没有加格式控制符导致的,需要写成createWithFormat("%s",xxx);

大约什么时候n10可以用?刚升级到n10

http://www.cocoachina.com/bbs/read.php?tid=226487
帮忙看下这个,找不出问题啊

额 ,刚入门,下载了ndkr10 和ndkr9都不好用,还好看见这个帖子…:12:

:14::14:好样的……学习

小塔 又看到你了,呵呵,顶一个 加油 多谢你的分享 我刚入门,多亏了你的帖子,才出了这么多bug 。。。。。。。(呵呵 开玩笑)

很有用 学习:14::14: