配置环境
来自:http://www.cnblogs.com/mengshu-lbq/p/3435434.html
.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不需要此路径
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1
.把
#include "Box2D.h"
改成
.要搜索所有引用的地方,然后修正,才能通过,否则有可能修复了当前错误地点,但是还是报错的问题
http://www.tuicool.com/articles/maYjuy
http://www.verydemo.com/cm.jsp?c=26&u=cocos2dxBox2dandroid-xiang-mu-bian-yi
ZipUtils找不到的问题
#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
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