Cocos Creator 打包原生 Android 包该如何选择 NDK 版本?
大家好,我是晓衡!
记得前段时间,在一些群里看到有小伙伴说 Cocos Creator 打包 Android 原生 APK 有问题:一种是构建失败,一种是运行起来报错。
晓衡也是有好长一段时间,没有碰过 Android 原生打包,我用的这台新电脑上环境都没有配置。
正好这两天,我将一个 2.0.10 的老项目,升级到了 Creator 3.6.2,并顺手测试了一下在 3.6.2 上打包 Android APK包。
不知道为什么,出乎意料的顺利,一次性构建成功,安装到手机上运行也很丝滑。

后来我发现有个关键点,Android NDK 版本不能用太新的,Cocos官方文档中推荐在 r18 ~ 21 之间。

在此记录一下我的 Android 构建配置流程,如果有小伙伴,在打包 APK 遇到问题可以参考一下。
01 官方文档
我在打包 Android 前,还是先认认真真地,看了下官方文档的。
- 《安装配置原生开发环境》
- 链接:https://docs.cocos.com/creator/manual/zh/editor/publish/setup-native-development.html
首先下载安装 Android Studio,下图是我安装好的版本:Android Studio Dolphin | 2021.3.1

安装好后,第一次运行 Android Studio 会有一大......顿的下载更新操作,需要有点耐心,基本上是跟着提示来就行。

02 下载SDK 和 NDK
根据官方文档,下载当前主流 Platform SDK,我这里下载的是 Level 33、Level 32 两个版本。

然后切换到 SDK Tools 这一页,安装最新版本的 Build-Tools,我这里显示的是 33.0.1。

如果在你的电脑上,不是像上图这样显示的,勾选面板底部的 Show Packages Details 复选框,就能看到了。
SDK Tools 面板继续向下,找到 NDK(Side by side) ,我这里选择的是 18.1.5063045 ,看下图:

勾选好后点击面板下面的 Apply 按钮开始下载,再耐心等一阵。
03 Creator 偏好设置
Android SDK & NDK 下载完成后,打开 Cocos Creator 主菜单 -> 偏好设置 -> 外部程序,分别设置配置 NDK、SDK 路径。

我用的是 Mac 系统,路径在:
- NDK: /Users/[用户名]/Library/Android/sdk/ndk/18.1.5063045
- SDK:/Users/[用户名]/Library/Android/sdk
你可在自己电脑上 Android Studio 的 SDK 面板上可以找到,具体路径位置。
04 Creator 构建发布
打开 Creator 构建面板,创建一个 Android 发布,在 Target API Level 一项会检测到我们安装的 Android SDK 版本,我这里配置的是 android-32。

再设置一个 Android 的包名ID,屏幕方向设置为竖屏,其它的选项都默认。
检查没有问题后,依次点击构建面板下方的 构建 -> 生成,构建是生成 Cocos Creator 游戏资源包,生成才是真正打包 Andoird APK。
这时,你可以打开构建日志,查看整个 Android 构建打包过程。

最后显示 BUILD SUCCESSFUL 就表示打包完成,我这个项目总共花了 3分46秒。

