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 ...
随机推荐
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(31)-Fiddler如何抓取Android系统中Flutter应用程序的包
1.简介 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter应用程序是用Dart编写的,这是一种由Google在7年多前创建的语言.Flut ...
- SQL---ltrim()和rtrim()函数的使用
背景 去除字符串首尾空格大家肯定第一个想到trim()函数,不过在sqlserver中是没有这个函数的,却而代之的是ltrim()和rtrim()两个函数. 看到名字所有人都 知道做什么用的了,ltr ...
- Istio(五):使用服务网格Istio进行流量路由
目录 一.模块概览 二.系统环境 三.简单路由 3.1 简单路由 四.Subset和DestinationRule 4.1 Subset 和 DestinationRule 4.2 Destinati ...
- String基础: String两种创建对象方式的比较
字符串常量 在一般的语言中常量一旦声明则不可改变,在java中的字符串常量是以匿名对象来表示的 javaz中字符串两种定义方法: String strA= new String("hello ...
- Https Webservice接口的免证书调用
目录 前言 思路 方案 Axis调用 HttpClient调用 参考链接 前言 在调用https协议的Webservice接口时,如果没有做证书验证,一般会报javax.net.ssl.SSLHand ...
- 网页嵌入zabbix页面(不同域名)
先来结论: 方案一:绕过身份验证:https://www.cnblogs.com/JaSonS-toy/p/4939805.html(我不是这样实现,可以自行尝试) 方案二: 1.保证请求的ip与请求 ...
- 面试 考察网络请求HTTP相关知识(第六天!)
01.HTTP 常⻅的状态码有哪些? 1xx 服务器收到请求 2xx 请求成功 --- 200 成功状态码 3xx 重定向 --- 301永久重定向,浏览器 ...
- <一>关于运算符重载
C++的运算符重载:使对象的运算表现得和编译器内置类型一样 如下代码,如果T是整形,那很好理解,但是如果 T 是一个 Student 类, a + b ?怎么操作,两个学生类怎么相加? 这个就是我们要 ...
- i春秋Fuzz
点开只有三个单词plz fuzz parameter 大概意思就是让我们疯狂尝试参数... 我们通过url尝试传入参数 ?user=123 ?name=123 ?username=123 ?id=12 ...
- conky配置(附配置项作用解释)
alignment top_right #是否嵌入桌面 background yes #是否绘制窗口边框 draw_borders no #窗口边框 border_width 10 #cpu_avg_ ...