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 ...
随机推荐
- shell脚本实现查找文件夹下重复的文件,并提供删除功能
Windows下有软件FindDupFile,可以搜索指定目录及其下子目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件. 然而shell脚本却可以使用几行的命令完成与此 ...
- hook技术分类
1.HOOK SERVICE TABLE:HOOK SSDT 这种方法对于拦截 NATIVE API 来说用的比较多. SSDT hook,一句话——Windows把需要调用的内核API地址全都存在了 ...
- jquery-multiselect在ie6里的一个bug
在使用jquery-multiselect(一个把下拉框改造成带checkbox的可以多选的控件)时,正常时应该是下面这样:而它在ie6里是下面这样: 其中第一个bug参考‘ie6里png图片不透明’ ...
- ECSTORE验证码优化
用ecstore的朋友应该知道,ecstore的验证码超级鸡肋. 特别是字母和数字混合,根本就看不懂写的是什么? 数字还好,但是字母就别提了.而且还小. 索性就把验证码换掉.研究一下发现,ecstor ...
- HTML&CSS基础学习笔记1.16-单元格间距和表格主体
上一篇讲html学习笔记,讲过了合并单元格,那么今天就来介绍下如何控制单元格的间距,以及表格主体的相关知识. 单元格间距 在上个知识点的显示结果中你可能发现了,单元格与单元格之间有一小段空白.这是由& ...
- Python之简单工厂模式实现
最近又看了下大话设计模式,决定用Python来试着实现下. 基础类 class OperationBase(): """ 基础运算类 """ ...
- 窗口!窗口!- Windows程序设计(SDK)003
窗口!窗口! 让编程改变世界 Change the world by program 内容节选: 在前边两节课的例子中,我们通过 MessageBox 函数创建一个消息框程序,消息框其实就是用来跟用户 ...
- MyGeneration 默认设置中没有数据库驱动
这 个问题的出现基本上是因为MyGeneration 1.3需要的是 .Net framework 4.0,如果系统安装了 .Net 2.0的版本,安装程序执行的 regasm.exe为2.0版本下的 ...
- 关于Android的一些理解
Activity中写回调函数 View的回调函数-------->事件回调 Activity层--------------->生命周期回调函数.事件回调函数 Window层 Layout是 ...
- C#使用.net.mail配置163邮箱报错:不允许使用邮箱名称。 服务器响应为:authentication is required,smtp9,DcCowABHK4UYE11W2k6fAQ--.52196S2 1448940312
client.UseDefaultCredentials = true; 要放在 client.Credentials = new NetworkCredential("用户名", ...