1. 程式人生 > >Ubuntu17.04編譯Linphone Android最新版本3.2.8

Ubuntu17.04編譯Linphone Android最新版本3.2.8

我這次在一個全新的系統上編譯Linphone Android最新版本,在Virtual Box虛擬機器上安裝Ubuntu17.04 64位系統。

1.在Ubuntu系統下建立目錄

sudo mkdir /data
cd /data
sudo mkdir tools
sudo mkdir projects;

使用sudo chown將目錄的所有者修改為你使用的使用者。

2. 安裝JDK,下載jdk-8u144-linux-x64.tar.gz到/data/tools

tar -xvf jdk-8u144-linux-x64.tar.gz 解壓檔案

sudo vi /etc/profile 編輯配置檔案,在檔案後面加上

export JAVA_HOME=/data/tools/jdk1.8.0_144

export JRE_HOME=$JAVA_HOME/jre

exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

儲存後退出,使用source /etc/profile使配置生效,使用java -version檢查java是否安裝正確。

$ java -version

java version "1.8.0_144"

Java(TM) SE Runtime Environment (build1.8.0_144-b01)

Java HotSpot(TM) 64-Bit Server VM (build25.144-b01, mixed mode)

3.安裝Android SDK和Android NDK,

現在Google不提供獨立的SDK的介面安裝工具,獨立包SDK只能使用命令列工具來更新,下載sdk-tools-linux-*******.zip解壓放到/data/tools/android-sdk下,

進入../android-sdk目錄執行

./tools/bin/sdkmanager"build-tools;26.0.2"

./tools/bin/sdkmanager"platforms;android-26"

./tools/bin/sdkmanager"platform-tools"

./tools/bin/sdkmanager"extras;android;m2repository"

./tools/bin/sdkmanager"ndk-bundle"

這種方式下載後的可能在實際執行中可能會導致提示License沒有確認無法進行編譯,建議使用AndroId-Studio來下載Android SDK,

並且在/etc/profile檔案設定路徑

export ANDROID_HOME=/data/tools/android-sdk

export ANDROID_NDK=/data/tools/android-sdk/ndk-bundle

export PATH= $PATH:$ ANDROID_HOME /tools:ANDROID_HOME /platform-tools:$ ANDROID_NDK

apt install git 安裝git,安裝完成後開始clone程式碼

cd /data/projects

git clone https://github.com/BelledonneCommunications/linphone-android.git--recursive

也可以直接使用Linphone的官方git庫,但是國內訪問Linphone的官方git庫非常慢,因此我這裡使用了github上面的映象。上面的命令只是主模組從github上獲取,實際上子模組也需要去linphone.org獲取,可以先使用

來獲取主模組的程式碼,然後執行

git submodule init

再開啟專案的.git目錄的config檔案修改相關配置檔案,指向github的倉庫目錄,然後執行

git submodule update

這樣會快很多,但是不是所有的子模組在github上面都有映象,有些還必須要從linphong.org獲取。

然後還需要進入submodules/mswebrtc目錄,再次執行

git submodule init 
git submodule update

請確保所有子模組都正確下載。

閱讀linphone-android下的readme檔案,上面說要安裝幾個元件yasm,nasm,ant,python,intltoolize,cmake,vim-common.

64位系統還需要安裝ia32-libs

可以使用sudo apt install 命令來安裝,intltoolize 會提示沒有這個包,改為安裝intltool,安裝ia32-libs會提示已經被lib32ncurses5 lib32z1取代了,我們將這兩個也裝上,同時將lib32stdc++6也裝上。

3.編譯,

進入linphone-android目錄,執行./prepair.py,這裡可以加一些引數來開啟或者關閉一些功能,如:

./prepair.py -DENABLE_X264=YES 來開啟X264的支援

具體可以使用命令./prepare.py --list-features  來檢查

然後再直接執行make,成功後即可生成apk檔案。

我用Android Studio重新整理了一份程式碼,so檔案已經生成好,直接編譯執行即可。

https://github.com/zhanggx/linphone-android.git


相關推薦

Ubuntu17.04編譯Linphone Android最新版本3.2.8

我這次在一個全新的系統上編譯Linphone Android最新版本,在Virtual Box虛擬機器上安裝Ubuntu17.04 64位系統。 1.在Ubuntu系統下建立目錄 sudo mkdir /data cd /data sudo mkdir tools sud

Ubuntu10.04 編譯並安裝Linux 內核2.6.32.60版本及錯誤解決。

fdisk命令 prop 這一 boot 虛擬 相關 uuid 電源 linux分區 本文主要是寫給內核學習新手的,主要是在VMWare虛擬機上進行操作。 首先安裝對應版本的編譯工具鏈。 下面進行編譯和安裝。 1.首先解壓源碼。 2.使用cp命令把解壓之後的源碼復制到 /u

Ubuntu17.04上搭建Android Studio開發環境

term ora jdk1.8 png ava upd com all img 在實驗課上都是在Ubuntu環境下,雖然之前都是在windows系統裏寫android程序,但是我還是準備在Ubuntu下配置一個Android Studio環境。 通過百度,我先看到一個最簡單

