分析Cocos2d Android 项目的生成和运行

玩转cocos2d-x(一)创建、生成、运行HelloWorld 因为最近项目需要,开始研究下cocos2d-x;关于cocos2d-x这里就不废话了。 作为一个程序员,凡事先从HelloWorld开始,这是我们的优良传统。 这里先说下如何创建一个cocos2d-x的HelloWorld项目。 第一步:下载cygwin并安装,至于如何安装cygwin就不多说了。网上这类资料实在是太多了。 需要注意的是一定要安装gcc g++ gdb make这些工具 阅读详情

构建 Cocos2d 的 Android 开发和 build 环境貌似运行了几个批处理, 但实际遇到若干问题, 通过分析其内部机制才得以解决


准备工作请大家参见: "Cocos2d-x学习之windows 7 android环境搭建" ( http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html )


生成项目

运行 create-android-project.bat 看看此批处理做的事情:

1) 用 Android SDK 的  android.bat  create 生成 空eclipse 项目

call "%_ANDROIDTOOLS%\android.bat" create project -n %_PROJECTNAME% -t %_TARGETID% -k %_PACKAGEPATH% -a %_PROJECTNAME% -p %_PROJECTDIR%\proj.android


2)  用 android.bat  update 填充项目

call "%_ANDROIDTOOLS%\android.bat" update project -l ../../cocos2dx/platform/android/java -p %_PROJECTDIR%\proj.android

就是把 cocos2dx/platform/android/java 中的文件(Cocos2dxActivity.java,Cocos2dxBitmap.java, etc. )copy 到 空项目中


3) 复制文件其他项目文件

create-android-project.bat 调用了 cygwin 的脚本去复制文件 ( cocos2d-2.1rc0-x-2.1.2\template\android\copy_files.sh)

a)  复制 helloworld

# from HelloWorld copy src and jni to APP_DIR
copy_src_and_jni(){
    cp -rf $HELLOWORLD_ROOT/proj.android/jni $APP_DIR/proj.android
    cp -rf $HELLOWORLD_ROOT/proj.android/src $APP_DIR/proj.android
    
    # replace Android.mk
    sh $COCOS2DX_ROOT/template/android/gamemk.sh $APP_DIR/proj.android/jni/Android.mk $NEED_BOX2D $NEED_CHIPMUNK $NEED_LUA
}

还要copy  build_native.sh 等等

现在生成的项目结构是

App Home  ------ Classes ( HelloWorldScene.cpp, AppDelegate.cpp .etc )

                    ------  proj.android ( eclipse 的项目结构)   

                    ------ Resources ( helloworld.png. etc )

编译 Native

用 cygwin 进入目录 proj.android, 而后 运行 build_native.sh, 它做的事情如下:

1) 把 Resources 下的图片copy 到 proj.android/asset下

      这里强烈建议:  把 这段 copy 代码去掉, 而后手工复制, 因为 cygwin 下 执行这段代码总有问题

2) 而后执行 ndk-build,  目标是运行 proj.android/jni/Android.mk


-------------- Android.mk---------------

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := game_shared  
LOCAL_MODULE_FILENAME := libgame  本 module 是生成 libgame

本module 直接包含的文件

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes                   

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static 本module 依赖的静态库
            
include $(BUILD_SHARED_LIBRARY)

$(call import-module,CocosDenshion/android) \ 引入 CocosDenshion/android/Android.xml 生成 cocosdenshion_static
$(call import-module,cocos2dx) \    引入 cocos2dx/Android.xml 生成 cocos2dx_static (libcocos2d.a)
$(call import-module,extensions) 引入extensions 生成 cocos_extension_static



如果你看见最后一行 build log如下: 你build成功了

Install        : libgame.so => libs/armeabi/libgame.so

最总生成proj.android/libs/armeabi/libgame.so, 包含所有的 native


最后 在 eclipse import项目就可可以编译了


问题

但可有由于 Cocos copy files 做得不完善, 可能在若干问题

1)  eclipse中  org.cocos2dx.lib 下面没有看见文件,但用win资源管理器能看到文件, 但没有权限打开

    可以删除这些,在直接cocos2dx/platform/android/java复制


2) 有的文件因为权限不够而没有编译, 但系统不给错误信息

比如 hellocpp/main.cpp, 没有编译, 运行后Frame 大小不对



