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

一、发布之前的必要准备

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. Android LinearLayout的android:layout_weight属性

    本文主要介绍Android LinearLayout的android:layout_weight属性意义 android:layout_weight为大小权重,相当于在页面上显示的百分比,它的计算是根 ...

  2. Bridge - 桥接模式

    1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度 ...

  3. Linux内核中锁机制之完成量、互斥量

    在上一篇博文中笔者分析了关于信号量.读写信号量的使用及源码实现,接下来本篇博文将讨论有关完成量和互斥量的使用和一些经典问题. 八.完成量 下面讨论完成量的内容,首先需明确完成量表示为一个执行单元需要等 ...

  4. Python seed() 函数

    描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数.. 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ...

  5. Latex 附录生成方法-附使用的一些tips

    Latex 附录生成方法-附使用的一些tips 工具 使用latex写论文时,国内科研人员使用比较多的前端工具当属CTex,另外的前度工具有texstdio,texworks,sublime,甚至vi ...

  6. Android开发6——布局中的wrap_content和fill_parent以及match_parent

    一.言简意赅 fill_parent 是让控件宽或者高占全屏 wrap_content是让控件的高或宽仅仅把控件里的内容包裹住而不是全屏 二.分别来看  1 fill_parent 设置一个构件的布局 ...

  7. 2015小米暑期实习笔试题_风口的猪-中国牛市(dp)

    风口之下.猪都能飞.当今中国股市牛市,真可谓"错过等七年". 给你一个回想历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i] ...

  8. httpwebrequest异步参考

    http://www.cnblogs.com/SanMaoSpace/archive/2011/07/27/2118133.html http://www.cnblogs.com/qianlifeng ...

  9. angular学习笔记(十七)-路由和切换视图

    本篇介绍angular中如何通过判断url的hash值来显示不同的视图模板,并使用不同的控制器: 下面,通过一个例子,来一步一步说明它的用法: 我们要做一个邮箱应用,打开的时候显示的是邮件列表: 然后 ...

  10. Java、MySQL - 前补0的方法

    前补0的格式化方式在业务系统中经常使用,记录下此api. Java: public static void main(String[] args) { // 0002 System.out.print ...