`
haierboos
  • 浏览: 451743 次
文章分类
社区版块
存档分类
最新评论

jni cocos2d-x游戏引擎移植到android:helloworld

 
阅读更多

前面搭建好了android开发环境

jni开发环境,那么就来用一用目前火热的cocos2d的游戏引擎吧

所需资料:

cocos2d :下载地址 http://www.oschina.net/p/cocos2d-x

我下载的是较老的版本 cocos2d-1.0.1-x-0.11.0。如果你和我一样,也是第一次,建议也下这个版本

ndk版本使用 r7 的。

这样之后才会遇到较少的问题

下载完,解压 cocos2d。

进入目录下修改create-android-project.bat 这个文件

@echo off
:: This script is used to create an android project.
:: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work under your environment.
:: Don't change it until you know what you do.
setlocal
:: Check if it was run under cocos2d-x root
if not exist "%cd%\create-android-project.bat" echo Error!!! You should run it under cocos2dx root & pause & exit 2	
if not exist "%~dpn0.sh" echo Script "%~dpn0.sh" not found & pause & exit 3
:: modify it to work under your environment	 
set _CYGBIN=d:\cygwin\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4
:: modify it to work under your environment
set _ANDROIDTOOLS=d:\program files\easipass\android-sdk_r20.0.3-windows-all\android-sdk-windows\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5
:: modify it to work under your environment
set _NDKROOT=c:\android-ndk-r7b\android-ndk-r7b
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
:: create android project
set /P _PACKAGEPATH=Please enter your package path. For example: org.cocos2dx.example:
set /P _PROJECTNAME=Please enter your project name:
if exist "%CD%\%_PROJECTNAME%" echo "%_PROJECTNAME%" exists, please use another name & pause & exit 7
echo "Now cocos2d-x suppurts Android 2.1-update1, 2.2, 2.3 & 3.0"
echo "Other versions have not tested."
call "%_ANDROIDTOOLS%\android.bat" list targets
set /P _TARGETID=Please input target id:
set _PROJECTDIR=%CD%\%_PROJECTNAME%
echo Create android project
call "%_ANDROIDTOOLS%\android.bat" create project -n %_PROJECTNAME% -t %_TARGETID% -k %_PACKAGEPATH% -a %_PROJECTNAME% -p %_PROJECTDIR%	 
:: Resolve ___.sh to /cygdrive based *nix path and store in %_CYGSCRIPT%
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%~dpn0.sh"') do set _CYGSCRIPT=%%A
:: Resolve current dir to cygwin path
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%cd%"') do set _CURRENTDIR=%%A
:: Resolve ndk dir to cygwin path
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%_NDKROOT%"') do set _NDKROOT=%%A	 
:: Throw away temporary env vars and invoke script, passing any args that were passed to us
endlocal & %_CYGBIN%\bash --login "%_CYGSCRIPT%" %_CURRENTDIR% %_PROJECTNAME% %_NDKROOT% %_PACKAGEPATH% "windows" 
pause
修改红色字体部分为你对应的安装目录。


ok,接下来搞个helloworld吧。

哦,对了,这个需要有一个NDK_ROOT的环境变量,自己添加一下吧,不知道就百度哦。

添加完环境变量,重启计算机

打开create-android-project.bat文件

按照提示进行输入:

第一步输入你工程包名:com.android.cocos2d.test(可以自己输入哦)

第二步输入工程名称:test

第三步窗口会列出所有可以选择的android版本,自己选择一个输入id号码 ,我输入 7 对应 android的2.3.3版本的

然后生成项目就ok了,可以看到当前目录下多了一个test目录,这个就是工程目录了,没看到的话刷新一下。


接下来就是编译,需要将代码编译成可以调用的so链接库

打开cygwin

进入生成的项目的android目录

执行build_native.sh这个shell脚本。就开始编译了。需要一点时间


如果你使用的不是我所说的对应的版本,那么可能这里会遇到形形色色的问题,也欢迎把问题贴给我,我可能可以替你解决。但还是建议百度,这样速度来的比较块一点。


ok,所有步骤结束之后,打开eclipse,直接导入工程,工程结构应如下图



运行


ok,打完收工

分享到:
评论

相关推荐

    cocos2d-x-3.13.1 spine3.6.zip

    在3.13.1版本中,Cocos2d-x对Spine动画引擎的集成进行了更新,这是一项重要的改进,极大地提升了2D游戏中的角色动画表现力。 Spine是一款强大的骨骼动画工具,特别适合于制作2D游戏中的角色动画。它的3.6版本引入了...

    cocos2d-x手机游戏开发 跨iOS、Android和沃Phone平台

    ### cocos2d-x手机游戏开发跨iOS、Android和沃Phone平台 #### 一、Cocos2d-x简介 Cocos2d-x 是一个开源的移动游戏开发框架,它支持多种编程语言,包括 C++、JavaScript 和 Lua。由于其强大的功能和良好的跨平台...

    Cocos2d-x跑酷(StarterKit)游戏源码

    10. **Android集成**:除了Cocos2d-x的核心游戏逻辑外,源码还涉及到Android特定的集成,如AndroidManifest.xml配置,Intent启动游戏,以及可能的JNI(Java Native Interface)交互,用于调用原生Android库。...

    Cocos2d-Java跨平台游戏引擎

    Cocos2d-Java是基于Cocos2d-X,使用Java语言来开发Cocos2d跨平台游戏的引擎,和-lua,-js的api风格相近,方便快捷,便于习惯Java的开发者开发跨平台游戏。 知识点一:Cocos2d-Java的定义和特点 Cocos2d-Java是...

    JNI(c++与Java互调)cocos2d-x_3.x和android studio 3.0

    在Android开发中,JNI被广泛应用于实现Java与C++的互操作性,特别是在性能敏感的应用场景,如游戏开发,如cocos2d-x框架。cocos2d-x是一个开源的、跨平台的2D游戏开发框架,使用C++编写,但同时支持Java等其他语言的...

    cocos2d-x 3.6创建项目代码

    Cocos2d-x是一款开源的游戏开发框架,广泛用于2D游戏、实时预览、互动媒体应用等开发。在本文中,我们将深入探讨如何使用cocos2d-x 3.6版本创建一个新的项目,并解决可能遇到的编译问题。 首先,我们要确保已经正确...

    cocos2d-x嵌入webview

    在移动游戏开发领域,cocos2d-x作为一个广泛使用的2D游戏引擎,以其高效、跨平台的特性受到众多开发者青睐。然而,游戏往往需要与网页进行交互,以实现动态更新内容、广告展示、社交分享等功能,这就是cocos2d-x嵌入...

    cocos2d-x范例游戏

    通过NDK(Native Development Kit)和JNI(Java Native Interface),cocos2d-x允许开发者使用C++编写游戏逻辑,并在Android平台上运行。同时,由于cocos2d-x使用原生代码,游戏性能通常比使用纯Java开发的游戏更优...

    cocos2d-x_Win32_Android_环境配置手册.doc

    《Cocos2d-x在Win32和Android平台的环境配置指南》 Cocos2d-x是一款开源的游戏开发框架,广泛应用于2D游戏、实验性的3D游戏以及各种交互式应用的开发。它支持多种平台,包括Windows、Android等。本指南将详细阐述在...

    cocos2d-1.0.1-x-0.13.0-beta--android-ndk-windows构建批处理.zip

    1. 请将文件放到cocos2d-1.0.1-x-0.13.0-beta目录下面 2. 打开build_android_ndk_tests.bat 文件 修改set NDK_ROOT=D:\Work7\android-ndk-r7c到你的NDK实际路径即可 3. jni/Application.mk 文件中加入 APP_MODULE : ...

    cocos2d-x protocol buffer android 工程

    Cocos2d-x 是一个广泛使用的开源游戏开发框架,它基于C++,并支持多平台,包括Android。Protocol Buffer(简称protobuf)是Google推出的一种数据序列化协议,它能够将结构化数据序列化,可用于数据存储、通信协议等...

    cocos2d-x移植android平台iconv中文支持库

    Cocos2d-x是一个流行的开源游戏引擎,它基于C++,并支持多种平台,包括Windows、iOS、Android等。在Windows环境下,Cocos2d-x默认使用了iconv库来处理字符集的转换,但当项目移植到Android平台时,由于系统环境和库...

    COCOS2D-X手机游戏开发++跨IOS、ANDROID和沃PHONE平台

    通过一套代码,开发者可以轻松地将游戏移植到不同的移动操作系统上。对于iOS开发,它支持Xcode集成,提供Objective-C和Swift的绑定;对于Android,它利用NDK和JNI进行编译和运行;沃PHONE作为中国联通定制的智能手机...

    cocos2d-x Andriod

    【cocos2d-x Android 开发】是针对Android平台的游戏开发技术,主要涉及使用cocos2d-x游戏引擎,结合NDK(Native Development Kit),在Windows环境下利用Cygwin模拟Linux环境来完成C/C++代码的编译。下面将详细阐述...

    8 cocos2d-x移植android的解决方案

    《Cocos2d-x项目移植到Android平台的全面指南》 Cocos2d-x是一款流行的开源游戏开发框架,广泛应用于跨平台游戏开发。当开发者在完成一个基于Cocos2d-x的Win32项目后,可能希望将其移植到Android设备上以触及更广泛...

    cocos2d-x 通过JNI实现c/c++和Android的java层函数互调-源码

    在Android应用开发中,Cocos2d-x是一个广泛使用的开源游戏引擎,它允许开发者使用C++编写游戏逻辑,同时提供了与Java交互的能力。本主题聚焦于如何通过JNI(Java Native Interface)来实现在Cocos2d-x中调用Java层的...

    cocos2d-x的win32工程移植到Android

    本文将详细介绍如何将基于cocos2d-x引擎开发的win32项目移植到Android平台。这一过程涉及多个步骤,包括配置Android工程生成器、创建Android工程、导入代码与资源以及编辑JNI文件夹下的关键配置文件。通过本指南,您...

    ubuntu系统下配置eclipse自动编译cocos2d-x的Android项目

    ### Ubuntu系统下配置Eclipse自动编译Cocos2d-x的Android项目 #### 知识点概述 本文将详细介绍如何在Ubuntu系统环境下配置Eclipse自动编译Cocos2d-x的Android项目。此过程涉及软件的下载安装、环境变量配置、项目...

    将Win32下编写的cocos2d-x项目编译到Android平台下运行

    在本文中,我们将探讨如何将一个在Win32环境下编写的Cocos2d-x项目移植到Android平台并进行运行。Cocos2d-x是一个流行的开源游戏开发框架,支持多平台,包括Windows、iOS、Android等。以下是详细的步骤: **步骤1:...

    shareSDK android 版本在cocos2d-x-2.2.6的集成

    在Android平台上,Cocos2d-x是一个广泛使用的开源游戏开发框架,它允许开发者用C++编写游戏,并在多个操作系统上运行。ShareSDK是一款强大的社会化分享工具,它支持将内容分享到各大社交网络,如微信、QQ、微博等。...

Global site tag (gtag.js) - Google Analytics