谁能告诉我如何在Android编译C-战神库(NDK建造)
Answer 1:
以下是如何将其建成为ARMv7的静态库与NDK独立工具链 :
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
而已。 静态库下部署build/lib/libcares.a
。
如果你的目标等archs(如armeabi
, x86
)重复configure
与适当的-march
值,并重新建立每个拱库。 此外,随意:
- 目标平台适应您的需求(这里的Android 2.3,又名API 9级),
- 使用
configure
符合您需要的选项(例如,您可能希望除了建立一个动态库,启用/禁用某些功能等)。
文章来源: how to build c-ares library in android (NDK)