9

AndroidでC-aresライブラリを構築する方法を教えてください(ndk-build)

4

1 に答える 1

14

NDK スタンドアロン ツールチェーンを使用して ARMv7 のスタティック ライブラリとしてビルドする方法は次のとおりです。

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ます。

armeabi他のアーチ (など)をターゲットにする場合は、適切な値で をx86繰り返し、各アーチのライブラリを再構築します。また、お気軽に:configure-march

  • ターゲット プラットフォームをニーズに合わせます (ここでは Android 2.3、別名 API レベル 9)。
  • ニーズに合ったオプションを使用しconfigureてください (たとえば、さらに動的ライブラリを構築したり、一部の機能を有効/無効にしたりする場合など)。
于 2012-12-12T22:30:36.963 に答える