Mac下编译linphone 4.2 for android
由于是公用SDK包,下载、编译过程基本与iOS一直,参考iOS文章,同样是在https://gitlab.linphone.org/BC/public/linphone-sdk下载源编译文件
编译:
打开命令行,进入到linphone-sdk,运行如下命令
1、创建目录并进入
mkdir build_Android && cd build_Android
2、配置编译信息
cmake .. -DLINPHONESDK_PLATFORM=Android
配置多个
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLINPHONESDK_PLATFORM=Android
3、编译
cmake --build .
常见问题:
1、找不到NDK
打开Android Studio—>Tools - >Android SDK - >SDK Tools,下载NDK
配置环境变量:
运行命令,填写如下配置:
vim ~/.bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
export ANDROID_HOME=/Users/xx/Library/Android/sdk
export ANDROID_NDK=/Users/xx/Library/Android/sdk/ndk/20.0.5594570
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_NDK
编译Android就遇到这一个问题,或者所有问题都是由于NDK环境引起的,配置环境变量有很多种,即使运行android和ndk-build已经生效,还是会报ndk问题,按照以上配置运行没有问题,也许不需要这么复杂也可以,但是本人没有在尝试。
问题总结:
1、下载问题:
报那个包错误,就手动下载那个,保证包完整是编译的前提
2、编译中遇到问题
工具问题,最简单,会提醒找不到xxx命令,直接安装重新运行
代码错误,比较坑,本人耽误了半天时间都在找替换方案,后来突然开窍了,换个子模块的版本试试,直接去branch中找一个最新更新的旧版本分支,mbedtls 2.16版本就是这么来的
找不到代码,还是下载问题,根据错误日志,寻找提示的位置是不是缺少相关的包