首頁 > 軟體

Ubuntu 16.04 下載和編譯Android 6.0 原始碼

2020-06-16 17:14:26

1、下載原始碼

Android 6.0原始碼下載地址: http://www.linuxidc.com/Linux/2016-01/127285.htm

前期準備:

安裝Ubuntu

安裝 Git (我的是系統自帶裝好) 可以輸入 git --version 如果輸出版本等資訊則已經安裝。沒有安裝的網上很多安裝資料。並且設定git 的global user.name 和 user.email

  $ git config --global user.name "Your Name"
  $ git config --global user.email "you@example.com"

安裝curl

 $ curl sudo apt-get install curl

下載repo指令碼檔案:

<1> 建立儲存指令碼的檔案:

  $ mkdir ~/bin
  $ PATH=~/bin:$PATH

<2>下載repo工具並保證可執行

  $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  $ chmod a+x ~/bin/repo


  $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  $ chmod a+x ~/bin/repo

2、開始下載

<1>建立儲存原始碼的資料夾,並進入

  $ mkdir Android
  $ cd Android

<2>執行repo init 之前必須指定manifest的URL

  $ repo init -u https://android.googlesource.com/platform/manifest

<3>To check out a branch other than "master", specify it with -b. For a list of branches, seeSource Code Tags and Builds.

  $ repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r1

<4>下載

  $ repo sync

下載的時間比較長,並且很可能中途停止,只要在repo sync 就可以接著下載,我下載了三四天,網速不太好。

3、編譯原始碼

<1>下載完之後,開始編譯原始碼,編譯原始碼之前需要安裝openjdk1.7.x,ubuntu 16.04 直接安裝的openjdk為1.8.x的所以按照以下操作下載

  $ sudo add-apt-repository ppa:openjdk-r/ppa 
  $ sudo apt-get update 
  $ sudo apt-get install openjdk-7-jdk

如果安裝了多個jdk 通過一下操作選擇

  $ sudo update-alternatives --config java
  $ sudo update-alternatives --config javac

java 選擇 java-7-openjdk.javac 選擇 java-7-Oracle/bin/javac 我選擇的是這個,其他的-7-版本不知道可不可以用,-8-肯定不能用。

除了openjdk之外還需要安裝許多其他工具,參考 http://wiki.cyanogenmod.org/w/Build_for_hammerhead#Install_the_SDK 中 Install the Build Packages 這個章節。

<2> 設定環境

  $ source build/envsetup.sh

或者

  $ . build/envsetup.sh

<3> 選擇目標

  $ lunch aosp_arm-eng

或者直接lunch 選擇aosp_arm-eng的序號

<4>開始編譯

 $ make -j8

make後面的引數跟電腦的cpu有關我的使用的是-j8,也可以-j2,-j4等,2的倍數。

第一次編譯需要的時間比較長我用的>4個小時。並且編譯過程還出現過各種錯誤,http://www.linuxidc.com/Linux/2017-05/144073.htm,這個是我編譯過程中出現的問題。

<5> 安裝編譯好的Android映象到模擬器上。都是在Android資料夾下

1. 設定環境變數:   

    $ export PATH=$PATH:~/Android/out/host/linux-x86/bin 
    $ export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic

其中,~/Android/out/host/linux-x86/bin有我們要執行的emulator命令,而~/Android/out/target/product/generic是Android映象存放目錄,下面執行emulator命令時會用到。

2. 執行模擬器。

$ emulator

3.執行結果:


IT145.com E-mail:sddin#qq.com