1.下载NDK
wget https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip
unzip android-ndk-r21-linux-x86_64.zip
cd android-ndk-r21-linux-x86_64/build/tool
./make-standalone-toolchain.sh --platform=android-27 --install-dir=/opt/android-arm --arch=arm
./make-standalone-toolchain.sh --platform=android-27 --install-dir=/opt/android-arm64 --arch=arm64
./make-standalone-toolchain.sh --platform=android-27 --install-dir=/opt/android-x86 --arch=x86
./make-standalone-toolchain.sh --platform=android-27 --install-dir=/opt/android-x86_64 --arch=x86_64
2.设置环境
# vi ~/.bashrc
export NDK_ARM_PATH=/opt/android-arm/bin
export NDK_ARM64_PATH=/opt/android-arm64/bin
export NDK_X86_PATH=/opt/android-x86/bin
export NDK_X86_64_PATH=/opt/android-x86_64/bin
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"
export PATH=$NDK_ARM_PATH:$NDK_ARM64_PATH:$NDK_X86_PATH:$NDK_X86_64_PATH:$JAVA_HOME:$PATH
source ~/.bashrc
3.编译第三方库,这里以proj4.9.3为例
armeabi-v7a
./configure --prefix=/home/user/Documents/proj-4.9.3/build --host=arm-linux-androideabi CFLAGS="--sysroot=/opt/android-arm/sysroot" LIBS="-lstdc++"
arm64-v8a
./configure --prefix=/home/user/Documents/proj-4.9.3/build --host=aarch64-linux-android CFLAGS="--sysroot=/opt/android-arm64/sysroot" LIBS="-lstdc++"
x86
./configure --prefix=/home/user/Documents/proj-4.9.3/build --host=i686-linux-android CFLAGS="--sysroot=/opt/android-86/sysroot" LIBS="-lstdc++"
x86_64
./configure --prefix=/home/user/Documents/proj-4.9.3/build --host=x86_64-linux-android CFLAGS="--sysroot=/opt/android-x86_64/sysroot" LIBS="-lstdc++"
编译和安装
make
make install
so库文件