Godot Android配置指南
创作时间:
作者:
@小白创作中心
Godot Android配置指南
引用
CSDN
1.
https://m.blog.csdn.net/python_use/article/details/143097691
本文将详细介绍如何在Godot游戏引擎中配置Android开发环境。从安装必要的编译工具到最终的签名调试,每个步骤都包含详细的说明和具体的操作命令。
一、安装编译工具
1. 安装Java
- x64 Compressed Archive:下载后直接解压到某个位置,无需安装。
- x64 installer:下载后双击安装。
注意:不要通过百度直接搜索Java安装,这样你最多只能安装Java 8,而后续的操作需要最新版本的Android。
2. 安装cmdline-tools
- 访问Android官方命令行工具页面下载最新版本。
根据Godot官方手册的指示,你需要确保安装以下组件:
- Android SDK Platform-Tools 版本 34.0.0 或更高
- Android SDK Build-Tools 版本 34.0.0
- Android SDK Platform 34
- Android SDK Command-line Tools(最新)
- CMake 版本 3.10.2.4988404
- NDK 版本 r23c(23.2.8568313)
配置步骤:
- 解压下载的cmdline-tool,找到里面的bin目录。
- 打开命令提示符(cmd),输入以下命令:
sdkmanager --sdk_root=换成你的AndroidSDK路径 "platform-tools" "build-tools;34.0.0" "platforms;android-34" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"
按照提示一路“Y”下去,完成配置。
二、下载Android模板
建议使用IDM下载工具,因为其他方式可能会遇到问题。以下是不同版本的Godot导出模板下载链接:
- 4.2.2版本:https://downloads.tuxfamily.org/godotengine/4.2.2/Godot_v4.2.2-stable_export_templates.tpz
- 4.2版本:将上述链接中的4.2.2替换为4.2
- 4.3版本:将上述链接中的4.2.2替换为4.3
同时,还需要下载rcedit工具,用于处理Windows资源文件:
- 下载链接:https://github.com/electron/rcedit/releases/tag/v2.0.0
- 选择:rcedit-x64
三、配置
1. 部署资源
- 在
C:\Users\你的用户名\AppData\Roaming\Godot\export_templates
目录下新建一个名为4.2.1.stable
的文件夹(根据你的Godot版本进行相应调整)。 - 将下载的
android_debug.apk
和android_release.apk
复制到这个目录。 - 在你的工程目录下新建一个
android
文件夹,然后在其中创建一个.build_version
文件,写入你的Godot版本(例如4.2.1.stable
)。 - 在工程目录下新建一个
build
目录,在其中创建一个.gdignore
文件。 - 在
build
目录下创建一个templates
文件夹,将下载的android_source.zip
解压到这里。
完成上述步骤后,你的文件结构应该如下:
─android
└─build
└─templates
├─assetPacks
│ └─installTime
├─assets
├─gradle
│ └─wrapper
├─libs
│ ├─debug
│ └─release
├─res
│ ├─drawable
│ ├─drawable-nodpi
│ ├─values
│ ├─values-ar
│ ├─values-bg
│ ├─values-ca
│ ├─values-cs
│ ├─values-da
│ ├─values-de
│ ├─values-el
│ ├─values-en
│ ├─values-es
│ ├─values-es-rES
│ ├─values-fa
│ ├─values-fi
│ ├─values-fr
│ ├─values-hi
│ ├─values-hr
│ ├─values-hu
│ ├─values-in
│ ├─values-it
│ ├─values-iw
│ ├─values-ja
│ ├─values-ko
│ ├─values-lt
│ ├─values-lv
│ ├─values-nb
│ ├─values-nl
│ ├─values-pl
│ ├─values-pt
│ ├─values-ro
│ ├─values-ru
│ ├─values-sk
│ ├─values-sl
│ ├─values-sr
│ ├─values-sv
│ ├─values-th
│ ├─values-tl
│ ├─values-tr
│ ├─values-uk
│ ├─values-vi
│ ├─values-zh
│ ├─values-zh-rHK
│ └─values-zh-rTW
└─src
└─com
└─godot
└─game
2. Godot配置
- 打开Godot,点击
项目 -> 导出
,选择Android。 - 点击
修复导入
。 - 进入
编辑器 -> 编辑器设置
,将SDK路径设置为你刚安装的SDK根目录。 - 再次点击
项目 -> 导出
,选择Android,此时应该可以成功导出到Android平台。
输入设置
为了让游戏在手机和平板电脑上支持触屏输入,需要在Godot中进行以下设置:
- 在
项目 > 项目设置
的Input Devices > Pointing
下,启用Emulate Touch From Mouse
。 - 在
Display
设置中进入Window
,在Stretch
选项中将Mode
设置为2d
,Aspect
设置为keep
。 - 在
Handheld
下将Orientation
设置为portrait
。
接下来,我们需要修改Player.gd
脚本来改变输入方式。以下是修改后的完整脚本:
extends Area2D
signal hit
export var speed = 400
var screen_size
# Add this variable to hold the clicked position.
var target = Vector2()
func _ready():
hide()
screen_size = get_viewport_rect().size
func start(pos):
position = pos
# Initial target is the start position.
target = pos
show()
$CollisionShape2D.disabled = false
# Change the target whenever a touch event happens.
func _input(event):
if event is InputEventScreenTouch and event.pressed:
target = event.position
func _process(delta):
var velocity = Vector2()
# Move towards the target and stop when close.
if position.distance_to(target) > 10:
velocity = target - position
if velocity.length() > 0:
velocity = velocity.normalized() * speed
$AnimatedSprite.play()
else:
$AnimatedSprite.stop()
position += velocity * delta
# We still need to clamp the player's position here because on devices that don't
# match your game's aspect ratio, Godot will try to maintain it as much as possible
# by creating black borders, if necessary.
# Without clamp(), the player would be able to move under those borders.
position.x = clamp(position.x, 0, screen_size.x)
position.y = clamp(position.y, 0, screen_size.y)
if velocity.x != 0:
$AnimatedSprite.animation = "walk"
$AnimatedSprite.flip_v = false
$AnimatedSprite.flip_h = velocity.x < 0
elif velocity.y != 0:
$AnimatedSprite.animation = "up"
$AnimatedSprite.flip_v = velocity.y > 0
func _on_Player_body_entered( body ):
hide()
emit_signal("hit")
$CollisionShape2D.set_deferred("disabled", true)
签名调试
在项目根目录下打开命令提示符(cmd),运行以下命令生成调试密钥库:
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.jks -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
最后,在Godot的导出设置中配置签名信息,即可成功导出APK文件。
参考文档:
热门推荐
职场催回复大法:既不失礼貌,又能高效推进
大年初一看光头强与小亮拯救未来
造瘘手术后的保养护理
2025年福州春节旅游攻略:免费地铁公交,玩转八天长假
溆浦县开展春节前烟花爆竹安全大检查 确保群众生命财产安全
春节烟花禁令引热议:年味何去何从?
杭州周边绝美小众景点,自然风光旖旎媲美黄山,去过的还想去
探访俄罗斯宝藏线路:莫斯科红场 & 圣彼得堡冬宫
旅途中的健康管理小技巧,你get了吗?
预售刷新多项纪录,多类型电影齐聚春节档
无手术治疗背痛
中医针药并用治疗脚麻
绿拿铁:便秘救星!你试过吗?
罗治文医生:便秘患者饮食管理指南
便秘救星:这些食物帮你轻松排便
冬季便秘怎么办?膳食纤维+益生菌帮你忙!
赵本山《鹊刀门传奇》:用武林故事讽刺娱乐圈生态
开州全面推进“文脉之城、运动之城、美食之城、湖光之城”建设
开州获评“中国厨师之乡” “开州金厨”迎来新机遇
冯巩最新公益活动信息有限,期待更多善举
莱西市阳光玫瑰葡萄丰产秘籍大揭秘
从300元一斤到10元3斤,阳光玫瑰葡萄的“平民化”之路
冯巩30年春晚之路:从刘伟到牛群
云南腾冲火山热海:六种打开方式,尽享地热奇观与温泉养生
云南美食攻略:探寻云南特色美食与地道风味小吃指南
寒假带娃打卡北京环球影城!
旧金山亲子游完全攻略:博物馆、景点、餐厅和住宿推荐
洛阳古城墙:从夯土到砖石的建筑技艺演变
青少年心理健康与背部肌肉疼痛的关系揭秘
年轻运动员必看:15分钟缓解背痛