这一篇讲的是用 Cocos Creator 编译器打包 Android APP 的时候遇到的一些问题,虽然说打包的过程不是很复杂,但是在其中还是会遇到各式各样的坑。

我们将项目用CCC(Cocos Creator)编译器打包的时候,肯定是要先配置一下本机的开发环境,我这里主要是打包成 Android APP 的时候需要依赖的开发环境。

下载 Java SDK(JDK)

在编译 Android 工程的时候需要在本地电脑上有完整的 Java SDK 工具,如果没有这个工具可以到下面的地址下载:

Java SE Development Kit 8 Downloads

下载的时候注意选择一下和本机匹配的操作系统和架构,下载完成后运行安装就可以了。

安装后检查 Java 环境就是在命令行工具中输入以下代码来查看:

  java -version

输出显示结果为上图,则没有问题,如果系统中使用的是JRE则需要安装 JAVA SE 运行环境

检查之后,我们还需要确认下本机的环境变量中是否包含 JAVA_HOME 。没有配置环境的可以通过右键点击我的电脑,选择属性,打开高级选项卡来查看和修改环境变量。

变量值就是安装Java的路径,修改完成之后需要重启一下电脑才会生效。

依照官方文档,下载 JDK 后是通过 Android Studio 下载所需的 SDK 和 NDK。当然也可以自己去独自下载这两个工具: SDKNDK  。下载之后就是运行安装就可以了。

我们这边就先讲讲从 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的更多相关文章

  1. android打包apk时混淆遇到的问题

    android打包apk的时候一般会选择混淆,而在eclipse中常使用的是proguard来混淆.有很多时候引用了第三方包的时候会导致打包不成功,或者打包成功不能运行的情况. 首先看看正常的prog ...

  2. ReactNative之Android打包APK方法(趟坑过程)

    欢迎大家加群讨论 点击链接加入群[ReactNative-解决问题交流群] :644124441 点击链接加入群[ReactNative技术交流群2] :687663534 多余的不解释了.直接上车吧 ...

  3. React Native Android打包apk

    按照官方的5步曲: 1.在终端里面,cd 到项目的根目录后.执行下面这行命令: keytool -genkey -v -keystore my-release-key.keystore -alias ...

  4. [置顶] Android 打包apk无敌报错

    前言: 这个问题从昨天上午一直到现在,请教了很多大佬,都没有给出确定的解决方案,可能他们也没碰到过可能,不过还是挺感谢他们的建议,一直到今天中午午休,我一直都在想这个问题,就是下面的这个,看了国内很多 ...

  5. 【转】android Apk打包过程概述_android是如何打包apk的

    最近看了老罗分析android资源管理和apk打包流程的博客,参考其他一些资料,做了一下整理,脱离繁琐的打包细节和数据结构,从整体上概述了apk打包的整个流程.   流程概述: 1.打包资源文件,生成 ...

  6. android Apk打包过程概述_android是如何打包apk的

    流程概述:1.打包资源文件,生成R.java文件2.处理aidl文件,生成相应java 文件3.编译工程源代码,生成相应class 文件4.转换所有class文件,生成classes.dex文件5.打 ...

  7. cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

    链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...

  8. Cocos2d-x 3.2 学习笔记(四)学习打包Android平台APK!

    从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷! (涉及到3.1.1版本的,请自动对应3.2版本,3.x版本的环境搭建都是一样的) ...

  9. Cocos2d-x 3.2 打包Android平台APK

    (转自:http://www.cnblogs.com/Richard-Core/p/3855130.html) 从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭 ...

随机推荐

  1. 关于静态资源放在CDN上

    https://www.netlify.com/ https://app.netlify.com/signup?_ga=2.194141613.1097457726.1543799087-101005 ...

  2. django安装好之后,django-admin仍然不能使用的问题

    我使用的是python3,python3不能找到django的正确位置.需要下面这样才能正确建立mysite python3 /usr/lib/python2./site-packages/djang ...

  3. GDI+ 实例:绘制验证码

    一.概述 一般处理程序 ashx :它没有服务器控件,用response输出什么就是什么. 生成验证码原理:产生随机字符,并将字符生成为图片,同时储存到Session里去,然后验证用户输入的内容是否与 ...

  4. Oracle 按一行里某个字段里的值分割成多行进行展示

    with t as ( select '111,222,333' col from dual union all select '444,555,666' col from dual ) , leve ...

  5. Vue 组件的通信

    vue不得不了解的就是组件间的数据通信(暂且不谈vuex插件). 通信方式根据组件之间的关系有不同之处. 组件关系有下面三种:父-->子.子-->父.非父子 1.父-->子 父向子传 ...

  6. 分布式文件系统FastDFS架构认知

    FastDFS是一款类Google FS的开源分布式文件系统(应用级的分布式文件存储服务). FastDFS的设计理念 FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份.负载均 ...

  7. Luogu P4082 [USACO17DEC]Push a Box 点双连通分量/圆方树

    (貌似有圆方树的做法,我写的是点双) 显然这道题就是直接搜索.定义状态为f[i][j][0~4]表示箱子在(i,j),人在某个方向推.然后问题就是怎么转向.我们发现如果要转向,必须是人走过一条不包括( ...

  8. HDU 6141 - I am your Father! | 2017 Multi-University Training Contest 8

    思路来自 FXXL 最小树形图模板用kuangbin的 /* HDU 6141 - I am your Father! [ 最小树形图 ] | 2017 Multi-University Traini ...

  9. P2634 [国家集训队]聪聪可可 点分治

    思路:点分治 提交:1次 题解: 不需要什么容斥...接着板子题说: 还是基本思路:对于一颗子树,与之前的子树做贡献. 我们把路径的权值在\(\%3\)意义下分类,即开三个桶\(c[0],c[1],c ...

  10. Oracle 后台进程(四)CKPT进程

    一.CKPT简介 检查点是一个数据库事件,它把修改数据从高速缓存写入磁盘,并更新控制文件和数据文件.检查点分为三类:1)局部检查点:单个实例执行数据库所有数据文件的一个检查点操作,属于此实例的全部脏缓 ...