Godot Android配置

一、搞编译工具

1.装java

Java Downloads | Oracle

x64 Compressed Archive :下载后直接解压到某个位置,不用安装

x64 installer: 下载后双击安装

注意:不要去百度直接搜Java安装,这样你最多安装java8,而后续的操作需要最新的Android!

2.装cmdline-tools

 command-line:https://developer.android.google.cn/studio?hl=zh-cn#command-tools

  • 让我们看看godot官方手册的指示:

为 Android 导出 — Godot Engine (4.x) 简体中文文档

  • You can install the Android SDK using Android Studio Hedgehog (version 2023.1.1) or later.

    • 运行一次,使用这些说明完成 SDK 设置。

    • Ensure that the required packages are installed as well.

      • Android SDK Platform-Tools version 34.0.0 or later

      • Android SDK Build-Tools version 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模板

Download for Windows – Godot Engine

github.com

去官网,找Android 模板下载,建议IDM,否则下不了。

相信我,根本下不了!!!在这里贴出我的资源:godotandroid模板v4.2.1资源-CSDN文库

IDM下载到一半总是出问题,最后终于再这位大佬这里找到解决方案:

原文链接:https://blog.csdn.net/ffppsty/article/details/142601144

下载之前,记住一定要下载到你记得住的路径!

导出模板Export_Template下载链接:
跟我一样的4.2.2版本的,直接复制链接到浏览器里下载就好了:

https://downloads.tuxfamily.org/godotengine/4.2.2/Godot_v4.2.2-stable_export_templates.tpz


如果你是4.2版本或4.3,把链接中的两个4.2.2都改成4.2或者4.3就行。

rcedit下载链接:
https://github.com/electron/rcedit/releases/tag/v2.0.0


一般都是64位,选第一个rcedit-x64下载就行
  

三、配置 

1.部署资源

下载我分享的资源后,解压,你将看到:

如图,在C:\Users\你的用户名\AppData\Roaming\Godot\export_templates下新建一个名为4.2.1.stable的文件夹,如果你的版本不同,请把4.2.1改成你的版本。

之后把我分享的资源中的andoid_debug.apk和android_release.apk复制到这个目录下面。

 之后在你的工程目录下面新建一个android文件夹,新建一个.build_version文件,写入

4.2.1.stable

 保存。同样的,如果版本不同,请换成你的版本。

之后新建build目录,在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平台了

输入设置

在 Dodge the Creeps 中,我们使用键盘控制玩家角色移动。如果游戏是在 PC 平台上进行的就没问题,但在手机或平板电脑上,就需要支持触屏输入。其点击事件可以和触摸事件一样处理,所以会将游戏转换为点击移动的输入方式。

默认情况下,Godot 会从触摸输入中模拟鼠标输入。这意味着,如果已经针对鼠标事件编写了代码,触摸时也会触发它。Godot 还可以从鼠标点击中模拟触摸输入,为了需要在切换到触摸输入后,能够继续在电脑上玩我们的游戏。

在 项目>项目设置 的 Input Devices > Pointing(输入设备 > 触点)下,启用 Emulate Touch From Mouse(根据鼠标模拟触摸)。

../../_images/export_touchsettings.png

我们还想确保游戏在不同尺寸的屏幕上有一致的比例,所以在项目设置中进入 Display,然后点击 Window。在 Stretch 选项中,将 Mode 设置为 2dAspect 设置为 keep

由于我们已经在 Window 设置中,还应该在 Handheld(手持设备)下将 Orientation(方向)设置为 portrait(竖屏)。

../../_images/export_handheld_stretchsettings.png

接下来,我们需要修改 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
# Remove keyboard controls.
#    if Input.is_action_pressed("ui_right"):
#       velocity.x += 1
#    if Input.is_action_pressed("ui_left"):
#        velocity.x -= 1
#    if Input.is_action_pressed("ui_down"):
#        velocity.y += 1
#    if Input.is_action_pressed("ui_up"):
#        velocity.y -= 1
    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)

签名调试

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.jks -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

在项目根目录下打开cmd,运行这行代码,你将得到调试密钥库 

 

之后在导出这一栏这样设置,你就可以成功导出apk文件了! 

 

参考:

导出 - 导出 - 《Godot 游戏引擎 v3.5 中文文档》 - 书栈网 · BookStack

https://blog.csdn.net/ffppsty/article/details/142601144 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值