This repo contains the Linux rootfs used by the Godot Android Build Environment (or GABE).
See https://github.com/godotengine/android-editor-buildenv-app
- Android SDK with NDK
- Docker (configured for multi-platform builds)
- cmake
- ninja-build
- bison
- flex
Ensure the Git submodules are checked out:
git submodule update --init --recursiveBuild the Android SDK tools:
# If you've built before and want to get a clean build, remove the old build directory:
rm -rf ./thirdparty/android-sdk-tools/build/
# Build it (substitute the path to NDK on your system):
ANDROID_NDK_ROOT=$HOME/Android/Sdk/ndk/28.1.13356709 ./thirdparty/android-sdk-tools/build.shBuild the rootfs:
./docker/build-rootfs.shYou can open a shell in the rootfs via Docker by running:
./docker/test-via-docker.shThe rootfs archive will be placed under ./docker/build/
If you get a "permission denied" error when running Docker, it most likely means
that you need to add your user to the docker group:
sudo usermod -aG docker $USER... and then restart your computer.
If running ./docker/build-rootfs.sh fails, and there is "exec format error" somewhere in
the output (it won't be the last line, unfortunately), then it means that Docker isn't
setup to do multi-platform builds.
Per the official documentation running this command may setup everything for you:
docker run --privileged --rm tonistiigi/binfmt --install allHowever, if that doesn't work, you can try installing QEMU (with ARM64 support) and
configuring binfmt using system packages.
For example, on Fedora this has been known to work:
sudo dnf install qemu-user-static-aarch64
sudo systemctl restart systemd-binfmt