1、下载live555,网上找吧
2、根目录下创建两个文件config.android-arm64和config.android-armv7
文件内容如下config.android-arm64:
NDK=/home/xx/work/ndk/android-ndk-r21e
TOOLCHAIN=$(NDK)/toolchains/llvm/prebuilt/linux-x86_64
API=27
SYSROOT=$(NDK)/toolchains/llvm/prebuilt/linux-x86_64/sysroot
CROSS_PREFIX=$(TOOLCHAIN)/bin/aarch64-linux-android-
DESTDIR=$(shell pwd)/../arm64-v8a
COMPILE_OPTS = $(INCLUDES) -m64 -fPIC -fpic -I$(SYSROOT)/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DNO_OPENSSL=1 -DNO_GETIFADDRS=1 --sysroot=$(SYSROOT)
C = c
C_COMPILER = $(TOOLCHAIN)/bin/aarch64-linux-android$(API)-clang
C_FLAGS = $(COMPILE_OPTS)
CPP = cpp
CPLUSPLUS_COMPILER = $(TOOLCHAIN)/bin/aarch64-linux-android$(API)-clang++
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1
OBJ = o
LINK = $(CPLUSPLUS_COMPILER) -o
LINK_OPTS = -static-libstdc++
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(CROSS_PREFIX)ar rcs
LIBRARY_LINK_OPTS =
LIB_SUFFIX = a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
config.android-armv7:
NDK=/home/xx/work/ndk/android-ndk-r21e
TOOLCHAIN=$(NDK)/toolchains/llvm/prebuilt/linux-x86_64
API=eabi27
SYSROOT=$(NDK)/toolchains/llvm/prebuilt/linux-x86_64/sysroot
CROSS_PREFIX=$(TOOLCHAIN)/bin/arm-linux-androideabi-
DESTDIR=$(shell pwd)/../armeabi-v7a
COMPILE_OPTS = $(INCLUDES) -m32 -fPIC -fpic -I$(SYSROOT)/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=32 -DNO_OPENSSL=1 -DNO_GETIFADDRS=1 --sysroot=$(SYSROOT)
C = c
C_COMPILER = $(TOOLCHAIN)/bin/armv7a-linux-android$(API)-clang
C_FLAGS = $(COMPILE_OPTS)
CPP = cpp
CPLUSPLUS_COMPILER = $(TOOLCHAIN)/bin/armv7a-linux-android$(API)-clang++
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1
OBJ = o
LINK = $(CPLUSPLUS_COMPILER) -o
LINK_OPTS = -static-libstdc++
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(CROSS_PREFIX)ar cr
LIBRARY_LINK_OPTS =
LIB_SUFFIX = a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
上面内容忘了哪个大神写的了,这里没法致敬大神了。抱歉!!!
3、执行
. genMakefiles android-arm64 生成makefile
make
make install
目录下生成对应目录。头文件和lib都在里面。
同理android-armv7
先make clean 一下,
. genMakefiles android-armv7
make
make install
完事儿。。。。但是。。。。 ip获取不到。。。。这就是拿来主义导致,不过我仍想拿来主义,不思进取。找了几天没找到,不过大神们修改的地方都一样都是GroupsockHelper.cpp里getOurIPAddresses,因为版本不一样,代码不完全一样。修改了不管用。。。。
但是我看到了一个宏定义,NO_GETIFADDRS ,貌似有不一样的逻辑,试试吧。
上面config.android-arm64和config.android-armv7
-DNO_GETIFADDRS=1 去掉,
clean 再来一遍。静态库导入项目,诶嘿好了,可以获取到了。。。为啥,管他为啥,我也不知道。
送给拿来主义的兄弟们,不要和我一样浪费时间找了。