发布经常会遇到各种各样的问题,发布失败会返回一些值,但是这些值并不是重点,要看发布过程中产生的日志才能真正找到问题所在。我在发布自己做的第一个游戏的时候,遇到了各种各样的问题,不过都一一解决,下面是问题的一些解决方法。

一、发布之前的必要准备

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发布游戏的时候遇到的问题和解决的更多相关文章

  1. Cocos2D:塔防游戏制作之旅(十八)

    在Enemy.m的getDamaged:方法只给你添加如下1行(在if条件内): [theGame awardGold:200]; 现在运行游戏你将注意到你不能放置超出你资源金币的炮塔了.当然杀死敌人 ...

  2. 【Cocos2D研究院之游戏开发】

    http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发]   201211-19 Co ...

  3. 发布mvc遇到的HTTP错误 403.14-Forbidden解决办法

    发布mvc遇到的HTTP错误 403.14-Forbidden解决办法   <system.webServer>   <validationvalidateIntegratedMod ...

  4. Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法

    asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...

  5. Cocos2D:塔防游戏制作之旅(一)

    原文地址:http://www.raywenderlich.com/37701/how-to-make-a-tower-defense-game-tutorial 由Pablo Ruiz写的入门教程, ...

  6. Cocos2D:塔防游戏制作之旅(八)

    如果所有东西通过检查,则创建一个新炮塔,将它放置在基座上,然后添加到towers数组中. 注意:在方法最后的bridge语法需要做一些解释.你下载的初始项目已经为一 些文件打开ARC,但不是Cocos ...

  7. cocos2d 消除类游戏简单的算法 (一)

    1. 游戏视频演示 2.三消游戏我的理解 上面视频中的游戏.我做了2个星期时间,仅仅能算个简单Demo,还有bug.特效也差点儿没有.感觉三消游戏主要靠磨.越磨越精品. 市场上三消游戏已经超级多了.主 ...

  8. Cocos2D:塔防游戏制作之旅(十七)

    getHpDamage方法当敌人到达基地时被调用.你需要添加该方法到Enemy.m的update:方法中去,以便检查当敌人到达基地是会发生什么.幸运的是,你已经在之前的代码中实现这些了,你可以接着往下 ...

  9. Cocos2D:塔防游戏制作之旅(十六)

    编译运行你的app,放置一些炮塔在你的地图上吧!你将看到炮塔在敌人移动如攻击范围时如何立即开始攻击,并且敌人的血条将随着攻击不断减少知道它们被人道毁灭!胜利即将来临了! 哦!Okay,这里只有少数细节 ...

随机推荐

  1. OGG_GoldenGate数据控制进程Manager(案例)

    2014-03-03 Created By BaoXinjian

  2. PLSQL_统计信息系列05_统计信息的比较

    20150506 Created By BaoXinjian

  3. JSON概述及其在JavaScript与Java中的应用(整理)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成. 官网:http://json.org/ ...

  4. TRIZ系列-创新原理-9~11-预先反作用原理、预处理原理、预先防范原理

    一.预先反作用原理表述例如以下: 1)预先给物体施加反作用,以补偿过量的或者不想要的压力. 假设知道系统在执行过程中,会有不利的或者有害的作用(负面作用)产生,则能够预先採取一定的措施来抵消.控制这样 ...

  5. 【Android】7.8 MyDemos项目的结构和主界面相关代码

    分类:C#.Android.VS2015: 创建日期:2016-02-17 一.简介 上一讲已经说过,系统升级为Win10后,重新创建了一个新的项目:MyDemos,并把前7章合并到了这个项目中,这次 ...

  6. JVM 发生OOM的四种情况

    1.Java堆溢出:heap Java堆内存主要用来存放运行过程中所以的对象,该区域OOM异常一般会有如下错误信息;java.lang.OutofMemoryError:Javaheap space此 ...

  7. Oracle PLSQL Demo - 06.LOOP循环,以IF判断退出[IF in LOOP]

    declare v_sal ; begin loop v_sal :; dbms_output.put_line(v_sal); then exit; end if; end loop; end;

  8. 异常处理:1215 - Cannot add foreign key constraint

    最近在做新生入学系统,学生表中包括新生的班级,专业等信息,班级,专业就需要和班级表,专业表进行关联,但是在添加外键的过程中却出现了“Cannot add foreign key constraint” ...

  9. Spring教程索引

    Spring教程索引 2016-11-15 1 入门 1 概述.深入浅出Spring(一)Spring概述 2 体系结构 3 环境设置 4 Hello World 实例 5 IoC 容器   IoC容 ...

  10. mproxy: c 语言实现的一个最小的http代理,支持FQ

    https://github.com/examplecode/mproxy mproxy 使用说明 这是一个微型的http代理服务器实现,使用c语言实现,核心代码量不足500行,不依赖任何第三方的库( ...