关于Cocos2d-x发布游戏的时候遇到的问题和解决
发布经常会遇到各种各样的问题,发布失败会返回一些值,但是这些值并不是重点,要看发布过程中产生的日志才能真正找到问题所在。我在发布自己做的第一个游戏的时候,遇到了各种各样的问题,不过都一一解决,下面是问题的一些解决方法。
一、发布之前的必要准备
1.进入
G:\cocosdata\Cocos\CocosProjects\NoOneDies_st\proj.android\jni路径
打开Android.mk文件
在原来的几个cpp文件声明的基础上再加上自己定义的cpp文件名字
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/Baby.cpp \
../../Classes/Block.cpp \
../../Classes/BlockGroup.cpp \
../../Classes/CuteFire.cpp \
../../Classes/Edge.cpp \
../../Classes/FallFire.cpp \
../../Classes/FireGroup.cpp \
../../Classes/GameController.cpp \
../../Classes/GameOverScene.cpp \
../../Classes/GameScene.cpp \
../../Classes/GroundFire.cpp \
../../Classes/HangBlock.cpp \
../../Classes/Hero.cpp \
../../Classes/Life.cpp \
../../Classes/QuestionOneScene.cpp \
../../Classes/QuestionThreeScene.cpp \
../../Classes/QuestionTwoScene.cpp \
../../Classes/ScoreAccount.cpp \
../../Classes/Sign.cpp \
../../Classes/SignGroup.cpp \
../../Classes/Smoke.cpp \
../../Classes/Star.cpp \
../../Classes/StartUpScene.cpp \
../../Classes/SuperPower.cpp \
../../Classes/UpFire.cpp \
../../Classes/WalkFire.cpp \
../../Classes/WaterGroup.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
2.删除classes中没有用到的cpp和.h文件,以及Android.mk文件没有用到的cpp文件声明
二、发布失败的原因和解决
1.第一次发布失败日志说我的GameScene.o文件有错误,我看了一下是多引用了一个没有用到的头文件。
删掉就好了
2.第二次发布失败日志说我的有一些警告被当成了错误,于是我百度了一下,还是打开Android.mk文件,在LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes语句下加上
APP_CFLAGS += -Wno-error=format-security
3.第三次发布失败日志说我的JDK路径有问题,没有找到相应的JDK
-compile:
BUILD FAILED
G:\cocoshome\tools\Android-SDK-2\tools\ant\build.xml:716: The following error occurred while executing this line:
G:\cocoshome\tools\Android-SDK-2\tools\ant\build.xml:730: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre1.8.0_101"
Total time: 10 seconds
应该是之前我安装其他的软件(MyEclipse)的时候,我的JDK的环境变量被改变了,解决方法是
打开cocos客户端--右上角偏好设置--平台--一键配置--只选择JDK就可以了,安装成功后重启客户端,重新发布就不会有这个问题了,不过我这样修改了JDK的路径,不知道其他软件会不会受到影响(MyEclipse之类),
如果有影响的话,可能又要重新设置那个软件的JDK路径
4.第四次发布失败日志说我的资源文件有问题,原来是我的一个图片的名字取得太奇怪,很多数字和空格,而呢个图片资源其实也没有用到
解决方法就是我删除掉那个坏掉的图片文件就好了
关于Cocos2d-x发布游戏的时候遇到的问题和解决的更多相关文章
- Cocos2D:塔防游戏制作之旅(十八)
在Enemy.m的getDamaged:方法只给你添加如下1行(在if条件内): [theGame awardGold:200]; 现在运行游戏你将注意到你不能放置超出你资源金币的炮塔了.当然杀死敌人 ...
- 【Cocos2D研究院之游戏开发】
http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发] 201211-19 Co ...
- 发布mvc遇到的HTTP错误 403.14-Forbidden解决办法
发布mvc遇到的HTTP错误 403.14-Forbidden解决办法 <system.webServer> <validationvalidateIntegratedMod ...
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...
- Cocos2D:塔防游戏制作之旅(一)
原文地址:http://www.raywenderlich.com/37701/how-to-make-a-tower-defense-game-tutorial 由Pablo Ruiz写的入门教程, ...
- Cocos2D:塔防游戏制作之旅(八)
如果所有东西通过检查,则创建一个新炮塔,将它放置在基座上,然后添加到towers数组中. 注意:在方法最后的bridge语法需要做一些解释.你下载的初始项目已经为一 些文件打开ARC,但不是Cocos ...
- cocos2d 消除类游戏简单的算法 (一)
1. 游戏视频演示 2.三消游戏我的理解 上面视频中的游戏.我做了2个星期时间,仅仅能算个简单Demo,还有bug.特效也差点儿没有.感觉三消游戏主要靠磨.越磨越精品. 市场上三消游戏已经超级多了.主 ...
- Cocos2D:塔防游戏制作之旅(十七)
getHpDamage方法当敌人到达基地时被调用.你需要添加该方法到Enemy.m的update:方法中去,以便检查当敌人到达基地是会发生什么.幸运的是,你已经在之前的代码中实现这些了,你可以接着往下 ...
- Cocos2D:塔防游戏制作之旅(十六)
编译运行你的app,放置一些炮塔在你的地图上吧!你将看到炮塔在敌人移动如攻击范围时如何立即开始攻击,并且敌人的血条将随着攻击不断减少知道它们被人道毁灭!胜利即将来临了! 哦!Okay,这里只有少数细节 ...
随机推荐
- 从汇编角度来理解linux下多层函数调用堆栈运行状态
我们用下面的C代码来研究函数调用的过程. C++ Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 int bar(int c, int d) { ...
- Appium測试安卓Launcher以滑动窗口获得目标应用
所谓Launcher,指的是安卓的桌面管理程序,全部的应用图标都放在launcher上面.事实上这是一个非常easy的样例,仅仅是为了验证几点想法而已. 1.实验目的 做这个试验的目的有二 尝试下窗口 ...
- NodeJS错误处理最佳实践
NodeJS的错误处理让人痛苦,在很长的一段时间里,大量的错误被放任不管.但是要想建立一个健壮的Node.js程序就必须正确的处理这些错误,而且这并不难学.如果你实在没有耐心,那就直接绕过长篇大论跳到 ...
- HTML DOM的总结
DOM 是 Document Object Model(文档对象模型)的缩写,是 W3C(万维网联盟)的标准 W3C DOM 标准被分为 3 个不同的部分: 1.核心 DOM - 针对任何结构化文档的 ...
- 为ubuntu添加多媒体以及flash等等常用包
因为多媒体mp3,mp4以及flash等等都是一些有版权的东东,ubuntu不能直接集成到安装盘内,所以,做了2个常用包,来存放它们. ubuntu-restricted-addons ubuntu- ...
- [svc]磁盘接口与RAID
一 磁盘接口 IDE 传统家用: /dev/hda1 SISC 传统服务器: /dev/sdb1 SATA 现在家用 SAS 现在服务器用 FC(光纤通道) 高级服务器 注意: 分区编号,1-4只能给 ...
- Linux操作系统及应用课程笔记 索引
第0部分 软件的安装与配置 Linux下软件的安装与配置 第1部分* 绪论 第2部分* Linux的安装过程 第3部分 系统Shell和经常使用命令 Shell文件相关经常使用命令及參数总 ...
- jquery.roundabout.js图片叠加3D旋转
Roundabout是一个jQuery插件能够将一组静态HTML元素转换成可以灵活定制具有类似于转盘旋转效果的交互区域.有多种旋转形状可供选择.官方说明:roundabout.js是一个jQuery插 ...
- ny168 房间安排
房间安排 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 2010年上海世界博览会(Expo2010),是第41届世界博览会.于2010年5月1日至10月31日期间,在中 ...
- VC++ 目录选择对话框
打开目录选择对话框要使用到API函数SHBrowseForFolder来实现 函数原型为: LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi); 其中L ...