【杂谈】Godot4.4导出到Android平台(正式导出)

学博而后可约,事历而后知要。

目录

  • 一、准备
  • 二、Gradle构建
  • 三、配置Java SDK
  • 四、配置Android SDK
  • 五、配置密钥

一、准备

本文在前文【杂谈】Godot4.4导出到安卓平台(调试导出)的基础上,进行正式导出。调试导出并不是真正的编译导出,只是经Godot预制的apk文件导出,只用于调试,而我们发布游戏的时候则需要正式导出,本文力求详细,有问题欢迎评论区讨论。

二、Gradle构建

第一步,正常导出,与前文相比这里需要勾选 Gradle构建 ,然后发现报错了;

在这里插入图片描述
第二步,开始着手解决错误,关闭这个导出窗口,经 项目->安装 Android 构建模板 安装模板;

在这里插入图片描述
第一次点进去他会自动创建一堆文件,再点进去就可以在文件资源管理器中查看文件了;

第三步,再次尝试导出,错误提示已经消失了,我们点击导出后依旧报错;

在这里插入图片描述
发现他想从国外的网站下载gradle-8.2-bin.zip(可能不一样,注意),然而被墙住了,在国内我们只好求助镜像站了,比如说阿里的,腾讯的;

  • 阿里云Gradle镜像站:点此前往
  • 腾讯云Gradle镜像站:点此前往

报错是什么版本,就下载什么版本,下载完也不需要解压(注意!不用解压!)

第四步,现在我们下载了需要的Gradle文件,必须想办法告诉Godot,不要从外网下了,本地电脑上就有!

跟第二步操作雷同,从项目->安装 Android 构建模板 打开文件资源管理器;

在这里插入图片描述
打开后看见模板文件;

在这里插入图片描述
我们点开 build\gradle\wrapper\gradle-wrapper.properties,用记事本或者AndroidStudio打开后即可;

在这里插入图片描述
现在发现这个 Url 正是之前Godot报错的地方,他想从 services.gradle.org 下载gradle失败了。

第五步,更改这段地址,比如说我下载到了 D:\Downloads\gradle-8.2-bin.zip ,现在我就改成 file:///D:/Downloads/gradle-8.2-bin.zip,这样Godot就能从本地下载Gradle了;

三、配置Java SDK

好了,我们继续导出操作,结果发现又报错了,说我们没有设置Java SDK(简称JDK)路径。

在这里插入图片描述
好吧,然而我们还没下载这个SDK,我们需要下载一个叫OpenJDK的东西,需要什么版本的 OpenJDK,也是根据Godot版本来定的,可自行搜索,4.x 版本以上一般都是 OpenJDK 17,以下为镜像站,能上外网的也可以直接进OpenJDK官网下载。

第一步,下载适配版本的OpenJDK;

  • 华为Open JDK镜像站

解压缩后长这样(注意要解压缩!):

在这里插入图片描述
第二步,从 编辑器设置->导出->Android 找到 JavaSDK路径

在这里插入图片描述
点击JavaSDK路径边上的文件夹,打开我们解压后的OpenJDK,打开 jdk-17 即可。

在这里插入图片描述
在这里插入图片描述
JDK配置完成了!

四、配置Android SDK

我们又开始尝试导出,结果还是有一个报错;

在这里插入图片描述
这表明我们还欠缺一个Android SDK,这个就比较特殊,我们需要通过Android Studio来完成这一步;

第一步,下载 Android Studio,官网下载速度亲测流畅;

  • Android Studio官网

第二部,打开Android Studio,然后找到设置(Settings),在设置里的搜索框搜 SDK ,查到 Android SDK
在这里插入图片描述
第三步,根据Godot官网文档(目前截止)给出导出要求做好配置;
在第二步打开的界面中查找并下载安装:

在这里插入图片描述

  1. Android SDK Platform-Tools version 34.0.0 or later