2017python windows 客戶端最新版本3.6.2安裝教程

python第一章 下載windows版本的python登錄網址 https://www.python.org/getit/ 點擊下載Download Python 3.6.3第二章 安裝python-3.6.2.exe根據下圖提示操作即可。第三章 驗證python客戶端是否安裝成功主

Android Gradle外掛版本3.2.1升級問題記錄

Android Gradle外掛版本3.2.1升級問題記錄 問題1:productFlavors渠道名稱的問題 問題2: butterknife註解器的問題 問題3:buildTools版本的問題

基於ubuntu14.04 編譯webrtc android 原始碼

一.如何訪問google伺服器        1.購買v-p-s伺服器            由於webrtc 原始碼在國外的網站,下載原始碼需要訪問谷歌的伺服器,訪問谷歌的伺服器可以用vpn或者購買vps自己搭建vpn伺服器,我是購買的搬瓦工         作為

android studio在3.2.1版本上新建專案遇到的坑

今天升級了 android studio 版本到3.2.1上,剛新建專案就出現編譯不通過,出現如圖所示: 解決辦法: 1、在工程的peoject的build.gradle中新增 mavenCentral() jcenter{url “http://jcente

Linux下的ds18b20驅動(執行環境 Fedora9.0 交叉編譯 arm-linux-gcc-4.3.2 核心版本2.6.32)

今天在各位前輩已有成就的基礎上花了兩天時間終於把這個驅動給搞定了,從開始編譯成模組看效果,進行除錯,再到編譯進核心,最後又編譯了一個介面出來,雖說大多數的程式程式碼是用各位前輩的成果,但坐下來自己收穫也不小,現在寫下來,以供以後參考,也和各位愛好者交流一下,呵呵! 一.編譯成

Ubuntu18.04搜狗輸入法最新版本2.2.0.0108經常亂碼的解決方案

圖示 解決 舊版 可以安裝舊版(我只在新版sogoupinyin_2.2.0.0108_amd64才遇到這個問題) 命令 cd ~/.config rm -rf SogouPY* sogou* 然後登出當前使用者重新登入一下 結果 (adsbygoogle = wind

Android版本 釋出時間 及對應API(2018.8.31截至Android最新版本 P)

API(Application Programming Interface,應用程式程式設計介面)是一些預先定義的函式,目的是提供應用程式與開發人員基於某軟體或硬體的以訪問一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節. 簡單來說,就是一套可供呼叫的系統介面.

ubuntu12.04 編譯 ics android 4.0.4 日誌 ,出出錯

安裝完官方說明的的包,還會出錯。 編譯 一次需要74+分鐘, 提示資訊 host SharedLib: lib64EGL_translator (out/host/linux-x86/obj/lib/lib64EGL_translator.so) /usr/bin/ld:

Android Studio 下載 3.2.1

Android Studio downloads Platform Android Studio package Size SHA-256 checksum Windows (64-bit) android

Android Studio 升級3.2之後找不到moudle中的類?

以友盟推送為例,PushAgent報錯,找不到 com.umeng.message.PushAgent, 在as3.0+的版本之後,引用的方式 compile 變為 implementation, 但是在moudle中,需要用api的方式代替 implementati

Android Studio更新3.2.1 出現 Could not GET錯誤 與 gradel得不到pom檔案

Studio更新3.2.1 冒出一個Could not GET錯誤,找了下勾選了setting 裡gradle中studio的enable,以為順利解決,問題又來了變成gradel得不到pom檔案,類似這樣的Error:Unable to resolve dependency

如何yum安裝php最新版本7.2及以上

1.先下載清華大學的remi源[[email protected] /]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-6.rpm2.編輯配置檔案[[email

Android Studio升級3.2.1後的合併XML出錯的解決方案

升級到3.2.1版本之後,遇到了合併XML出錯的問題。錯誤內容大概如下: 當大家看到這個問題的時候,可能會有一行是可以點選的檔案目錄,點選到報錯的地方。 如果沒有可以點選的地方,也可以根據目錄和 “行號” 找到具體的地方: 在這裡可以看到,是因為有個 name 的格式有問題,我們搜尋這個 ‘sp

關聯Anaconda和最新Pycharm2018.3.2

在Anaconda和Pycharm 2018.3.2 x64都安裝好之後,進行Anaconda 與Pycharm的關聯操作 首先File -->New Project 開啟以後切記要把Project Interpreter前面的三角形點開,我第一次沒點開,沒有設定直譯器,後面建立工程以後會提示你

android studio更新3.2遇到的坑,unable to resolve dependency for
tdm在win7 x64下靜態編譯 QT5.5 64bit版本問題2

問題描述: g++ -c -pipe -fno-keep-inline-dllexport -m64 -g -std=c++0x -fno-exceptions -frtti -Wall -Wextra -DUNICODE -DQT_BUILD_AXCONTAINER_LI

Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0開發平臺

引言 找了很多Python GUI工具集,還是覺得PyQt比較理想,功能強大跨平臺,還支援介面設計器。花一天時間折騰了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2 + PyQt5.3.2 + Eric6.0 的完整開發平臺的搭建,各種出錯差點放