標籤:需要 shared xsocket -shared cpp ast rip tool header
#!/bin/bashU32=0 #編譯64位arm時 U32=0 編譯32位arm時 U32=1 其他參數不需要變動TARGET=android-24HOST=darwin-x86_64TOOL=aarch64-linux-android #arm-linux-androideabi aarch64-linux-android
ARCH=arch-arm64 #arch-arm arch-arm64if [ $U32 -ne 0 ]; then echo "32位arm" TOOL=arm-linux-androideabi ARCH=arch-armfiTOOLCHAIN=$TOOL-4.9
export NDK_ROOT=/Users/musictom/Library/Android/sdk/ndk-bundle/export SYSROOT="$NDK_ROOT/platforms/$TARGET/$ARCH"export CPPFLAGS="-I$NDK_ROOT/platforms/$TARGET/$ARCH/usr/include -I$NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include"export LDFLAGS="-L$NDK_ROOT/platforms/$TARGET/$ARCH/usr/lib --sysroot=$SYSROOT"
rm -f *.so *.o$NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/bin/$TOOL-gcc -Wall -fPIC -O2 -c ../c/inet/libinetsocket.c $CPPFLAGS$NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/bin/$TOOL-gcc -Wall -fPIC -O2 -c ../c/unix/libunixsocket.c $CPPFLAGS$NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/bin/$TOOL-gcc -shared -o libsocket.so libinetsocket.o libunixsocket.o $LDFLAGSrm -f *.o
cp *.so $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/lib/mkdir $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include/socketcp ../headers/*.hpp $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include/socket/cp ../headers/*.h $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include/socket/
參考https://github.com/gcesarmza/curl-android-ios/blob/master/curl-compile-scripts/build_Android.sh
為android編譯libsocket的指令碼