1. 程式人生 > >Webrtc入門——基於阿里雲ubuntu 最新webrtc Android平臺編譯詳細說明

Webrtc入門——基於阿里雲ubuntu 最新webrtc Android平臺編譯詳細說明

        折騰了好多天,終於將webrtc Android平臺的demo編譯出來了,發現即使完全按照webrtc官網的編譯指南,還是會碰到各種問題。而網上又沒有更全面的說明,最後是通過檢視webrtc 批處理指令碼才最終一步步解決問題。寫下這篇文章,希望對大家有幫助。

        在編譯的過程中,感覺webrtc編譯實在是太難了, 但是完成了編譯之後,感覺webrtc編譯其實是很簡單的,造成這個強烈反差的主要原因是,google工程師將幾乎所有編譯過程中需要使用的軟體、依賴配置、環境變數,都已經寫成了指令碼,你只要執行就可以了。什麼JDK、SDK安裝、配置、環境變數設定統統不需要,怎樣,簡單吧,執行幾個命令就搞定了!!等等,別高興太早,我前面說的是幾乎,不是全部,比如在命令列條件下用url下載資源的curl及其依賴的一票軟體,人家google認為是基礎軟體,不需要給你安裝,但是萬一你沒有安裝呢,那就在下載原始碼失敗的地方慢慢找原因吧!!另外,批處理也有壞處,中間某個環節出問題了就會終止(因為你係統或者網路的原因),但是也許你沒注意,認為執行結束了,那就會在編譯環節遇到各種各樣的問題,這些問題連萬能的google可能都沒有任何答案。當然,如果你的網路連線美帝很慢,那就更慘了。

     好了,言歸正傳,編譯之前請大家準備好環境:

    1.阿里雲Ubuntu 12.04 64bit  1核4G記憶體,選擇美國的網路,按流量收費,100M網路:

         美國的網路你懂的,4G記憶體是webrtc編譯最低要求

    2.提前執行apt-get update,確保源同步過程不出現錯誤

      一開始用Ubuntu 14.04在apt-get update的時候出現源同步錯誤,導致webrtc相關批處理執行中途異常停止,折騰了不少時間才發現是apt-get update的問題,但是試了很多方法都不行,最後用Ubuntu 12.04就沒問題了。 

   3. 新增新賬戶,並設定管理員許可權

      webrtc在原始碼下載的過程中會識別是否root使用者,如果是root使用者會提醒錯誤。但是你不去理會似乎也能正常往下走,不過我為了保險還是使用了新賬戶。

複製程式碼
sudo adduser xxx(你的使用者名稱)
sudo vi /etc/sudoers
找到“root ALL=(ALL) ALL”,在下面加一條:
# User privilege specification
root ALL=(ALL) ALL
xxx  ALL=(ALL) ALL

重啟linux系統
複製程式碼

  4.安裝阿里雲未預設安裝的軟體(但webrtc認為你預設就有的環境)

sudo apt-get install  git  apache2 curl libcurl3 libcurl3-dev php5-curl
//重啟Apache

sudo /etc/init.d/apache2 restart

    準備條件基本具備了,接下來就開始真正webrtc原始碼下載和編譯了,其實就是按照google官網的指導 https://webrtc.org/native-code/android/ ,只是對其中容易搞錯的地方做了重點說明。

 1.下載原始碼

複製程式碼
選擇一個目錄,我是選擇當前賬戶的根目錄( home/xxx(你的使用者名稱) )

//下載depot-tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
//設定環境變數
export PATH=`pwd`/depot_tools:"$PATH"

//選擇Android為目標
export GYP_DEFINES="OS=android"

//選擇版本分支
fetch --nohooks webrtc_android

//開始下載原始碼
gclient sync
複製程式碼

 執行gclient sync開始下程式碼後,不會一番風順:

  1)首先會一直停留在“still on src”這樣一個提示上,可能需要40分鐘以上,不要著急,這是正常現象。

  2)在原始碼下載過程中會有一個Android SDK 軟體許可的提示,但是顯示不全,所以無法進行y/n選擇, 沒關係,你按回車鍵先讓它繼續往後走。如果你仔細看,回車後會有提示,大概意識是 google play severice 不是最新的,要你手動執行“src/build/android/play_services/update.py download”更新,你先不管

  3)因為google play severice 不是最新的,下載到一大半會出錯,這個時候你執行 src/build/android/play_services/update.py download ,然後再執行gclient sync就能正常下載完了。

2.編譯apk 

複製程式碼
/*安裝編譯依賴軟體和環境,這個過程會安裝linux的基礎環境和Android的基礎環境,包括JDK 1.7版本*/
src/build/install-build-deps-android.sh 

