cocos2dx 2.x 安卓工程的创建 Mac下

35 篇文章 0 订阅
34 篇文章 0 订阅

配置环境

来自: http://www.cnblogs.com/mengshu-lbq/p/3435434.html

首先你要有权限修改profile文件

.1 设置etc目录权限everyone可读写, 设置profile文件everyone可读写

.2 或者你把profile拷贝出来, 在外面修改, 然后覆盖回去, 用管理员密码覆盖就可以了

进入/etc/profile文件, 修改加入这些: (注意, 这些目录是肯定和你的不一致, 自己去修改对应自己的目录

export ANDROID_SDK_ROOT=/opt/android-sdk-linux
export ANDROID_NDK_ROOT=/opt/android-ndk-r9b
export COCOS2DX_ROOT=/opt/cocos2d-x-2.2
export PATH=$COCOS2DX_ROOT:$ANDROID_NDK_ROOT:$ANDROID_SDK_ROOT:$PATH

3. 然后通过terminal进入cocos2dx的主目录

$ cd ./tools/android-buildsetup.sh
lbq:/opt/cocos2d-x-2.2.3.$ ./tools/android-buildsetup.sh

成功的话会有成功的提示:



后面开始自己总结:

创建工程

找到cocos2dx目录下的Tools的project-creator文件夹, 运行create_project.py脚本

会提示你加上项目名称河包名称以及代码类型, 都设置好后, 在cocos2dx目录下的project文件夹会生成以项目名称为名字的工程文件夹


你可以把项目拷贝到任何其他的目录, 但是别忘了cocos2dx java部分的代码引用库找不到会报错, 一打开项目就一堆红色醒目的错误, 那说明库存在问题

这时候很简单, eclipse导入android的工程, 找到cocos2dx根目录的cocos2dx子目录(不是根目录)/platform/android/java, 把这个目录加到eclipse就好了, 然后移除项目内的引用路径


需要真机运行时, 需要创建一个虚拟机, 并把真机设置为开发模式, 此时在run configuration->android->target才能选择launch with a device


eclipse找不到ndk root

遇到的一些错误build_native.sh提示"bash please define NDK_ROOT"

这是ndk的路径没有设置

在第三行后面加上

export NDK_ROOT="/Applications/android/ndk"
就ok了

来自:http://zhanyonhu.blog.163.com/blog/static/16186044201382411181598/


cocos2dx中LabelReader.cpp错误

2.2.5版本cocos2dx编译第一次报错的问题 提示:

LabelReader.cpp 'transform' is not a member of 'std'

找到cocos2dx sdk目录下的
extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp

在里面加上

 #include <algorithm>

完美解决

来自:http://blog.csdn.net/wk3368/article/details/39210121


cocos2dx中的CCApplication 60行错误

CCApplication 60行错误的问题

CCApplication.cpp function:sharedApplication line:60


进入代码中将这句代码CCAssert(sm_pSharedApplication, "");注释掉

当然你还要删掉安卓项目下obj/local/armeabi/下的libcocos2d.a文件, 否则还是会出错的


批量导入cpp文件倒android.mk中

来自: http://blog.csdn.net/fu_zk/article/details/12836431

MY_CPP_LIST := $(wildcard $(LOCAL_PATH)/*.cpp)

MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/src/*.cpp)

MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/src/core/*.cpp)

LOCAL_SRC_FILES := $(MY_CPP_LIST:$(LOCAL_PATH)/%=%) 


这样避免了每个cpp都写一次的问题, 也不怕漏填和错填

最后一句$(MY_CPP_LIST:$(LOCAL_PATH)/%=%) 是移除MY_CPP_LIST中所有$(LOCAL_PATH)字符串, cpp不需要此路径


找不到box2d.h的错误

.在 Application.mk 里面添加下面代码

APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1

.把 

#include "Box2D.h" 

改成

#include "Box2d/Box2d.h"

.要搜索所有引用的地方, 然后修正, 才能通过, 否则有可能修复了当前错误地点, 但是还是报错的问题

http://www.tuicool.com/articles/maYjuy

http://www.verydemo.com/cm.jsp?c=26&u=cocos2dxbox2dandroid-xiang-mu-bian-yi


ZipUtils找不到的问题

同box2d一样, 需要添加路径

修改

#include "ZipUtils.h" 

#include "support/zip_support/ZipUtils.h"


尽量只导入cocos2d.h

如果你很多地方直接导入的是cocos2dx的某个类文件, 编译时是肯定报错的

把他们都改为

#include "cocos2d.h"

如果不这么做, 那你最好去写全每个调用类的路径


平台判断

如果有ios与android的区分代码, 多用这个来区分

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#endif


makefile的基础知识

http://blog.csdn.net/herecles/article/details/7958370


android运行安装时报错

Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

只要删除之前安装的apk就好

http://blog.csdn.net/centralperk/article/details/7579962


androidL android 5.0 不支持cocos2dx的背景音乐播放的解决方案

5.0新系统导致 SimpleAudioEngine::sharedEngine()->playBackgroundMusic() 无法播放背景音

使用下面的补丁修补cocos2dxmusic.java就好了

https://github.com/Dhilan007/cocos2d-x/commit/76c9accec9b8c3884f9ddec83be44df5d828605b

来源 https://github.com/cocos2d/cocos2d-x/pull/9088


警告extra tokens at end of #include directive

去掉引用后面的;号就好了

http://zhidao.baidu.com/question/399111539.html


警告warning: enumeral mismatch in conditional expression

单位不一致导致的

数值与枚举混用的时候会出现

http://blog.csdn.net/jasonfqw/article/details/5098810


错误Fatal signal 11 (SIGSEGV), code 2, fault addr 

直接删掉apk 然后重新安装


错误Cocos2dxSound android.content.res.AssetManager.openAssetFd(Native%20Method)

音效可能会不播放问题, 貌似没有音效没播放, 暂时放这里

http://discuss.cocos2d-x.org/t/no-sound/737/6


关闭Eclipse的debug开启就自动进入debug模式

preferences > Run/debug > perspective > Open the associated perspective when launching 从其他改为never

http://cc.bingj.com/cache.aspx?q=eclipse+%E7%A6%81%E6%AD%A2%E8%87%AA%E5%8A%A8%E8%BF%9B%E5%85%A5debug%E6%A8%A1%E5%BC%8F&d=4835979937579167&mkt=zh-CN&setlang=zh-CN&w=piZgDfZtDKCXJhG_j01pcQyJm7S0Jgcr




















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值