Vmware ubuntu 18编译 webrtc for android源码

前几天在windows平台成功把webrtc的源码编译成功了,链接: https://www.cnblogs.com/132818Creator/p/12516850.html

现在打算把android和linux的版本都编译出来,这两个平台完全可以一次性直接编译出来,下面说下流程。

1、win10电脑安装虚拟机,不太建议装双系统,双系统不能两个平台来回切换,况且如果像我这种不是很习惯linux的不是很方便,所以装虚拟机靠谱一些。

      1)vmware下载地址:https://my.vmware.com/cn/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0

           下载for windows 的版本。

      2)安装虚拟机,一直点击下一步就行了,可以先使用,激活码的话,后面可以去网上找,这个我是先试用的。

    

2、在虚拟机里装ubuntu

     

 

 

 上图画框是自己下载的ubuntu 的iso文件,下载地址:https://ubuntu.com/download#download ,然后一直下一步就行了。

3、先装下zlib,最新的谷歌源码需要依赖这个,安装方法:https://www.cnblogs.com/132818Creator/p/12580857.html  ,亲测最新的版本不依赖cipd以后,不装会报错,报错方式:ImportError: No module named zlib

4、安装python 

     打开https://www.python.org/ftp/python/  选择合适的python版本,找到tgz版本的安装包,复制下载的网址路径。

     例如:

    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

 tar -xzvf Python-3.7.1.tgz

 cd Python-3.7.1

 ./configure

  sudo make

  sudo make install

 最后执行 python命令,可以查看到版本信息,就算成功了,如下图:

 

 5、安装git

     apt install git  

    安装成功查看git版本信息

    

6、安装android jdk

     1)下载jdk的包,下载地址: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html  

     2) 我下载的是这个:jdk-8u241-linux-i586.tar.gz

     3)执行命令 sudo tar -zxvf jdk-8u241-linux-i586.tar.gz 解压出来

     4)  加入到环境变量

          我的菜鸟入门 关于怎么操作环境变量:https://www.cnblogs.com/132818Creator/p/12565107.html 

          

    返回到根目录 :cd

    vim .bashrc

    在最下面增加:

    export JAVA_HOME=/usr/local/jvm/jdk1.8.0_241
   export JRE_HOME=${JAVA_HOME}/jre
   export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
   export PATH=${JAVA_HOME}/bin:$PATH

   退出vim  (按下esc ,开启大写键盘,双击Z)

   执行命令:

   source .bashrc

   保存环境变量完成,在命令行输入 java -version

   

7、linux翻墙:

    这里用的是lantern

     下载: lantern-installer-64-bit.deb

    下载地址:https://github.com/getlantern/lantern

     下载完以后执行命令:sudo apt install gdebi-core

    然后进入到下载的deb文件的文件夹下,执行 sudo gdebi lantern-installer-beta-64-bit.deb

    安装完成。

8、安装android sdk

     下载Android SDK  官网http://developer.android.com/sdk/index.html

      解压  tar -zxvf android-sdk_r16-linux.tgz

         vim .bashrc

      添加环境变量:

    export ANDROID_HOME=/usr/local/android_sdk/android-sdk-linux
   export PATH=$PATH:${ANDROID_HOME}/tools
  export PATH=$PATH:${ANDROID_HOME}/platform-tools

   source .bashrc

9、安装android ndk

    1.下载android-ndk64-r10b-linux-x86_64.tar.bz2,下载地址:http://dl.google.com/android/ndk/android-ndk64-r10b-linux-x86_64.tar.bz2

    2、  vim .bashrc

           export   NDK=/home/davebobo/android-ndk-r10b

          export   PATH=${PATH}:$NDK

 10、下载depot_tools 

       这一步必须是ubuntu下载的,博主把之前windows下载的拷贝过来,执行脚本有很多问题,比如dos2unix等等,安全起见,建议大家直接下载。

        git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

      将depot_tools加入到环境变量,路径写到depot_tools这一层。

 11、下载代码

         linux:fetch --nohooks webrtc

         android:fetch --nohooks webrtc_android

         上面两个命令,选择对应平台去fetch拉取代码

        

         无论中断或者不中断都没事,继续执行gclient sync 同步更新代码

         如果报错记得看下什么错误,如果提示服务器连接不上,可能是翻墙的网络不行。

         如果报错 ImportError: No module named zlib 

             解决办法:1)安装zlib  安装方法:https://www.cnblogs.com/132818Creator/p/12580857.html   

                               2)然后重新make python 

                                   cd Python2.7.11

            ./configure 

              make

                   make install

     12、编译

                         1)cd src

                     2)./build/install-build-deps.sh

3)./build/install-build-deps-android.sh

                        4)

                               android:gn gen out/Debug --args='target_os="android" target_cpu="arm"'

                                             To build for ARM64: use target_cpu="arm64"
                                            To build for 32-bit x86: use target_cpu="x86"
                                            To build for 64-bit x64: use target_cpu="x64"

                              linux:gn gen out/LinuxDebug

                         5) ninja -C out/Debug   

                         6)生成给Android Studio使用的gradle

                                build/android/gradle/generate_gradle.py --output-directory $PWD/out/Debug --target "//examples:AppRTCMobile" --use-gradle-process-resources --split-projects --canary

   

   

     

     

 

原文地址:https://www.cnblogs.com/132818Creator/p/12581867.html