没找到,但是不影响导出;

  1. Android SDK Build-Tools version 34.0.0

在这里插入图片描述

  1. Android SDK Platform 34

在这里插入图片描述

  1. Android SDK Command-line Tools (latest)

在这里插入图片描述

  1. CMake version 3.10.2.4988404

在这里插入图片描述

  1. NDK version r23c (23.2.8568313)

在这里插入图片描述
第四步,复制当前界面的路径,之前下载的东西都在这;

在这里插入图片描述
第五步,返回到 编辑器设置->导出->Android->Android SDK路径 中,将路径粘贴上去;
在这里插入图片描述
Android SDK配置完成了!

五、配置密钥

关于导出的所有步骤前面都已经完成,下面开始配置密钥;
第一步,制作密钥生成文件,新建一个记事本,将下面的代码复制进去,然后保存;

keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000
第二步,点击另存为,更改文件后缀为 .bat (注意,务必将扩展名显示打开!)
更改前:

在这里插入图片描述
更改后:

在这里插入图片描述
第三步,在文件资源管理器中打开Android Studio的文件目录,打开*.\Android\Android Studio\jbr* 路径下的 bin 文件夹

在这里插入图片描述
其中 keytool.exe 正是用来生成密钥的可执行程序;

第四步,将第二步中的 .bat 文件复制到该目录,然后点击运行;

在这里插入图片描述
之后就会跳出一个黑框,提示配置密钥信息,均为自定义内容,这里不做探讨,可自行探索;

第五步,配置完密钥后,在该文件目录中出现了文件 mygame.keystore,我们打开Godot,在导出时,将该文件路径复制到 发布 ,并填好 发布用户发布密码 信息,即可完成;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/75034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

隔行换色总结

功能效果展示: 第一种思路: 使用数组,将数组的内容渲染到页面上,序号也就是将数组的下标输出到第一个td上,将数组的内容输出到第二个td上,(使用拼接字符串) 具体操作: …

使用文本翻译API打破语言障碍

一、引言 在当今全球化的商业环境中,企业面临着前所未有的语言挑战。无论是出口商品、引进技术,还是与国际客户进行交流,语言障碍始终是一个亟待解决的问题。文本翻译API作为一款高效、稳定的工具,支持多种语言的翻译&#xff0c…

【unity游戏开发入门到精通——动画篇】Animator2D序列帧动画

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、…

深入解析 Jenkins Agent 的 .jnlp 启动文件

🧩 深入解析 Jenkins Agent 的 .jnlp 启动文件 在 Jenkins 中,通过 JNLP(Java Network Launch Protocol)方式连接 Agent 是一种常见且灵活的方式。你可能曾见过类似这样的命令: java -jar agent.jar -jnlpUrl file:/…

定积分__

practice makes perfect 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 若被积函数在积分区间上是可积的,那么变限积分函数在这个区…

Three.js 系列专题 7:性能优化与最佳实践

内容概述 随着 3D 场景复杂度的增加,性能优化变得至关重要。Three.js 项目可能因几何体数量、纹理大小或渲染设置而变慢。本专题将介绍减少 draw call、优化纹理和使用调试工具的最佳实践。 学习目标 学会减少 draw call 和几何体复杂度。掌握纹理压缩与内存管理。使用 Stat…

CentOS 7安装Python3.12

文章目录 使用pyenv安装python3.12一、gitub下载pyenv二、升级GCC三.升级openssl这样python3.12.9就完成安装在CentOS上啦! 使用pyenv安装python3.12 一、gitub下载pyenv https://github.com/pyenv/pyenv 按照README,pyenv教程安装即可 二、升级GCC 安…

【C++】优先级队列+反向迭代器

priority_queue的介绍 通常用堆来实现,能在O(log n)的时间复杂度内插入和提取最高(或最低)优先级的元素。 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的(默认情况)。此…

mysql镜像创建docker容器,及其可能遇到的问题

