Assuming the Android Ndk is installed at location /path/to/toolchain
, building
libsndfile for Android (arm-linux-androideabi) should be as simple as:
autoreconf -vif
export ANDROID_TOOLCHAIN_HOME=/path/to/android/toolchain
./Scripts/android-configure.sh
make
The Scripts/android-configure.sh
contains four of variables; ANDROID_NDK_VER
,
ANDROID_GCC_VER
, ANDROID_API_VER
and ANDROID_TARGET
that can be overridden
by setting them before the script is run.
Since I (erikd), do almost zero Android development, I am happy accept patches for this documentation and script to improve its utility for real Android developers.
(Tested on Linux)
For convenience, export the following variables:
export ANDROID_ABI=arm64-v8a
export ANDROID_PLATFORM_API_LEVEL=29
export NDK_ROOT=/path/to/android/ndk
Set ANDROID_ABI
, ANDROID_PLATFORM_API_LEVEL
according to your target system. Now cd into the libsndfile root directory, and run
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$NDK_ROOT/build/cmake/android.toolchain.cmake -DANDROID_ABI=$ANDROID_ABI -DANDROID_PLATFORM=$ANDROID_PLATFORM_API_LEVEL
cd into build
and run make
cd build
make [-j <number of parallel jobs>]
This will build libsndfile for android.