zoukankan      html  css  js  c++  java
  • 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

       

       

         

         

     

  • 相关阅读:
    LeetCode -- Rectangle Area
    【转】VS常用快捷键
    C++中include<> 与 include" " 的区别
    浅析_tmain() 与 main() 函数的区别
    VS2013下配置OpenCV 3.0.0 &&& VS2013下配置Opencv2.4.9
    LeetCode -- Valid Parenthese
    杂想 · 警醒
    LeetCode -- Length of Last Word
    LeetCode -- Valid Sudoku
    LeetCode -- Binary Tree Level Order Traversal II
  • 原文地址:https://www.cnblogs.com/132818Creator/p/12581867.html
Copyright © 2011-2022 走看看