ubuntu下面linphone-android的编译环境配置

ubuntu下面linphone-android的编译环境配置

工作内容主要是windows和android下面的linphone二次开发,疫情期间工作量不是很大,就给自己制定一个工作内容每周写博客,把近几年linphone二次开发遇到的问题写下来,废话不多说开干。
linphone是一款跨平台的给予SIP协议网络电话开源框架支持Android、IOS、Windows等平台。要使用Android框架 需要下载官方源项目后编译才可导入开发工具使用。
1.Ubuntu 16.04(win10 子系统)
2.LInux Android开发环境(JDK8、SDK、NDK)。

第一步下载linphone-android源码

git clone git://git.linphone.org/linphone-android.git --recursive
注意上面的–recursive 一定不要漏掉不然会下载不全

第二步搭建编译Linphone-Android项目的环境

  • jdk环境的配置
  • 下载jdk的安装包
    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(注意32位与64位,我下的是tar.gz后缀)
  • 在Downloads文件夹中找到下载的文件,并提取到当前文件夹。
  • 配置jdk
    我这里按照我自己的配置路径来说。
    在/opt/下创建Java目录,并将下载好的【jdk-8u201-linux-x64.tar.gz】包放到/opt/Java/下。
    解压【jdk-8u201-linux-x64.tar.gz】tar -zxvf jdk-8u201-linux-x64.tar.gz
  • 配置环境变量
    sudo gedit /etc/profile
    把一下内容放到最后
    #set jdk environment
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
    export CLASSPATH=.: J A V A H O M E / l i b : JAVA_HOME/lib: JAVAHOME/lib:JAVA_HOME/jre/lib: C L A S S P A T H e x p o r t P A T H = CLASSPATH export PATH= CLASSPATHexportPATH=JAVA_HOME/bin:$JAVA_HOME/jre/bi
  • source /etc/profile
  • 查看配置是否成功,在终端输入
    java -version
    打印一下内容,说明安装成功
    java version “1.8.0_201”
    Java™ SE Runtime Environment (build 1.8.0_201-b09)
    Java HotSpot™ 64-Bit Server VM (build 25.201-b09, mixed mode)
  • 配置默认JDK,ubuntu下默认JDK是openJDK。终端输入
    sudo update-alternatives --install /usr/bin/java java /opt/Java/jdk1.8.0_201/bin/java 300
    sudo update-alternatives --install /usr/bin/javac javac /opt/Java/jdk1.8.0_201/bin/javac 300
    执行下面命令,配置需要默认的JDK
    sudo update-alternatives --config java

此时jdk已经配置完成,接下来的重点。

  • 下载安装SDK
  • 下载链接:https://www.androiddevtools.cn/
  • 输入vim /etc/profile打开环境变量配置文件,在最后加上
    export ANDROID_SDK_HOME=/mnt/d/WORK/Tools/Android/android-sdk-linux
    export PATH= P A T H : PATH: PATH:ANDROID_NDK_HOME: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:{ANDROID_SDK_HOME}/tools:${ANDROID_SDK_HOME}/platform-tools
  • 把路径定位到/mnt/d/WORK/Tools/Android/android-ndk-r20b/tools中,
    列出需要安装的资源
    android list sdk --all
    列出所有的 skd 资源包括 Sdk buildTools,SDK platform 等等
    选中所需呀资源的序号,比如3 是 buildtoolsVersion 28.0.3,47是 platform 8.1.0
    android update sdk -u -a -t 3,7(需要资源的序号)… 下载
  • 下载安装NDK
  • 下载链接地址:https://developer.android.google.cn/ndk/downloads/
  • 将Android
    NDK压缩包解压到你想要的目录下,如/mnt/d/WORK/Tools/Android/android-ndk-r20b修改/etc/profile,在最后加上
    export ANDROID_NDK_HOME=/mnt/d/WORK/Tools/Android/android-ndk-r20b
    export PATH= N D K H O M E : NDK_HOME: NDKHOME:PATH
  • 测试
    ndk-build -v
    GNU Make 3.81
    Copyright © 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

第三步安装编译时所需的软件

  • 安装编译时所需的软件:
    原文:
    install yasm, nasm, ant, python, intltoolize, cmake and vim-common

     On 64 bits linux systems you'll need the ia32-libs package
    With the latest Debian (multiarch), you need this:
             dpkg --add-architecture i386
             aptitude update
             aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
     我们需要yasm、nasm、python、pip、pystache、wheel、six、doxygen、intltoolize、cmake、vim-common,cmake
    
  • yasm:apt-get install yasm (很顺利没什么问题)

  • nasm: apt-get install nasm (很顺利没什么问题)

  • ant: apt-get install ant (很顺利没什么问题)

  • python: apt-get install python (系统已经事先装好了,所以很顺利没什么问题)

  • pip:sudo apt-get install python-pip(下载源码)

  • pystache:pip install pystache

  • wheel:pip install wheel

  • six:pip install six

  • intltoolize:apt-get install
    intltool(有些软件在不同平台命名不同你可能会遇到找不到软件包等错误,所以我这里改为intltool
    而不是intltoolize)

  • cmake:apt-get install cmake (建议源码安装3.15版本)

第四步编译

在项目目录里执行脚本./prepare.py armv7 arm64 -ac,会在根目录下面生成Makefile,然后就是熟的make && make install

  • ./gradlew -b liblinphone-sdk/build.gradle androidJavadocsJar (生成doc文档)
  • ./gradlew -b liblinphone-sdk/build.gradle sourcesJar(生成成sourcejar包里面有对linphone进行java封装)
  • ./gradlew -b liblinphone-sdk/build.gradle assembleRelease(拷贝一些资源文件)
  • /gradlew -b liblinphone-sdk/build.gradle sdkZip(把winew-sdk-1.0.1-javadoc.jar、winew-sdk-1.0.1-release.aar、winew-sdk-1.0.1-sources.jar打包成ZIP包)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值