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

原文:http://www.cocoachina.com/bbs/simple/?t226339.html

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

一、Win平台
2.x参考文章
Cocos2dx移植android平台-我的血泪史
3.x参考文章
一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)
Cocos2d-x 3.0正式版及android环境搭建详细教程
cocos2d-x-3.0新建工程以及移植其他平台

二、Mac平台
2.x参考文章
Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行Cocos2dX自带TestsDemo项目
3.x参考文章
Mac搭建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 
[armeabi] 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);

你可能感兴趣的:(cocos2d-x)