Skip to content

Android export only include GDExtension dependencies for one architecture #107957

Open
@j20001970

Description

@j20001970

Tested versions

v4.4.1.stable.flathub [49a5bc7]

System information

Godot v4.4.1.stable (49a5bc7) - Freedesktop SDK 24.08 (Flatpak runtime) on Wayland - Wayland display driver, Single-window, 1 monitor - OpenGL 3 (Compatibility) - AMD Radeon RX 6650 XT (radeonsi, navi23, LLVM 19.1.7, DRM 3.63, 6.15.3-arch1-1) - 12th Gen Intel(R) Core(TM) i5-12500 (12 threads)

Issue description

When exporting a Android project with multiple architectures (e.g. arm64 and x86_64), only one architecture has both libraries and dependencies from GDExtension included in the final .apk file, while other architectures have only libraries included, but dependencies are missing.

Expected behaviour: Android export include all architectures (in my case arm64 and x86_64) of a GDExtension libraries and dependencies selected in export options.

Actual behaviour: Only one (arm64) architecture has both GDExtension library and dependencies, others (x86_64) have only libraries, but no dependencies.

Steps to reproduce

  1. Write a .gdextension file like:
[configuration]

entry_symbol = "..."
compatibility_minimum = ...

[libraries]

android.arm64 = "res://addons/lib/arm64/libmylib.so"
android.x86_64 = "res://addons/lib/x86_64/libmylib.so"

[dependencies]

android.arm64 = {
    "res://addons/lib/arm64/libmydep.so": "",
}
android.x86_64 = {
    "res://addons/lib/x86_64/libmydep.so": "",
}
  1. Export Android project with both arm64 and x86_64 architecture.
  2. Exported .apk has both libmylib.so and libmydep.so for arm64, while x86_64 only has libmylib.so
  3. If only arm64 or x86_64 is exported, both libmylib.so and libmydep.so are included for the architecture.

Minimal reproduction project (MRP)

None at the moment.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    For team assessment

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions