cocos2dx的Android环境搭建(Windows/Mac

我用的cocos2dx3.15版本的。

以下步骤是在Windows平台执行的。

创建Cocos2d-x项目

将刚才下载的cocos2dx3.15压缩包解压到你指定的文件夹里。

进入到目录cocos2d-x-3.15/tools/cocos2d-console/bin/cocos.py

打开终端运行cocos.py脚本创建文件

python cocos.py new test -p com.coco2dx.org -l cpp -d ~/Desktop

参数说明:

  • test为项目名称
  • -p后面接包名
  • -l后面接开发语言类型,有cpp, lua, js三种类型
  • -d后面接项目存放的目录

编译libcocos2dlua.so文件

eclipse(不太推荐,谷歌已经放弃eclipse)

  • 创建一个空的android工程(我的工程是 TestAndroidCC)
  • 进入到刚刚创建的cocos2dx工程的proj.android目录下(我的是:D:\workspace\Cocos2dx_Pro\JXKJ_GAME\frameworks\runtime-src\proj.android)
  • 打开终端,执行 cocos compile -p android -android(因为cocos取消了执行build_native.py脚本编译的方式,统一用cocos命令,环境配置好了就可以直接执行cocos命令,如果cocos2dx命令未找到,说明环境配置有问题)或者可以执行 python D:\cocos2d-x\cocos2d-x-3.15\tools\cocos2d-console\bin\cocos.py compile -p android -android
  • 等待编译完成后,找到libcocos2dlua.so文件(在libs/armeabi目录下)
  • 把刚刚编译好的so文件所在的文件夹复制到TestAndroidCC目录下的libs文件夹下
  • 把cocos2dx的资源目录(res和src文件夹)复制到TestAndroidCC的assets目录下
  • 把cocos2dx3.15引擎D:\cocos2d-x\cocos2d-x-3.15\cocos\platform\android\java\src目录下的org文件拷贝到TestAndroidCC/src目录下
  • 在MainActivity.java的同级目录创建一个新Activity文件(名字自己定义,我的是GameActivity)继承Cocos2dxActivity(别忘了导入包import org.cocos2dx.lib.Cocos2dxActivity;)
  • 在AndroidManifest.xml 添加对新Activity的配置,添加注册新的GameActivity
  • 参考cocos2dx游戏项目的AndroidManifest.xml文件,对TestAndroidCC的AndroidManifest.xml做改动
  • 在activity_main.xml布局里添加一个button,然后在MainActivity里添为button添加事件
  • 编译运行TestAndroidCC,我用的是 夜神模拟器

Android Studio

  • 创建一个空的android工程(我的工程是 TestAndroid)
  • 进入到刚刚创建的cocos2dx工程的proj.android-studio目录下(我的是:D:\workspace\Cocos2dx_Pro\JXKJ_GAME\frameworks\runtime-src\proj.android-studio)
  • 打开终端,执行 cocos compile -p android --android-studio(因为cocos取消了执行build_native.py脚本编译的方式,统一用cocos命令,环境配置好了就可以直接执行cocos命令,如果cocos2dx命令未找到,说明环境配置有问题)或者可以执行 python D:\cocos2d-x\cocos2d-x-3.15\tools\cocos2d-console\bin\cocos.py compile -p android --android-studio
  • 等待编译完成后,找到libcocos2dlua.so文件(找了好久,发现在D:\workspace\Cocos2dx_Pro\JXKJ_GAME\frameworks\runtime-src\proj.android-studio\app\build\intermediates\transforms\mergeJniLibs\debug\folders\2000\1f\main\lib)
  • 在app/src/main目录下新建一个jniLibs(名字必须是这个一个字母都不能差)文件夹,把刚刚编译好的so文件所在的文件夹(armeabi文件夹)复制到jniLibs文件夹下
  • 在TestAndroid项目中导入Module,右击项目文件 - new - Module - Import Eclipse ADT Project导入D:\cocos2d-x\cocos2d-x-3.15\cocos\platform\android\java目录,libcocos2dx的Module导入成功
  • 对TestAndroid添加libcocos2dx的引用,右击项目文件 - app - Dependencies添加libcocos2dx
  • 把cocos2dx的资源目录(res和src文件夹)复制到TestAndroid的src/main/assets目录下(如果没有assets文件夹:右击TestAndroid项目下的app文件夹 - new - Folder - Assets Folder创建)
  • 在MainActivity.java的同级目录创建一个新Activity文件(名字自己定义,我的是GameActivity)继承Cocos2dxActivity(别忘了导入包import org.cocos2dx.lib.Cocos2dxActivity;)
  • 在AndroidManifest.xml 添加对新Activity的配置,添加注册新的GameActivity
  • 参考cocos2dx游戏项目的AndroidManifest.xml文件,对TestAndroidCC的AndroidManifest.xml做改动
  • 在activity_main.xml布局里添加一个button,然后在MainActivity里添为button添加事件
  • 编译运行,我用的是 夜神模拟器

如果想要退出游戏返回应用界面①cocos2dx lua项目:cc.Director:getInstance():endToLua()  ②cocos2dx c++项目:cocos2d::Director::getInstance()->end();

注意事项:编译so的时候失败,原因可能是NDK版本过高,也有可能是sdk tools版本过高,建议下载旧一点的tools,我下载的是tools_r25.2.5-windows.zip,替换Android-SDK下的tools

Android应用内嵌cocos2dx游戏项目的更多相关文章

  1. IOS应用内嵌cocos2dx游戏项目

    1.创建Cocos2d-x项目 相比于Android来说cocos2dx的iPhone环境基本不用配置,直接创建用xcode打开就可以运行. 到Cocos2d-x官方网站下载最新版本引擎. 将刚才下载 ...

  2. Android应用内嵌unity3d游戏项目

    在一个现有的Android项目中嵌入unity3d项目 1.将unity3d项目导出android工程 2.将第一步导出的Android工程中assets文件夹和libs文件夹下的所有内容复制到And ...

  3. Android工程内嵌Flutter

    本文记录一下Android主工程中嵌入部分Fluttter页面的实现方法. 创建一个Android工程模拟你的现有工程 为了让Android工程和Flutter工程互不干扰,这里不再以Android工 ...

  4. Android/iOS内嵌Unity开发示例

    Unity 与 Android/iOS 交叉开发主要有两种方式,以 Android 为例,一是 Android 生成 jar 或者 aar 包,导入到 unity3d plugin/bin/ 目录下: ...

  5. android EditText内嵌图片

    如下所示: 主要用到的属性:android:drawableLeft <EditText android:layout_width="match_parent" androi ...

  6. Android Lint——内嵌于Android Studio的代码优化工具

    Android Lint工具是Android Studio 自带的静态代码工模具,Android Lint是专门针对Android 定制的检查规则,因此可以检查出很多Android特有的代码缺陷.建议 ...

  7. cocos2d-x调用android内嵌浏览器打开网页

    cocos2d-x调用android内嵌浏览器打开网页,能够从入口传入网址,C++调用android 的api就可以实现. 方法也非常easy 1. 改动"cocos2dx\platform ...

  8. 关于Unity程序在IOS和Android上显示内嵌网页的方式

    近期因为有须要在Unity程序执行在ios或android手机上显示内嵌网页.所以遍从网上搜集了一下相关的资料.整理例如以下: UnityWebCore 从搜索中先看到了这个.下载下来了以后发现这个的 ...

  9. 使用Chrome开发者工具调试Android端内网页(微信,QQ,UC,App内嵌页等)

    使用Chrome开发者工具调试Android端内网页(微信,QQ,UC,App内嵌页等) 前言 移动端页面调试一直是好多朋友头疼的问题,iOS 由于其封闭的特性和整体较高的性能,整体适配相对好做,调试 ...

随机推荐

  1. Linux记录-linux系统常用监控指标

    1.Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工程 ...

  2. spring+springmvc+ibatis整合注解方式实例【转】

    源自-----> http://shaohan126448.iteye.com/blog/2033563 (1)web.xml文件(Tomcat使用) 服务器根据配置内容初始化spring框架, ...

  3. PHP7 网络编程(一)多进程初探

    准备 我们都知道PHP是单进程执行的,PHP处理多并发主要是依赖服务器或PHP-FPM的多进程及它们进程的复用,但PHP实现多进程也意义重大,尤其是在后台Cli模式下处理大量数据或运行后台DEMON守 ...

  4. 观察者模式--java

    写在前面 钩子函数.注册函数.回调函数,他们的概念其实是一样的. 观察者模式,又可以称之为发布-订阅模式,观察者,顾名思义,就是一个监听者,类似监听器的存在,一旦被观察/监听的目标发生的情况,就会被监 ...

  5. C#控件绘图恢复最小化后不自动重绘问题

    最近在学习C#中的绘图,使用控件绘图时发现一个现象:即使将绘图代码写在了Paint方法中,将窗口最小化再恢复后依然不会重绘,而只有将鼠标移到控件上或者有其他改变窗口的行为时才会重绘. 一开始以为是自己 ...

  6. ****** 四十 ******、软设笔记【网络基础】-Internet和Intranet基础

    Internet和Intranet基础 一.网络地址及子网掩码 1.IP地址结构及类别 IP地址是由32位二进制数,即4个字节组成的,由网络号和主机号两个字段组成. 网络号的位数决定了可以分配的网络数 ...

  7. Select 子句后的别名,在where条件中不能使用

    SELECT * FROM student WHERE (条件) 执行顺序,先执行FROM 子句,然后执行WHERE 子句,最后执行SELECT 所以Select 子句后的别名,在where条件中不能 ...

  8. luogu P2387 [NOI2014]魔法森林

    传送门 这题似乎不好直接做,可以考虑按照\(a_i\)升序排序,然后依次加边更新答案 具体实现方法是用lct维护当前的树,这里需要维护链上最大的\(b_i\).每次加一条边,如果加完以后没有环直接加, ...

  9. asp.net core处理中文的指南

    参考资料:https://docs.microsoft.com/en-us/aspnet/core/security/cross-site-scripting Customizing the Enco ...

  10. window 安装gcc交叉编译器

    参考网址:  https://blog.csdn.net/zsy19881226/article/details/46952535