Cocos Creator Android打包 apk
这一篇讲的是用 Cocos Creator 编译器打包 Android APP 的时候遇到的一些问题,虽然说打包的过程不是很复杂,但是在其中还是会遇到各式各样的坑。
我们将项目用CCC(Cocos Creator)编译器打包的时候,肯定是要先配置一下本机的开发环境,我这里主要是打包成 Android APP 的时候需要依赖的开发环境。
下载 Java SDK(JDK)
在编译 Android 工程的时候需要在本地电脑上有完整的 Java SDK 工具,如果没有这个工具可以到下面的地址下载:
Java SE Development Kit 8 Downloads
下载的时候注意选择一下和本机匹配的操作系统和架构,下载完成后运行安装就可以了。
安装后检查 Java 环境就是在命令行工具中输入以下代码来查看:
输出显示结果为上图,则没有问题,如果系统中使用的是JRE则需要安装 JAVA SE 运行环境
检查之后,我们还需要确认下本机的环境变量中是否包含 JAVA_HOME 。没有配置环境的可以通过右键点击我的电脑,选择属性,打开高级选项卡来查看和修改环境变量。
变量值就是安装Java的路径,修改完成之后需要重启一下电脑才会生效。
依照官方文档,下载 JDK 后是通过 Android Studio 下载所需的 SDK 和 NDK。当然也可以自己去独自下载这两个工具: SDK 、NDK 。下载之后就是运行安装就可以了。
我们这边就先讲讲从 Android Studio 中去下载,首先就是 安装 Android Studio 。安装的过程中直接点下一步,下一步就可以了。
安装完成之后,运行打开一个新的文件就可以了,进入主界面之后。点击主界面右上角的一个是下载的图标去下载安装我们所需的工具。
点开之后进入分页栏,根据自己想支持的手机版本去下载
在 SDK Tools 分页栏,首先勾选右下角的 Show Package Details,显示分版本的工具选择。
在 Android SDK Build-Tools 里,选择最新的 build tools 版本。
勾选 Android SDK Platform-Tools, Android SDK Tools 和 Android Support Library
勾选 NDK,确保版本在 14 以上(推荐使用 r16)。NDK-r18 已经移除了 GNU 编译器,请 Creator v2.0.9 以下的版本 不要 将 NDK 更新到 r18,否则会导致编译报错。
记住窗口上方所示的 Android SDK Location 指示的目录,稍后我们需要在 Cocos Creator 里填写这个 SDK 所在位置。
点击 OK,根据提示完成安装。
配置原生发布环境路径
下载安装好开发环境依赖后,让我们回到 Cocos Creator 中配置构建发布原生平台的环境路径。在主菜单中选择 文件 -> 设置,打开设置窗口:
在原生开发环境里面要配置两个路径:
- NDK 路径,选择
Android SDK Location
路径下的ndk-bundle
文件夹(NDK 是其根目录),不需要编译 Android 平台的话这里可以跳过。 - Android SDK 路径,选择刚才在 SDK Manager 中记下的
Android SDK Location
路径(Android SDK 的目录下应该包含 build-tools、platforms 等文件夹),不需要编译 Android 平台的话这里可以跳过。
配置完成后点击 保存 按钮,保存并关闭窗口。
配置好开发环境后就是打包发布了。
打包发布原生平台
点击菜单栏的 项目 -> 构建发布,打开构建发布面板。或者快捷键 Ctrl + Shift + B 也可以打开构建发布面板。
这里的这些构建选项都可以参考 Cocos Creator 的官方文档 去查看各个选项的作用,这里就不再一一列出了。
构建原生工程
选择发布平台,设置了初始场景后,就可以开始构建了,点击右下角的 构建 按钮,开始构建流程。
构建成功后,在CCC编译器面板的控制台,看到输出了
Built to "C:\Users\Administrator\Desktop\Animation\build\jsb-link" successfully
就表示已经构建成功。构建结束后,我们得到的是一个标准的 cocos2d-x 工程,和使用 Cocos Console 新建的工程有同样的结构。接下来我们可以选择通过 Cocos Creator 编辑器的进程进行编译,以及运行桌面预览,或手动在相应平台的 IDE 中打开构建好的原生工程,进行进一步的预览、调试和发布。
通过编译器去编译和运行
点击下方的 编译 按钮,进入编译流程,如果模板选择了 link
的源码版引擎,这个编译的过程将会花费比较久的时间。编译成功后会提示
Compile native project successfully.
如果在控制台中显示出现错误的,建议删除掉 SDK 中的 ndk-bundle 文件,然后重新 下载 DNK 文件,建议下载旧版本 r16 或者 r17,下载最新版本可能会报错。
下载完成后将下载的文件替换掉我们删除的 ndk-bundle 文件,并将文件名更改成 ndk-bundle 。然后再次进行编译。
接下来就可以点击右下角的 运行 按钮,通过默认方式预览原生平台的游戏。
点击运行后,视平台不同可能还会继续进行一部分编译工作,请耐心等待或通过日志文件查看进展。
如果我们没有更改路径,打包后的 apk 会在 build\jsb-link\publish\android 里面。
这就完成了打包,虽然不是很难,但是我们总是会因为配置环境变量的问题,而报出各种错误,在下载工具的时候也会因为工具的残缺,报出各式各样的错误,总之会出现各种各样的坑。
Cocos Creator Android打包 apk的更多相关文章
- android打包apk时混淆遇到的问题
android打包apk的时候一般会选择混淆,而在eclipse中常使用的是proguard来混淆.有很多时候引用了第三方包的时候会导致打包不成功,或者打包成功不能运行的情况. 首先看看正常的prog ...
- ReactNative之Android打包APK方法(趟坑过程)
欢迎大家加群讨论 点击链接加入群[ReactNative-解决问题交流群] :644124441 点击链接加入群[ReactNative技术交流群2] :687663534 多余的不解释了.直接上车吧 ...
- React Native Android打包apk
按照官方的5步曲: 1.在终端里面,cd 到项目的根目录后.执行下面这行命令: keytool -genkey -v -keystore my-release-key.keystore -alias ...
- [置顶]
Android 打包apk无敌报错
前言: 这个问题从昨天上午一直到现在,请教了很多大佬,都没有给出确定的解决方案,可能他们也没碰到过可能,不过还是挺感谢他们的建议,一直到今天中午午休,我一直都在想这个问题,就是下面的这个,看了国内很多 ...
- 【转】android Apk打包过程概述_android是如何打包apk的
最近看了老罗分析android资源管理和apk打包流程的博客,参考其他一些资料,做了一下整理,脱离繁琐的打包细节和数据结构,从整体上概述了apk打包的整个流程. 流程概述: 1.打包资源文件,生成 ...
- android Apk打包过程概述_android是如何打包apk的
流程概述:1.打包资源文件,生成R.java文件2.处理aidl文件,生成相应java 文件3.编译工程源代码,生成相应class 文件4.转换所有class文件,生成classes.dex文件5.打 ...
- cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)
链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...
- Cocos2d-x 3.2 学习笔记(四)学习打包Android平台APK!
从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷! (涉及到3.1.1版本的,请自动对应3.2版本,3.x版本的环境搭建都是一样的) ...
- Cocos2d-x 3.2 打包Android平台APK
(转自:http://www.cnblogs.com/Richard-Core/p/3855130.html) 从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭 ...
随机推荐
- 正则的lastIndex 属性
简介:正则的lastIndex 属性用于规定下次匹配的起始位置. 注意: 该属性只有设置标志 g 才能使用. 上次匹配的结果是由方法 RegExp.exec() 和 RegExp.test() 找到的 ...
- vue2 父子组件数据更改
父级以对象的形式传递数据给子级,子级更改此数据时,父级同步更改
- BZOJ 2145: 悄悄话 (打表)
BZOJ 2145 题解 直接代词,所有格,常用副词,助动词,冠词,常用词打表 比较出现次数的多少来决定循环位移了几位. CODE #include <bits/stdc++.h> usi ...
- 使用 uni-app 开发遇到的问题
想法: uni-app 给我的感觉就像是把微信小程序的API,组件和vue的语法揉捏在一起所组成框架,没有原生小程序和vue那种流畅感,官方的 uni-ui 组件库不够成熟,坑比较多. 问题一:自 ...
- E:only-child
E:only-child 语法: E:only-child { sRules } 说明: 匹配父元素仅有的一个子元素E.大理石机械构件维修 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高 ...
- java http 上传文件夹
用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/1269085759/up6-jsp-mysq ...
- Luogu4191 [CTSC2010]性能优化【多项式,循环卷积】
题目描述:设$A,B$为$n-1$次多项式,求$A*B^C$在系数模$n+1$,长度为$n$的循环卷积. 数据范围:$n\leq 5*10^5,C\leq 10^9$,且$n$的质因子不超过7,$n+ ...
- 如何通过Thread查看一个方法被调用的顺序
Test1 package com.dwz.concurrency.chapter11; public class Test1 { private Test2 test2 = new Test2(); ...
- springboot工程打成war包
1.将pom.xml中默认的jar修改为war. <packaging>war</packaging> 2.排除SpringBoot内置的Tomcat容器. <depen ...
- zabbix监控windows案例
首先在zabbix官网下载zabbix软件包:https://www.zabbix.com/ 下载完成之后,将其解压到D盘 # 配置与安装,配置zabbix agent相关配置. 找到conf下的配置 ...