Cocos2d-x 3.x部署到安卓
一、前期准备
下载下列软件:
- Python2.7 (https://www.python.org/downloads/)
- Cocos2d-x 3.x (http://www.cocos2d-x.org/download/)
- JDK (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
- ADT (https://developer.android.com/studio/index.html#downloads) [里面包含Android Studio 和 Android SDK]
- NDK (https://developer.android.com/ndk/downloads/index.html)
- ANT (http://ant.apache.org/bindownload.cgi)
二、搭配环境变量
- 安装Python
然后进入“我的电脑”---“属性”---“高级系统设置”---“环境变量”
在系统变量中找到Path变量,编辑并添加Python存放的根目录路径(注意分号分隔)
测试:任意目录打开cmd,输入python,若出现以下版本信息,则安装成功:
2. 安装JDK
一直下一步就好,完成后进入“环境变量”设置
在系统变量里新建一个变量:JAVA_HOME,里面存储JDK存放的根目录路径
找到CLASSPATH变量,里面添加:;%JAVA_HOME%\lib;
测试:任意目录打开cmd,输入java -version,若出现以下版本信息,则安装成功:
3. ADT
4. NDK、ANT只需要解压就好
在系统变量中找到Path变量,编辑并添加NDK存放的根目录的路径,
以及ANT存放的根目录下的bin目录的路径,即 ant的根目录\bin
5. 解压Cocos2d-x安装包
打开cmd,并切换到解压目录下,输入python setup.py
然后会提示输入NDK、SDK、ANT的根目录,按要求输入即可(ANT要输入其bin目录!)
所有都结束后,关闭命令行,再次进入,并输入:
set NDK_ROOT
set ANT_ROOT
set ANDROID_SDK_ROOT
set COCOS_CONSOLE_ROOT
三、创建工程,并移植到安卓
- 创建工程
输入 cocos new PROJECT_NAME -p PACKAGE_NAME -l language -d DIRECTORY
PROJECT_NAME,项目名,如CatapultGame
PACKAGE_NAME,包名,如com.labi.game
language,语言,可以是cpp、lua、js
DIRECTORY,工程所在的目录
比如 cocos new CatapultGame -p com.labi.game -l cpp -d F:\cocosExample
2. 移植安卓平台
如果,你在项目过程中有自己添加.cpp文件的话,在打包.apk前需要修改proj.android/jni文件夹下的Android.mk文件,
将你新添的cpp文件加入进去
打开cmd,进入项目所在目录,
输入cocos compile -p android,即可
最后在 [项目文件夹]\bin\debug\android\文件夹下,可以找到APK文件
Cocos2d-x 3.x部署到安卓的更多相关文章
- 使用Jenkins+Pipline 持构建自动化部署之安卓源码打包、测试、邮件通知
一.引言 Jenkins 2.x的精髓是Pipeline as Code,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息 ...
- 使用Jenkins+Blue Ocean 持构建自动化部署之安卓源码打包、测试、邮件通知
什么是BlueOcean? BlueOcean重新考虑了Jenkins的用户体验.BlueOcean由Jenkins Pipeline设计,但仍然兼容自由式工作,减少了团队成员的混乱,增加了清晰度. ...
- Android项目部署时,发生AndroidRuntime:android.view.InflateException: Binary XML file line #168: Error inflating class错误
这个错误也是让我纠结了一天,当时写的项目在安卓虚拟机上运行都很正常,于是当我部署到安卓手机上时,点击登陆按钮跳转到用户主界面的时候直接结束运行返回登陆界面. 当时,我仔细检查了一下自己的代码,并 ...
- 新的开始---cocos2d
今天是一个新的开始,cocos2d的环境搭配好了,并且打包案桌apk的环境也搭配好了,安卓的这个搭配环境还是出了一点问题,前面弄了两个晚上(11-12.30)没弄出来,中间好几天都没有去弄,今天光棍节 ...
- 无框架完整搭建安卓app及其服务端(一)
技术背景: 我的一个项目做的的是图片处理,用 python 实现图片处理的核心功能后,想部署到安卓app中,但是对于一个对安卓和服务器都一知半解的小白来说要现学的东西太多了. 而实际上,我们的项目要求 ...
- 通过ADB调试安卓程序
ADB,即 Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具. 1.下载ADB后,将以下四个文件放到某个文件夹下即可.因为打开Cmd默认路径是 C:\Use ...
- tensorflow从训练自定义CNN网络模型到Android端部署tflite
网上有很多关于tensorflow lite在安卓端部署的教程,但是大多只讲如何把训练好的模型部署到安卓端,不讲如何训练,而实际上在部署的时候,需要知道训练模型时预处理的细节,这就导致了自己训练的模型 ...
- python3使用kivy生成安卓程序
技术背景 虽然现在苹果占据了很大一部分的市场,但是从销量数据来看,安卓还是占据了人口的高地.这里我们介绍一个用python的kivy+buildozer来进行安卓APP开发的简单教程,从整个过程中来看 ...
- 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(四)
[前言和思路整理] 千呼万唤Shǐ出来!最近莫名被基友忽悠着进舰坑了,加上要肝LL活动,又碰上公司项目紧张经常加班,这一章发得比以往时候来得更晚一些,抱歉啊. 上一章我们实现了BeatObjectMa ...
随机推荐
- JSONP的客户端的具体实现
JSONP的客户端的具体实现 1.远程调用一个js,代码如下: <script type="text/javascript"> var ...
- javascript中的substr和substring
1.substr 方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) 参数: stringvar 必选项. 要提取子字符串的字 ...
- 详解PHP的__set()、__get()、__isset()、unset()四个方法
PHP系统中给我们提供了很多预定义的方法,这些方法大部分都需要在类中声明,只有需要时才添加到类中.它们的作用.方法名称.使用的参数列表和返回值都是在PHP中预定好的,并且都是以两个下划线开始的方法名称 ...
- [转载]css3属性box-sizing:border-box的作用
http://jastate.com/css3-properties-box-sizingborder-box.html 定义和用法 按照w3c school的说法,box-sizing:border ...
- Activiti工作流学习-----基于5.19.0版本(2)
二.activiti.cfg.xml的其他bean节点配置 2.1 新特性:Job Executor和Async Executor 从5.17.0版本的activiti开始提供作业执行者(Job Ex ...
- uC/OS-II中的时间 (转)
时间是一个非常重要的概念,我们和朋友出去游玩需要约定一个时间,做事情也需要花费一段时间,总之,我们的生活离不开时间.操作系统也一样,也需要一个时间来规范其任务的执行. 我们生活中,时间的最小单位是秒, ...
- ida idc函数列表全集
下面是函数描述信息中的约定: 'ea' 线性地址 'success' 0表示函数失败:反之为1 'void'表示函数返回的是没有意义的值(总是0) AddBptEx AddBpt AddCodeXre ...
- hadoop SQL使用
转载自:http://slaytanic.blog.51cto.com/2057708/782175 Hive 是facebook开源的一个基于hadoop框架的查询工具,也就是说,需要用hive的话 ...
- Linux下关闭node应用
今天在折腾用node接入微信公众号时,碰到了node应用启动后卡死退出,需要找出该进程关闭的问题,由于对shell脚本不是很熟悉,记录如下: 我们在用npm start启动应用后,通常要关闭时,ctr ...
- 第8章 Android数据存储与IO——File存储
openFileOutput/openFileInput 这是android自带的两种解决方案.