前提,已经弄好基本的docker服务了。 一、基本流程 1、目录准备 我自己的资料喜欢放在 /data 目录下,所以老规矩: 先进入 /data 目录: cd /data 创建 mysql 目录: mkdir mysql 2、镜像查找 docker search hub.ra…

快速记忆法,提高知识点背诵效率

战国七雄:齐秦 韩赵魏 燕楚 谐音记忆:齐秦 喊赵薇 演出 五等爵位:公侯 伯子 男 记忆方法:公猴 脖子 蓝 安卓应用:记忆宫殿APP 记忆 脑力训练,中小学各学科知识点速记,单词趣味记忆&#xff0c…

从零开始学java--泛型(1)

泛型 学生成绩可能是数字类型,也可能是字符串类型,如何存放可能出现的两种类型呢: public class Score {String name;String id;Object value; //因为Object是所有类型的父类,因此既可以存放Integer也能存放Stringpublic Score…

pdf转latex

Doc2X(https://doc2x.noedgeai.com/) Doc2X 是一个由 NoEdgeAI 提供的在线工具,主要用于将 PDF 文件(尤其是学术论文、报告等文档)转换为 LaTeX 格式。LaTeX 是一种高质量排版系统,广泛应用于学术界和出版…

Visual Studio 2022 UI机器学习训练模块

VS你还是太超标了,现在机器学习都不用写代码了吗!! 右键项目解决方案,选择机器学习模型

无公网实体服务器加装多个操作系统供多个用户互不打扰使用_part1

背景介绍 因笔者业务需求,入手了一个实体服务器,但为了避免出现在一个操作系统中搭建编程环境后有许多相关的进程和服务,拖慢日常的使用,也能让其他人短期使用,更好的利用服务器的性能,让服务器专注于“什…

运动规划实战案例 | 基于四叉树分解的路径规划(附ROS C++/Python仿真)

目录 1 为什么需要四叉树?2 基于四叉树的路径规划2.1 分层抽象2.2 路图搜索2.3 动态剪枝 3 算法仿真3.1 ROS C算法仿真3.2 Python算法仿真 1 为什么需要四叉树? 路径规划的本质是在给定环境中寻找从起点到终点的最优或可行路径,其核心挑战在…

docker快捷打包脚本(ai版)

直接进入主题: 用这个脚本前提是你本地可以拉镜像仓库的镜像,并且在 本地有了,然后将所有的镜像tag写在一个文件中,和下面docker_tags.txt 对应,文件叫什么,脚本里对应改什么,给小白说的 #!/bi…

WinMerge下载及使用教程(附安装包)

文章目录 一、WinMerge安装步骤1.WinMerge下载:2.解压:3.启动: 二、WinMerge使用步骤1.添加文件或文件夹2.查看差异3.格式选择 WinMerge v2.16.36 是一款免费开源的文件与文件夹比较、合并工具,能帮您快速找出差异,提高…

Jmeter性能测试之生成测试报告

结构 测试计划 测试计划是顶级的层级⽬录的结构, 那么在这样的⽬录结构中,⾥⾯可以包含很多线程组 线程组 线程组我们可以简单的理解为postman测试⼯具⾥⾯的collection,那么在整体线程组⾥⾯,可以添加很多的测试 ⽤例 简单控…

CSS中的inline-flex与flex的区别

在CSS中,flex 和 inline-flex 都是用于实现弹性布局(Flexbox)的显示属性,但它们在布局行为上有所不同。 flex 属性会使元素表现为块级弹性容器,这意味着元素会在页面上占据一整行的空间,无论其内部内容的大…

Linux的那些基础常用命令汇总

目录 前言: 用户命令: 管理后台作业命令: 文件目录操作命令: 运维高频使用命令: 磁盘管理以及文件系统命令: 用户、组操作命令: 权限控制命令: 网络配置命令: 软件管理命令…