构建生成出的 APK 文件路径:
- release:当前工程/build/android/publish/release
- debug:当前工程/build/android/publish/debug
05 小结
这次打包 Android 感觉还是挺方便的,总结一下环境配置流程:
- 安装 Android Studio 并按提示升级更新;
- 在 Android Studio 中下载 SDK、NDK;
- 在 Cocos Creator 中配置 Android SDK、NDK 路径;
- 在 Cocos Creator 构建面板中选择打包 Android 平台。
希望我的分享能对你有所帮助和启发!
更多精彩请关注Creator星球游戏开发社区
Cocos Creator 打包原生 Android 包该如何选择 NDK 版本?的更多相关文章
- Cocos Creator打包发布
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理. 请点赞!因为你们的赞同/鼓励是我写作的最大动力! 欢迎关注达叔小生的简书! 这是一个有质量 ...
- Cocos Creator Android打包 apk
这一篇讲的是用 Cocos Creator 编译器打包 Android APP 的时候遇到的一些问题,虽然说打包的过程不是很复杂,但是在其中还是会遇到各式各样的坑. 我们将项目用CCC(Cocos C ...
- [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目
(1)项目导入JAR包:1.在项目目录里建立一个libs目录,将外部jar包拷贝在里面.2.右键点击项目,Bulid Path->Configure Build Path3.在设置Libraie ...
- 【Android端】代码打包成jar包/aar形式
Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/d ...
- Android studio 将 Module 打包成 Jar 包
整理记录 AndroidStudio 把一个 module 项目打包成 jar 包. 一.默认自动生成的 jar 包 众所周知 android studio 会在library所依赖的 app运行 或 ...
- 使用ANT将Android打包成Jar包
本文主要实现使用ANT,将Android项目打包成jar,为方便其他项目使用. ANT可以去官网下载(http://ant.apache.org/) 先介绍打包的步骤,打包脚本下方贴出 步骤: 1,将 ...
- android在eclipse中打包(签名包)方法及常见问题解决
打包成apk 右键单击项目名称,选择"Android Tools".再选择"Export Signed Application Package-",例如以下图所 ...
- 触控的手牌—Cocos Creator
科普 Cocos Creator是触控最新一代游戏工具链的名称.如果不太清楚的,可以先看一些新闻. 新编辑器Cocos Creator发布: 对不起我来晚了! http://ol.tgbus.co ...
- Cocos Creator 资源加载流程剖析【一】——cc.loader与加载管线
这系列文章会对Cocos Creator的资源加载和管理进行深入的剖析.主要包含以下内容: cc.loader与加载管线 Download部分 Load部分 额外流程(MD5 Pipe) 从编辑器到运 ...
- cocos creator入门
前面的话 Cocos Creator 是一个完整的游戏开发解决方案,包括了 cocos2d-x 引擎的 JavaScript 实现,以及快速开发游戏所需要的各种图形界面工具.Cocos Creator ...
随机推荐
- 用 VS Code 搞 Qt6:信号、槽,以及QObject
Qt 里面的信号(Signal)和槽(Slot)虽然看着像事件,但它实际上是用来在两个对象之间进行通信的.既然是通信,就会有发送者和接收者. 1.信号是发送者,触发时通过特有的关键字"emi ...
- Linux网络管理命令
Linux网络管理命令 ifconfig 用于配置网卡ip地址信息等网络参数或显示网络接口状态,类似于windows的ipconfig命令. 可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址 ...
- Mysql之PXC高可用
PXC高可用 1.环境准备 pxc1: centos7 10.0.0.7 pxc2: centos7 10.0.0.17 pxc3: centos7 10.0.0.27 pxc4: centos7 1 ...
- Vue3 企业级优雅实战 - 组件库框架 - 1 搭建 pnpm monorepo
前两篇文章分享了基于 vite3 vue3 的组件库基础工程 vue3-component-library-archetype 和用于快速创建该工程的工具 yyg-cli,但在中大型的企业级项目中,通 ...
- go cookie session
https://astaxie.gitbooks.io/build-web-application-with-golang/content/zh/06.1.html
- 为什么你的static_assert不能按预期的工作?
static_assert是c++11添加的新语法,它可以使我们在编译期间检测一些断言条件是否为真,如果不满足条件将会产生一条编译错误信息. 使用静态断言可以提前暴露许多问题到编译阶段,极大的方便了我 ...
- Cache的相关知识(二)
1. cache背景知识 为什么的CPU内部需要cache单元? 主要的原因是CPU的速度和内存的速度之间严重不匹配,Cpu处理速度极快,而访问内存慢,cache在这个背景下就诞生了.设计人员通过 ...
- 周立功DTU+温度传感器,ZWS物联网平台尝试
1.前言 了解到周立功有相关的物联网云平台,近期在调研动态环境监控项目,可以进行一个上云的尝试.购置了传感器.周立功的DTU等硬件,将传感器的温度.湿度等数据进行一个云平台的上传. 2.前期准备 传感 ...
- 认证服务(keystone)
Keystone职能: Keystone (OpenStack ldentityService)是OpenStack中的一个独立的提供安全认证的模块,主要负责openstack用户的身份认证.令牌管理 ...
- Java外包程序员的技术出路
学习的两个目的: 应付面试 应付工作(解决问题) 首先要明白学习的目的,不同阶段,不同技术的学习目的是不一样的. 有些技术,仅仅是应用级别的,有些技术是原理级别的(主要还是应试).所以不同技术.不同时 ...