mirror of
https://gitee.com/openharmony/third_party_libsnd
synced 2024-11-23 09:59:54 +00:00
005a36b41b
* Users should just use `autoreconf -vif` instead of brittle autogen.sh scripts. Fixes: #878
47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# Building for Android
|
|
|
|
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.
|
|
|
|
---
|
|
|
|
## Using CMake
|
|
|
|
(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.
|