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文件。
参考文档:
热门推荐
中医食疗:疾病康复的饮食智慧
扩大HIV主动检测,促进HIV早检测
以色列遇到一个大麻烦
深圳:不止40年,一座城的千年文化密码
马伊琍:在岁月沉浮中坚守自我,以独立姿态书写精彩人生的故事
九连山新发现:两种珍稀报春苣苔惊艳亮相!
香港必打卡!海洋公园&维多利亚港
西安VS洛阳:谁是历史第一古都?
麻婆豆腐:从清朝到今天,舌尖上的麻辣传奇!
双十一必囤:嫩豆腐做正宗麻婆豆腐!
双色球概率统计学选号秘籍:从历史数据中寻找规律
双色球选号神器真的靠谱吗?一文揭秘真相!
双色球选号心理学:如何理性投注?
番茄小说账号安全防护指南:避免被封禁!
从春晚到春节档:中国影视新趋势
沈腾马丽再聚首!春晚亮点抢先看
从“期待”到“吐槽”:春晚如何重获观众芳心?
秋冬季节女性腹部护理全攻略:保暖、饮食、运动三管齐下
西安大雁塔下的绝美机位,你打卡了吗?
瓷都蒸腾老年俗
沙海之中漾碧波——探秘世界遗产巴丹吉林沙漠—沙山湖泊群
三文鱼烹饪安全全攻略:从选购到食用的注意事项
秋冬滋补首选:三文鱼的N种吃法
如何挑选挪威的新鲜三文鱼?
婚宴敬酒礼仪:给长辈最完美的祝福
海外传播,让世界看到华夏之美
云南滇西南12日全景旅游攻略,大理腾冲盈江瑞丽芒市大环线
南京九连尖徒步攻略:秋冬打卡小武功山!
江西九连山发现恐龙时代植物群!
来看看高手们如何识别冒充公检法诈骗!!!