/*如果你的系統中之前還安裝了其他版本的jdk,需要使用以下命令將預設的環境切換到openJDK1.7*/
sudo update-alternatives --config javac
sudo update-alternatives --config java
sudo update-alternatives --config javaws
sudo update-alternatives --config javap
sudo update-alternatives --config jar
sudo update-alternatives --config jarsigner

/*設定各種環境變數*/
/*進入src目錄,執行*/
. build/android/envsetup.sh

export GYP_DEFINES="OS=android $GYP_DEFINES"


export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_android"


gclient runhooks

ninja -C out/Debug AppRTCDemo
複製程式碼

如果之前的操作步驟正確,編譯這一步是不會出什麼問題的,順利編譯通過。在src/out/Debug/apks/目錄下能找到AppRTCDemo.apk

好了,編譯結束了

From: http://www.cnblogs.com/rabbitt/p/5517935.html

相關推薦

Webrtc入門——基於阿里ubuntu 最新webrtc Android平臺編譯詳細說明

        折騰了好多天,終於將webrtc Android平臺的demo編譯出來了,發現即使完全按照webrtc官網的編譯指南,還是會碰到各種問題。而網上又沒有更全面的說明,最後是通過檢視webrtc 批處理指令碼才最終一步步解決問題。寫下這篇文章,希望對大家有幫助。         在編譯的過程

【從零開始/親測國內外均可】基於阿里Ubuntu的kubernetes(k8s)主從節點分散式叢集搭建——分步詳細攻略v1.11.3【準備工作篇】

從零開始搭建k8s叢集——香港節點無牆篇【大陸節點有牆的安裝方法我會在每一步操作的時候提醒大家的注意,並告訴大家如何操作】 由於容器技術的火爆,現在使用K8s開展服務變得越來越廣泛了。 本攻略是基於阿里雲主機搭建的一個單主節點和單從節點的最簡k8s分散式叢集。 為了製作

基於阿里 Ubuntu 16.04.3 LTS 搭建 python+flask web 伺服器

1. 確認 Ubuntu 已正確安裝 python 及 pip 2. 通過 FileZilla 將 python+flask 工程部署於 Ubuntu 伺服器 3. 將工程中的啟動檔案 Applic

阿里上搭建webRTC 伺服器——Licode

阿里雲上搭建webRTC 伺服器——Licode 系統配置 阿里雲伺服器 Ubuntu 14.04.5 LTS Docker 環境搭建 在一臺空的機器上搭建docker環境,先要安裝docker,執行下面的命令即可: apt-get update apt-get install docker.io

本地Windows遠端桌面連線阿里Ubuntu伺服器

本地Windows遠端桌面連線阿里雲Ubuntu 16.04伺服器:   1、目的:希望通過本地的Windows遠端桌面連線到阿里雲的Ubuntu伺服器,通過遠端桌面圖形介面的方式操作伺服器。 2、條件:申請的阿里雲Ubuntu伺服器一臺,本地Windows作業系統電腦一臺。  

阿里ubuntu配置tomcat https證書

  轉載於https://blog.csdn.net/jianjiao7869/article/details/81428861 前置條件:JDK和TOMCAT 第一步:下載證書,傳送門,阿里雲裡面找到安全SSL證書,有免費的 第二步:按照官方教程走:注意要把:1、埠8443改成4

【轉】阿里Ubuntu系統搭建SVN伺服器

##SVN伺服器相關軟體安裝 1、使用SSH遠端伺服器 (1)對於MAC OS/Liunx的使用者直接開啟終端輸入 ssh  使用者名稱@例項名,例如 ssh [email protected] 執行上面的命令後終端會提示輸入密碼,驗證通過後會出現如下資訊: We

Xshell連線騰訊/阿里ubuntu伺服器中文亂碼

當我們使用Xshell 連線ubuntu雲伺服器的時候,剛開始連線的時候沒有進行終端設定就進入介面,在Xshell介面會出現中文亂碼。 使用本地ubuntu虛擬機器連線騰訊雲伺服器中文顯示正常。 這時我們只需要在Xshell裡面新建一個連線,輸入主機名之後,點選下方的終端,找到編碼,選擇

基於阿里SLB/ESS/EIP/ECS/VPC的同城高可用方案演練

天基於阿里雲SLB/ESS/EIP/ECS/VPC等產品進行了一次同城高可用方案演練: 基本步驟如下: 1. 在華東1建立VPC網路VPC1,在華東1可用區B和G各建立一個虛擬交換機vpc1_switch 和 vpc1_switch_2_g;   2. 建立兩個EIP,其中

阿里Ubuntu下安裝、配置許可權和匯入本地mongodb