修改 main.cpp权限, 再次编译


如果你遇到下面的错

Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/android' in import path    
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?    
Android NDK: The following directories were searched:    


有两种解决方法

1) 在 jni/Android.mk 中, 添加

$(call import-add-path, d:\cocos2d\cocos2d-2.0-x-2.0.2)

注意是在  $(call import-module, ...  之前


2)  修改 build_native.sh

看 COCOS2DX_ROOT 配置是否正确

COCOS2DX_ROOT="$DIR/../.."


如果生成项目再出现问题, 相信也可以用直接手工 copy file 的方法解决了


创建Cocos2d-x项目和导入Eclipse成功运行方法 前提是你安卓环境,python,NDK都已经下载安装好了  1、创建项目 Create_project.py  -project 项目名 -package 包名(为了android项目,包名采取三级目录) -language 所用语言 2、导入项目到Eclipse 点击File,import,接着如图所示 点击Browse,选择你安卓项目所在的位置,如下图所示: 接着直接F... 阅读详情

相关推荐

【iOS-cocos2d-X 游戏开发之三】Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行Cocos2dX自带TestsDemo项目!

李华明Himi 原创,转载务必在明显处注明:【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2dx/636.html大家都知道Cocos2d-X是个多平台支持的游戏引擎,那么当今最主流的手机系统是iOS和Android,所以少不了Android的童鞋以及iOS的童鞋都偏向于Cocos2d-X引擎,而且更多的Android开发者还是习惯

李华明Himi 3万+

cocos2d-x在Android的运行流程始末

由于Android的应用层是从Activity开始的,也就是创建完一个Cocos2d

kingabcde的专栏 2240

cocos2d-x-3.0beta使用Python 创建Cocos2d-x 项目和编译Android 项目

2014年1月8号 cocos2d-x-3.0beta发布了,游戏开发者有福了!3.0版本游戏性能有很大提升,大家可以去官网了解下!至于官方3.0正式版,预计会在2月份左右发布,大家一起期待吧!(Cocos3d-x 3D开源游戏引擎发布日期也将不远了,哈哈!) 言归正传,在Windows平台开发的用户,我想Cygwin应该不陌生吧!3.0版本可以不再需要Cygwin来编译Android项目了,而

秋风细雨的专栏 3327

Cocos2dx 对android支持原理

Cocos2dx 基于opengl es 实现跨平台功能,虽然android 已经支持native ,还是需要使用到android平台中的特性。 首先从程序的主入口 MainActivity MainActivity跟进,java首先加载static函数,将libgame.so导入进来, 根据activity的生命周期,首先调用oncreate()方法,由于继承Cocos2dx

u013479411的专栏 3667

用AndroidStudio开发cocos2d-x 项目

最近学习cocos2d游戏开发,发现网上的教程都是用eclipse为IDE搭建的环境,于是就下载eclipse照着做,可是跟着步骤做下来,引入项目时总是出项各种错误,什么包没导入,类找不见,还有各种eclipse认为你错了的错误,最后实在折腾烦了,就尝试用了下AndroidStudio,没想到还挺好用。首先要配置NDK,Android SDK,Ant什么的,大家肯定都没问题了,有问题网上也有非常多的

HankeXu学习笔记 7159

使用Cocos2d-x开发Android游戏

Cocos2d-x是一个开源的跨平台游戏引擎,它使用C++语言开发,可以用于开发Android游戏。本文将介绍如何使用Cocos2d-x开发Android游戏,并提供相应的源代码示例。

Byte_O_O的博客 870

从不同层面看cocos2d-x

一  框架层面 二  Lua层面 三  工具层面 四  android打包 一 框架层     整体来说,cocos2dX提供的一个简便的框架,包含了渲染,动画,事件分发,网络还有UI,物理引擎等几大模块。对于做一个游戏从功能上来说已经 足够了。我从这几个方面分别探讨下cocos2dX的优缺点以及我们在项目中是如何用到的 (1)渲染:渲染这块,他的渲染数据跟Sprite进行了绑定

u013321328的专栏 1202

TSC条码打印机C#例程(tsclib.dll调用) 【转】

//----program.cs using System;using System.Collections.Generic;using System.Windows.Forms; using System.Runtime.InteropServices;public class TSCLIB_DLL{[DllImport("TSCLIB.dll", EntryPoint = "abou...

