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文件。
参考文档:
热门推荐
20年备考专家支招:5大策略助你突破高三“高原期”
中考400分也能上免费高中?深圳民办高中减免政策全解析
长锋羊毫:书法创作中的“软笔写硬字”之道
王金兰新歌《时光》上线:用音乐回应争议,展现音乐才华
南京栖霞山红叶打卡,深秋最美风景线
栖霞山红叶打卡攻略:绝美枫景不容错过!
从方言到国际:谢帝马思唯诠释川渝说唱双面魅力
震荡市投资利器:一文详解网格交易策略与实战应用
5项资本新政助推港股上涨,恒生互联网ETF盘中涨超3%
医保跨省结算再添五种慢特病,患者异地就医更便捷
一文读懂富时A50指数期货即时行情:4大指标与4大应用
一季度订单爆满,浙江余姚工业经济实现“开门红”
结婚下雨是什么兆头,是福还是祸?
社交媒体视觉营销:如何玩转创意设计?
利格列汀五大风险:胰岛素抵抗、肾损害等,需定期监测
“度”字有三音:dù、duó、dǔo,你能读对吗?
西藏黄金旅游季来临:6至9月景观最美,气温最宜人
亚宝珍菊降压片的正确服用指南
珍菊降压片:降压效果与安全用药指南
解酒秘籍大揭秘:蜂蜜水、浓茶都不靠谱,这才是真正有效的解酒方法!
九月西藏7日游:金黄碧绿蔚蓝,邂逅最美高原季节
冬花:科学证实的呼吸系统疾病良药,年用量超千吨
冬花功效全解析:润肺止咳又抗炎,这些人群需慎用
冬花种植技术与市场前景分析
“宝贝”:一个称呼里的甜蜜密码
“宝贝”还是“亲爱的”?恋爱中的甜蜜密码
如何用昵称点亮你的爱情?
“宝贝”不再是唯一选择,这些称呼让你的爱情更甜蜜
四川方言里的“胎神”:一个词里的巴蜀文化
近日A股现压盘策略:某队意在打造慢牛行情