(一)下載android源碼

  1. 環(huán)境搭建
  2. 下載代碼
  3. 編譯代碼

1. 環(huán)境搭建

  1. 使用Ubuntu14.04
  2. 下載openjdk8
  • 2.1 添加PPA
sudo add-apt-repository ppa:openjdk-r/ppa
  • 2.2 安裝openjdk8
sudo apt-get update
sudo apt-get install openjdk-8-jdk
  • 2.3 查看當(dāng)前所有的javac和java版本并且選擇java8
sudo update-alternatives --config javac
sudo update-alternativers --config java
  1. 安裝編譯時(shí)所會(huì)用到的工具
sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

2. 下載代碼

  1. 下載repo
    repo是google為了管理android源代碼而開(kāi)發(fā)的工具,本身是對(duì)git的一個(gè)包裝。
    • 1.1 在主目錄中創(chuàng)建bin目錄并且配置到環(huán)境變量中
           mkdir ~/bin
           PATH=/bin:$PATH
  • 1.2 下載repo并且使其可執(zhí)行
          curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
         chmod a+x ~/bin/repo
  1. 下載代碼
    • 2.1 初始化repo
      repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r40
 我下載的是android-8.1.0_r40這個(gè)分支的代碼
  • 2.2 同步代碼
      repo sync -j4 --no-tags
      -j4:開(kāi)啟4個(gè)線程
     --no-tags:不下載版本的tag,在git中每個(gè)版本都會(huì)有對(duì)應(yīng)的tag
     根據(jù)tag可以找到對(duì)應(yīng)的版本
  1. 下載代碼時(shí)遇到的問(wèn)題
    1. 問(wèn)題一
      curl: (22) The requested URL returned error: 404 Not Found
      Server does not provide clone.bundle; ignoring.
      不用理會(huì)便可。repo想下載一個(gè)預(yù)先打包好的bundle文件,可以提高下載效率,但是服務(wù)器沒(méi)有提供,所以會(huì)出現(xiàn)這個(gè)問(wèn)題。但是我們繼續(xù)下載就可以了
    2. 問(wèn)題二
      當(dāng)下載中斷時(shí), 再次執(zhí)行repo sync -j4 繼續(xù)下載便可

3. 編譯代碼

如果前面的環(huán)境搭配好,編譯就會(huì)非常簡(jiǎn)單

  1. source build/envsetup.sh
  2. lunch
  3. 在lunch之后選擇1(代表模擬器)
  4. make -j4
    時(shí)間等待較長(zhǎng),編譯完成之后在out/target/product/產(chǎn)品名/
    下都是編譯產(chǎn)物
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近計(jì)劃著研究下 Android 7.0 的系統(tǒng)源碼,之前也沒(méi)做過(guò)什么記錄,這次正好將學(xué)習(xí)的內(nèi)容記錄下來(lái),方便以后...
    香辣牛肉面閱讀 16,289評(píng)論 21 85
  • 本文記錄了AOSP在Mac系統(tǒng)上下載和編譯的過(guò)程。 采用的系統(tǒng)是 macOS10.13.1 所使用的AOSP分支是...
    零響閱讀 2,391評(píng)論 1 0
  • 在Android Studio代碼調(diào)試一文中,簡(jiǎn)單的介紹了代碼調(diào)試的一些技巧.現(xiàn)在我們來(lái)談?wù)刟ndroid源碼編譯...
    涅槃1992閱讀 192,434評(píng)論 104 450
  • 了解了這些病因,產(chǎn)后腰痛就好了一半! 腰痛在媽媽群體中十分常見(jiàn),產(chǎn)后媽媽可以說(shuō)是深受其害!預(yù)防工作沒(méi)做好,產(chǎn)后又要...
    媽媽修復(fù)閱讀 193評(píng)論 0 0
  • 那天從網(wǎng)上看到了某一作家介紹時(shí)說(shuō),一直找不到究竟怎樣教自己的學(xué)生學(xué)習(xí)寫(xiě)作,也許是他一直沒(méi)有找到一個(gè)好的辦法。我也想...
    廬山樵閱讀 293評(píng)論 0 4

友情鏈接更多精彩內(nèi)容