weixin_33843947的博客 2440

CocosCreator-安装和运行模板项目

目录 安装 模板项目 Demo开始 创建空白项目 设置编辑器语言 添加背景 创建文本 添加按钮 Button 点击事件 cocos creator 雅基软件 ——Cocos引擎官方团队,出品的cocos起头名字起头的一系列软件都是免费的。 文档 api 安装 官网地址:www.cocos.com下载推荐版本 一路next,安装成功后,注册账号 如果密码正确,但是登陆不上,关闭软件,断网,再重新打开就好了,下载编辑器 模板项目 项目-新建-打开hell...

瑶山的博客 5211

Linux平台CCS安装配置完整示例

手把手讲解在Linux系统中完成CCS安装与环境配置的全过程,涵盖关键步骤与常见问题解决,是查找ccs安装教程时不可多得的实战指南。

weixin_42601134的博客 514

HFSS仿真中如何提取最大E/H场强与频率关系曲线

本文详细讲解了在HFSS仿真中提取最大E/H场强与频率关系曲线的完整流程。通过使用场计算器(Field Calculator)和创建场报告,工程师可以准确获得器件在整个频带内的电场或磁场强度峰值,并进一步推导出关键的功率容量曲线,为高功率射频器件(如滤波器、耦合器)的设计提供至关重要的安全评估依据。

ss78901的博客 1095

分析Cocos2d Android 项目的生成和运行

[-] 生成项目编译 Native问题 构建 Cocos2d 的 Android 开发和 build 环境貌似运行了几个批处理, 但实际遇到若干问题, 通过分析其内部机制才得以解决 准备工作请大家参见: "Cocos2d-x学习之windows 7 android环境搭建" ( http://www.cnblogs.com/lhming/archive/2012/

jinyeweiyang的专栏 528

FPGA进位链(Carry Chain)实战:从Xilinx CARRY8原语到性能优化全解析

本文深入解析了FPGA进位链(Carry Chain)的原理与应用,重点剖析了Xilinx CARRY8原语的端口功能与内部机制。通过实测数据揭示了进位链的真实延迟特性与温度影响,并详细阐述了如何利用DI和S信号进行动态路径优化、实现减法运算与条件进位选择,从而有效提升设计性能。最后,文章探讨了系统级的流水线拆分、布局约束等实战优化策略与常见陷阱。

weixin_29313817的博客 449

【cocos2d-x入门实战】环境配置、交叉编译及安卓项目的生成

1.配置cocos2d-x & Android开发环境 我想如果有意搞这个东东的,应该不用什么图文并茂了吧,稍微看一下就明白了。 1.1.安装VS2008 这是微软开发的集成开发环境,也是cocos2d-x的C++主战场。 下载地址:http://pan.baidu.com/share/link?shareid=532811852&uk=637953331 激活方式就不提供了,自

偶尔e网事 2万+

【影像组学】用3Dslicer或Python提取影像组学特征

用3Dslicer或Python提取影像组学特征

abdslfwoeugp 1万+

CKA-题库-简洁参考答案-反复练习20遍-必过!!!

新版CKA考试已于2020年9月1日正式上线! 考试模式:线上考试 考试时间:2小时 认证有效期:3年 软件版本:Kubernetes v1.19 重考政策:可接受1次重考 经验水平:中級 题目数量:17题 题库量小:随机的题目重复率极高 考试时可打开两个浏览器Tab,一个是考试窗口,一个用来查阅官方文档](https://kubernetes.io/docs/) 01 Task - 英文 Create a new ClusterRole named deployment-clusterrole tha.

随笔记录-分享&记忆 7315

cocos2d-android-1 生成动画,详细解读Cocos2d Android 项目的生成与运行中存在的问题...

对于Cocos2D-Android,估计很多同学都不甚了解,本篇教程将带你详细解读Cocos2D-Android项目的生成与运行中存在的问题。通过构建了Cocos2d的Android开发和build环境貌似运行了几个批处理,但实际遇到若干问题,通过分析其内部机制才得以解决生成项目运行create-android-project.bat看看此批处理做的事情:1)用AndroidSDK的android...

weixin_36074271的博客 411

20、超声多普勒成像技术全解析

