cocos2d-x for android配置 运行 Sample on Linux OS
1.从http://www.cocos2d-x.org/download下载稳定版 比如cocos2d-x-2.2
2.解压cocos2d-x-2.2.zip,比如本文将其解压到 /opt 目录下
3.运行 android-buildsetup.sh,运行之前需要先设置3个环境变量,如将以下变量写到文件 /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
然后:
$ cd /opt/cocos2d-x-2.2/tools $ ./android-buildsetup.sh
2.2.3版本需要采用如下的方式运行:(如果按照上面的运行话,脚本还给出了提示,赞,这个比较人性化)
$ cd ./tools/android-buildsetup.sh lbq:/opt/cocos2d-x-2.2.3.$ ./tools/android-buildsetup.sh
即改成需要在根目录下运行
android-buildsetup.sh的主要目的是将android sdk与ndk的目录路径写到各个sample工程的local.properties文件中.
成功运行,如下图所示:
4.接着编译JNI,与普通的Andorid工程不同的是,不是进入android工程中的JNI目录,然后运行ndk-build,如果这样运行,会出现如下的错误:
$ cd /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android/jni $ ndk-build Android NDK: /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android/jni/Android.mk: Cannot find module with tag 'cocos2dx' in import path Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ? Android NDK: The following directories were searched: Android NDK: /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android/jni/Android.mk:19: *** Android NDK: Aborting. . Stop.
而应该是:
$ cd /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android $ ./build_native.sh
如果正确的话,就会产生.so文件
5.但是如果您的NDK版本不是最新或者不购新的话(至少是r6以上,不包括r6版本),则会出现如下的错误:
/opt/cocos2d-x-2.2/cocos2dx/platform/android/CCGL.h:47: error: 'PFNGLGENVERTEXARRAYSOESPROC' does not name a type /opt/cocos2d-x-2.2/cocos2dx/platform/android/CCGL.h:48: error: 'PFNGLBINDVERTEXARRAYOESPROC' does not name a type /opt/cocos2d-x-2.2/cocos2dx/platform/android/CCGL.h:49: error: 'PFNGLDELETEVERTEXARRAYSOESPROC' does not name a type
网上也能查到很多这样的错误,也都是说NDK版本低的原因。
刚开始我更新了NDK版本并且重新执行了步骤3,但是还会出现以上的错误,
后来发现,是因为build_native.sh这个Shell脚本写的有问题:
# write local.properties if it doesn't already existif [ -f "$_LOCAL_PROPERTIES_FILE" ]thenecho "$_LOCAL_PROPERTIES_FILE exists. skipping overwrite"elseecho "writing $_LOCAL_PROPERTIES_FILE"echo -e "$_CONTENTS" > "$_LOCAL_PROPERTIES_FILE"fi
看到了没,写local.properties当且仅当local.properties文件不存在的时候,所以只要一开始运行过一次android-buildsetup.sh,那么那些android工程下local.properties就不会被更新,所以需要修改下android-buildsetup.sh这个脚本,每次运行都强制写local.properties文件:
# write local.properties wether if is exist # if [ -f "$_LOCAL_PROPERTIES_FILE" ] # then # echo "$_LOCAL_PROPERTIES_FILE exists. skipping overwrite" # elseecho "writing $_LOCAL_PROPERTIES_FILE"echo -e "$_CONTENTS" > "$_LOCAL_PROPERTIES_FILE" # fi
这样,就彻底搞定了。
6./opt/cocos2d-x-2.2/cocos2dx/platform/android这个是cocos2dx引擎的代码,很多sample工程都要引用这个lib
7.HelloCpp的“梦书”(原来是"Hello World"修改了下)二字来自 /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/Classes 下的HelloWorldScene.cpp文件
CCLabelTTF* pLabel = CCLabelTTF::create("梦书", "Arial", TITLE_FONT_SIZE);
代码很像Object C不是。--- 不过目前每次clean都会连cocos2d-x的引擎代码C++部分一起重新编译,很慢哦
参考:
1. https://github.com/cocos2d/cocos2d-x
2.How to setup Cocos2d-x (Windows and Android)
转载于:https://www.cnblogs.com/mengshu-lbq/p/3435434.html
cocos2d-x for android配置 运行 Sample on Linux OS相关推荐
- Android 在运行时请求权限
2019独角兽企业重金招聘Python工程师标准>>> 从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予.此方法可以简化 ...
- Xamarin Android项目运行失败
Xamarin Android项目运行失败 错误信息:Build Failed: MonoDroid does not support running the previous version. P ...
- android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法
Android Studio 运行按钮灰色的完美解决方法 今天新建项目的时候突然发现编译后运行按钮为灰色. 解决方案:第一步:点击图中的Add Configuration,出来如下界面 第二步:点+号 ...
- 【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )
文章目录 一.Android 平台运行的 cmd 程序类型 二.Android 平台运行的 cmd 程序编译选项 三.编译 Android 平台的 cmd 可执行程序 一.Android 平台运行的 ...
- android 配置ADB环境
今天,简单讲讲如何配置Android的adb命令环境. 之前,自己要使用Dos窗口的ADB命令,发现无法识别.很明显是ADB环境没有配置好.我这里Android studio的huan环境已经配置好了 ...
- Android应用基础知识(4)---Android处理运行时变更
Android处理运行时变更 有些设备配置可能会在运行时发生变化(例如屏幕方向.键盘可用性及语言). 发生这种变化时,Android 会重启正在运行的 Activity(先后调用 onDestroy( ...
- android o 编译及运行,【转】实践最有效的提高Android Studio运行、编译速度方案
原文:https://blog.csdn.net/xwh_1230/article/details/60961723 实践最有效的提高Android Studio运行.编译速度方案 最有效提升Andr ...
- ionic build android release,ionic build android -release运行报错
ionic build android -release运行报错,Could not reserve enough space for 2097152KB object heap,检查了应该有足够的空 ...
- 有没有办法在Android上运行Python?
我们正在开发S60版本,该平台具有不错的Python API. 但是,关于Android上的Python尚无任何官方资料,但是由于Jython存在,有没有办法让蛇和机器人一起工作? #1楼 目前还没有 ...
最新文章
- 预测过去?DeepMind用AI复原古希腊铭文,登Nature封面
- springmvc使用freemarker
- when is Component-preload.js loaded by UI Framework
- 前端面试系列-JS 异步编程
- 做免费的EDM,EmailCar看中的是挖掘数据的价值
- (软件工程复习核心重点)第六章实现和测试-第二节:软件测试基础
- LeetCode 696. Count Binary Substrings
- 最好的移动安全计划:先检查风险 再对症下药
- python中的jieba分词使用手册_Python jieba结巴分词原理及用法解析
- 会说话的PPT,从开发者角度十分钟理解区块链
- 【环境安装】Ubuntu20.04 安装yasm-1.3.0
- ssm酒店预订系统ssm酒店管理系统民宿预订ssm酒店客房预订系统SSM客房预订系统
- cadence——基本操作6
- Android重启App
- 安装PS 无法选择路径
- 转载SQL Server 数据库的性能优化
- ::ZheTian / 遮天 强大的Anti-Virus对抗工具
- linux运维实验,自制Linux系统实验
- 【PSO三维路径规划】基于matlab粒子群算法无人机山地三维路径规划【含Matlab源码 1831期】
- dnf进游戏找不到服务器,登录DNF显示连接不到服务器怎么办 服务器连接失败解决方法...
热门文章
- java方法参数类型不确定_一个Java方法能有多少个参数类型?这个好奇coder做了个实验...
- 0xFFFFFF的问题
- 计算机应用基础模拟三答案,《计算机应用基础》模拟试卷三答案
- java 工程新建ivy文件_Hadoop学习之路(八)在eclispe上搭建Hadoop开发环境
- linux设置基础软件仓库时,安装centos系统时设置基础软件仓库出错
- mysql level用法_MYSQL使用方法
- python错误bug调试问题汇总
- SFP光模块是什么? SFP光模块的类型及应用介绍!
- rs485中继器产品功能特点及应用领域介绍
- 【渝粤教育】21秋期末考试服务标准化10011k1