- 主要对NDK地址进行修改。
- 如果ndk版本较老(如16及之前的版本),toolchain的目录也要进行修改
- –cc和–cxx编译器还需要进行特殊指定,不然找不到。
- 生成的文件位于当前目录下的android文件夹内
#!/bin/bash
NDK=/Users/dark/Library/Android/sdk/ndk/21.0.6113669
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/darwin-x86_64
SYSROOT=$TOOLCHAIN/sysroot/
CPU=arm
PREFIX=$(pwd)/android/armeabi
ADDI_CFLAGS="-marm"
function build_one(){
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--nm=$TOOLCHAIN/bin/arm-linux-anroideabi-nm \
--cc=$TOOLCHAIN/bin/armv7a-linux-androideabi28-clang
--cxx=$TOOLCHAIN/bin/armv7a-linux-androideabi28-clang++
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
}
build_one
make
make install
生成的so及头文件等下载地址