本文全面解析了超声多普勒成像技术,涵盖彩色血流成像(CFI)、能量多普勒成像、超快多普勒成像和矢量多普勒成像的原理、流程、优势及临床应用场景。详细探讨了各成像模式的特点,如CFI的血流方向与速度可视化、能量多普勒对小血管的高灵敏度、超快多普勒的高帧率分析能力,以及矢量多普勒消除角度依赖性的创新方法。同时分析了技术面临的挑战及未来发展趋势,包括更高分辨率、人工智能辅助诊断和便携式设备的发展,为医学影像研究和临床诊断提供重要参考。

z2a3b4c5d的博客 277

cocos2d-x通过eclipse搭建安卓开发环境

概述cocos2d是一个基于MIT协议的开源框架,用于构建游戏,应用程序和其他图形界面的交互应用。 作为一个游戏引擎, 它可以帮你在创建游戏时节省很多的时间和精力,是目前非常流行的游戏引擎之一。在2D游戏方面,可以说是绝对的王者,市场占有率非常高。

jialiang的博客 2056

Orange3实战教程:转换---预处理

部件提供了多种预处理方法,这些方法可以在单个预处理流程中组合使用。某些方法也可作为独立部件提供,支持更高级的技术和参数调整。连接到测试与评分:在交叉验证的每个批次中应用预处理器,随后学习器的预处理器会作用于预处理后的子集。连接到学习器:覆盖学习器的默认预处理流程,仅应用自定义流程(各学习器的默认步骤详见其文档)。直接连接到原始数据并输出预处理后的数据集,可能导致模型过拟合。:从原始数据中随机选择固定数量或百分比的特征,主要用于高级测试或教学用途。的预处理器输入,同时传入数据和学习器(如。

err2008的专栏 147

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

vs创建的cocos2d项目在安卓设备上运行并生成apk

创建vs下的安卓项目,方法见文章《cocos2d-x V2.14以后版本的环境部署》 用eclipse导入刚才创建的项目,项目路径:E:\cocos2d-x-2.2.2\cocos2d-x-2.2.2\projects\WjHelloWorld\proj.android       拷贝cocos2d目录\cocos2dx\platform\android\java\src目录下的o

酒剑仙的技术心得 3655

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android上运行cocos2d-x项目

cocos2d-x3.0以来,目录中就多了一个叫setup.py的配置文件。运行它可以帮助我们迅速的配置必要的环境变量:cocos2d-x命令行的路径,android_sdk的路径,ant_root的路径,android_ndk的路径。 首先自然是要下载cocos2d-x3.0之后的版本,下载android_sdk,android_ndk,和ant。 等环境变量配置完成,我们就可以开始

309

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【cocos2d】安卓打包apk

http://blog.youkuaiyun.com/ccdreamoldboys/article/details/48193457   Cocos2dx之入门基础 http://blog.youkuaiyun.com/tf_man/article/details/49923645   iOS APP archive打包和打包成Ipa

rioalian的博客 1306

从cocos2d中导入项目到Android

在windows环境中用cocos2d开发游戏,开发成功后导入到Android   1.首先用VS确定游戏能正常编译及运行。   2.配置好Android环境--(JDK+SDK+NDK+ANT+exlipse)   3.打开Eclipse在Package Explorer区域内单击鼠标右键,然后点击菜单Import,选择导入已经存在的Android工程   4.分别导入cocos2d项目

u014605728的博客 655

【iOS-cocos2d-X 游戏开发之七】整合Cocos2dX的Android项目到Xcode项目中,Xcode编写&编译代码,Android导入打包运行即可!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/667.html此篇针对较早的-x引擎讲解的,最新的可以参考: 【Cocos2d-X(2.x) 游戏开发系列之二】cocos2dx最新2.0.1版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入

李华明Himi 1万+

android(安卓)cocos2d-x关于防止游戏中锁屏问题

装载至http://fengmm521.blog.163.com/blog/static/2509135820137315430118/  最近写的一个塔防游戏。在玩游戏的时候发现,安卓手机过一会就会锁屏。苹果的ios这方面关于锁屏的资料到是有很多。而且苹果的官方也有说明文章,但是安卓的就不多。在网上找了很多的资料,大部分都写的很简短,对于像我这个安卓新手来说,完全不知道写的是什么。因为

Colin-Liao's column 1689
上一篇: 什么叫解锁 Bootloader
下一篇: 货郎问题 Java 实现
span76
博客等级 码龄18年 117粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值