---恢復內容開始--- 第一部分:首先先在Ubuntu下安裝好mongodb,步驟如下: 首先我們需要藉助遠端管理工具連結到阿里雲上的ubuntu系統,接著進行如下操作 一、匯出軟體源的公鑰   sudo apt-key adv --keyserver hkp://keyserver.u

基於阿里物聯網平臺實現的簡易出入監控

本文通過一個簡單例項,主要介紹瞭如何使用樹莓派快速接入阿里雲iot platform,並實現了一個簡易的監控人員出入並拍照上送釘釘群的場景 場景 在公司大門入口處布點樹莓派和紅外感應,實現出入口人員出入時,自動拍照並上送釘釘群機器人 準備 物料準備 樹莓派 HC-SR501 人體紅外

基於阿里搭建的適合初創企業的輕量級架構--架構總結

----基於阿里雲搭建的適合初創企業的輕量級架構 前言 在專案的初期往往存在很多變數,業務邏輯時刻在變,而且還要保證快速及時,所以,一個靈活多變、快速部署、持續整合並可以適應多種情況的架構便顯得尤為重要。本文主要介紹基於阿里雲搭建適合專案初期的後端架構,至於細節操作不作描述,比如nginx配置優

阿里高階工程師分享:高德地圖基於阿里MaxCompute的實戰效果

阿里辦公室 雲端計算帶來的變革不言而喻,作為一種新型的IT交付模式,切實為企業節省IT成本、加快IT與企業業務結合效率、提升創新能力、加強管理水平以及增強系統本身的靠性等方面提供巨大支援,是企業實現新發展的重要途徑,它已然成為全球IT產業的主流聲音。 為此,CSDN記者日前採訪了國內最早一批

阿里+Ubuntu+nginx+https的證書申請與配置

1.【到阿里雲可以申請免費證書】 看這篇:看看大體流程 咦,阿里雲上免費的證書申請找不到了?看這篇:其實免費的證書在這裡 申請過程的補充看這裡:申請過程的補充 2.【下載特定伺服器證書,配置伺服器】     ①在阿里雲上下載“證書for nginx”

記一次“噁心”的利潤報表開發(基於阿里MaxCompute)

前言 作為一名資料人員,報表開發可能是難以繞過的一項工作。運營、市場、銷售、財務等部門總會有各種各樣的報表需求。我也算是經歷過不少風雨的一號人物了,為財務開發利潤報表仍然讓我頭疼不已。 設計思路 一、靈活的引數 利潤報表中有很多引數並不是固化的,而是在不同的時期會有不同的

阿里ubuntu伺服器環境配置

1 引言 我租的是阿里雲的輕量級應用伺服器,學生機很便宜,選用的是ubuntu系統映象,在租阿里雲後ubuntu自帶python2.7而我們需要安裝python3.6.3版本所以我們開始我們的安裝。 2 安裝python3.6 (1)sudo su root (2) apt

如何基於阿里搭建適合初創企業的輕量級架構?

摘要: 在專案的初期往往存在很多變數,業務邏輯時刻在變,而且還要保證快速及時,所以,一個靈活多變、快速部署、持續整合並可以適應多種情況的架構便顯得尤為重要。本文主要介紹基於阿里雲搭建適合專案初期的後端架構 ----基於阿里雲搭建的適合初創企業的輕量級架構 前言在專案的初期往往存在很多變數,業務邏輯時刻在變

基於阿里物聯網平臺,我們這樣實現簡易出入監控

本文通過一個簡單例項,主要介紹瞭如何使用樹莓派快速接入阿里雲iot platform,並實現了一個簡易的監控人員出入並拍照上送釘釘群的場景 場景 在公司大門入口處布點樹莓派和紅外感應,實現出入口人員出入時,自動拍照並上送釘釘群機器人 準備 物料準備

【上傳檔案】基於阿里的視訊點播VOD、物件儲存OSS實現音視訊圖片等檔案上傳

一、效果演示 a.測試介面初始化 b.點選【上傳視訊】 c.點選【開始上傳】 d.點選【上傳音訊】選擇音訊之後點選【開始上傳】 c.點選【上傳圖片】,注意圖片上傳為單按鈕,選擇檔案之後自動完成上傳 d.點選【確定】來獲取以上幾個上傳檔案成功之後

Swoole一鍵操作基於阿里的RDS資料庫遷移+OSS檔案搬遷

    傳統的資料庫搬遷思路是把資料庫表的結構及資料都查詢出來,然後通過迴圈進行資料結構重組拼接。然後匯出!資料量少的話,這樣當然是沒毛病。當資料量太大的時候,伺服器的記憶體開銷就吃不住了,很容易炸掉,導致伺服器癱掉。當然我之前也這麼幹的 ,所以也一直想辦法解決這個問題  ,