How to build c-ares library in android (NDK)

Can someone tell me how to create a C-ares library in android (ndk-build)

+6
source share
1 answer

Here's how to create it as a static library for ARMv7 with a standalone NDK toolchain :

export NDK=/tmp/android-ndk-r8b # Create the standalone toolchain $NDK/build/tools/make-standalone-toolchain.sh \ --platform=android-9 \ --install-dir=/tmp/my-android-toolchain export PATH=/tmp/my-android-toolchain/bin:$PATH export SYSROOT=/tmp/my-android-toolchain/sysroot export CC="arm-linux-androideabi-gcc --sysroot $SYSROOT" # Download the latest release curl -O http://c-ares.haxx.se/download/c-ares-1.9.1.tar.gz tar xvfz c-ares-1.9.1.tar.gz # Configure cd c-ares-1.9.1 && mkdir build ./configure --prefix=$(pwd)/build \ --host=arm-linux-androideabi \ --disable-shared \ CFLAGS="-march=armv7-a" # Build and install make && make install 

What is it. The static library is deployed under build/lib/libcares.a .

If you are targeting other arches (e.g. armeabi , x86 ), repeat configure with the correct -march value and rebuild the library for each arch. Also feel free to:

  • adapt the target platform to your needs (here Android 2.3, aka API level 9),
  • use configure parameters that suit your needs (for example, you might want to create a dynamic library, enable / disable some functions, etc.).
+12
source

All Articles