欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-05 20:42:00
...

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=.:JAVAHOME/lib:JAVA_HOME/lib:JAVA_HOME/jre/lib:CLASSPATHexportPATH=CLASSPATH export PATH=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=PATH:PATH:ANDROID_NDK_HOME:JAVAHOME/bin:JAVA_HOME/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=NDKHOME:NDK_HOME: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包)
相关标签: linphone