这一篇讲的是用 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. 快速排序Quick_Sort

    快排——排序中的明星算法,也几乎是必须掌握的算法,这次我们来领略以下快排为何魅力如此之大. 快排主要有两种思路,分别是挖坑法和交换法,这里我们以挖坑法为例来进行介绍,交换法可以参考这篇博文.值得一提的 ...

  2. python函数的作用域和引用范围

    以下内容参考自runoob网站,以总结python函数知识点,巩固基础知识,特此鸣谢! 原文地址:http://www.runoob.com/python3/python3-function.html ...

  3. 10、Spring Boot 2.x 集成 Log4j2

    1.10 Spring Boot 2.x 集成 Log4j2 完整源码: Spring-Boot-Demos

  4. mysql 数据库练习题

    前面学习了MySQL的语句的基本用法,这里就开始做一些MySQL练习,这套题目一共45题,属于比较简单的,初学先试着做这个. 参考链接:https://www.cnblogs.com/SJP666/p ...

  5. 一个项目中:只能存在一个 WebMvcConfigurationSupport (添加swagger坑)

    问题再现: 1.添加了swagger配置,导致接口响应的中文乱码 2.于是又添加了配置解决中文乱码的配置: 问题来了,添加了CharsetConfig 配置后swagger的配置失效了,访问404,搞 ...

  6. KETTLE 更新表的两种方式-更新控件和sql更新 2种方式的实现比较

    在实际工作中,我们有可能遇见只更新不插入的情况,可以由以下2种方式去实现: 1.更新控件 如下图所示,根据id字段,更新name和cjsj时间字段 该控件不足的地方是,用来查询关键值得字段不够灵活,一 ...

  7. [HNOI2009]最小圈 分数规划 spfa判负环

    [HNOI2009]最小圈 分数规划 spfa判负环 题面 思路难,代码简单. 题目求圈上最小平均值,问题可看为一个0/1规划问题,每个边有\(a[i],b[i]\)两个属性,\(a[i]=w(u,v ...

  8. P4717 快速沃尔什变换FWT 模板题

    #include <bits/stdc++.h> using namespace std; #define rep(i,a,n) for (int i=a;i<n;i++) #def ...

  9. Luogu4191 [CTSC2010]性能优化【多项式,循环卷积】

    题目描述:设$A,B$为$n-1$次多项式,求$A*B^C$在系数模$n+1$,长度为$n$的循环卷积. 数据范围:$n\leq 5*10^5,C\leq 10^9$,且$n$的质因子不超过7,$n+ ...

  10. 使用 nginx_rtmp_module 搭建个人学习流媒体服务器

    nginx 共享服务器中的视频 如果服务器处于内网或者没有公网ip,可以使用 相关软件进行打洞或转发 如: frpc https://github.com/fatedier/frp 或 holer h ...