【为android编译libsocket的脚本】世事洞明皆学问,人情练达即文章。这篇文章主要讲述为android编译libsocket的脚本相关的知识,希望能为你提供帮助。
#!/bin/bash
U32=0
#编译64位arm时
U32=0
编译32位arm时
U32=1
其他参数不需要变动
TARGET=android-24
HOST=darwin-x86_64
TOOL=aarch64-linux-android
#arm-linux-androideabi
aarch64-linux-android
ARCH=arch-arm64
#arch-arm
arch-arm64
if
[
$U32
-ne
0
];
then
echo
"32位arm"
TOOL=arm-linux-androideabi
ARCH=arch-arm
fi
TOOLCHAIN=$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
$LDFLAGS
rm
-f
*.o
cp
*.so
$NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/lib/
mkdir
$NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include/socket
cp
../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
推荐阅读
- applicationContext.xml
- Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins问题的解决
- PCIE_DMA实例二(xapp1052的EDK仿真)
- AndroidStudio升级后出现Refresh gradle project和connection timed out的原因和解决方法
- 10款最佳人工智能软件(最新人工智能软件评测)
- 数据挖掘 Vs 机器学习 Vs 人工智能 Vs 深度学习(它们有什么区别())
- 机器学习的类型有哪些(监督学习与无监督学习)
- C++ 与 Java比较(C++ 与 Java 之间的30大差异(附示例))
- Javascript 与 Python比较 – 它们的主要区别是什么()