Files
SDL/build-scripts/androidbuildlibs.sh
Sam Lantinga 6981522cd6 Revert "Support Google Play 16 KB Page Size Requirement (#13470)"
This reverts commit dc2c83c383

If you need to support the Google Play 16 kiB page size requirement, the recommendation is to use NDK r28c or newer, which automatically aligns binaries correctly.
2025-08-07 11:44:45 -07:00

79 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
#
# Build the Android libraries without needing a project
# (AndroidManifest.xml, jni/{Application,Android}.mk, etc.)
#
# Usage: androidbuildlibs.sh [arg for ndk-build ...]"
#
# Useful NDK arguments:
#
# NDK_DEBUG=1 - build debug version
# NDK_LIBS_OUT=<dest> - specify alternate destination for installable
# modules.
#
# Android.mk is in srcdir
srcdir=`dirname $0`/..
srcdir=`cd $srcdir && pwd`
cd $srcdir
#
# Create the build directories
#
build=build
buildandroid=$build/android
platform=android-21
abi="arm64-v8a" # "armeabi-v7a arm64-v8a x86 x86_64"
obj=
lib=
ndk_args=
# Allow an external caller to specify locations and platform.
while [ $# -gt 0 ]; do
arg=$1
if [ "${arg:0:8}" == "NDK_OUT=" ]; then
obj=${arg#NDK_OUT=}
elif [ "${arg:0:13}" == "NDK_LIBS_OUT=" ]; then
lib=${arg#NDK_LIBS_OUT=}
elif [ "${arg:0:13}" == "APP_PLATFORM=" ]; then
platform=${arg#APP_PLATFORM=}
elif [ "${arg:0:8}" == "APP_ABI=" ]; then
abi=${arg#APP_ABI=}
else
ndk_args="$ndk_args $arg"
fi
shift
done
if [ -z $obj ]; then
obj=$buildandroid/obj
fi
if [ -z $lib ]; then
lib=$buildandroid/lib
fi
for dir in $build $buildandroid $obj $lib; do
if test -d $dir; then
:
else
mkdir $dir || exit 1
fi
done
# APP_* variables set in the environment here will not be seen by the
# ndk-build makefile segments that use them, e.g., default-application.mk.
# For consistency, pass all values on the command line.
ndk-build \
NDK_PROJECT_PATH=null \
NDK_OUT=$obj \
NDK_LIBS_OUT=$lib \
APP_BUILD_SCRIPT=Android.mk \
APP_ABI="$abi" \
APP_PLATFORM="$platform" \
APP_MODULES="SDL3" \
$ndk_args