Ubuntu14.04 64位下載編譯Android源碼仅仆,刷機(jī)Nexus5

安裝Ubuntu

  • 不好意思,自行百度.- 反正最好分個 180G虫碉,然后內(nèi)存起碼 4G

配置環(huán)境 下載源碼

  • 一般默認(rèn) python 版本是 2.x的,所以3.x是會報錯
  • Android6的話 ,直接安裝openjdk7
  • 其他的話癣诱,查看下下面的編譯環(huán)境配置和編譯要求。
    • 先終端輸入 java -version
      • 有的話袜香,它會告訴你是哪個版本
      • 沒有的話撕予,它會提示你安裝指令,照抄唄
      • sudo apt-get install openjdk-7-jdk
    • 配置一下 JAVA_HOME
      • echo $JAVA_HOME
      • 沒有輸出的話 - 設(shè)置唄
    • echo export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/">> ~/.bashrc
    • 重啟一下終端設(shè)置
    • source ~/.bashrc
    • 輸入$JAVA_HOME 看下是不是有輸出
  • git
    • sudo apt-get install git
    • git config --global user.name "Github的名字"
    • git config --global user.email "Github的Email"

  • 初始化源碼環(huán)境

  • 首先下載 repo 工具

        mkdir ~/bin
        PATH=~/bin:$PATH
        curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
        如果上述 URL 不可訪問蜈首,可以用下面的:
        curl -sSL  'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repo
        chmod a+x ~/bin/repo
    
  • 然后建立一個工作目錄(名字任意)

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    
  • 初始化倉庫

    repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
    如果提示無法連接到 gerrit.googlesource.com实抡,可以編輯 ~/bin/repo,把 REPO_URL 一行替換成下面的:
     REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
    
  • 如果需要某個特定的 Android 版本 (Android 版本列表):

    repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.0.1_r1(比如4.0)
    
  • 同步源碼樹(以后只需執(zhí)行這條命令來同步):

    repo sync
    

  • 初始化同步方法2

    • 注意,因為是要編譯指定的源碼,所以記得加上Android版本分支
    • Android版本分支
  • 版本分支很重要,別忘了!!!

    • 實在不行,你就把源碼目錄寫成分支名字欢策,因為你要根據(jù)這個 分支名字 獲取 細(xì)分版本號
    • 根據(jù) 細(xì)分版本號 才能下載到對應(yīng)的驅(qū)動文件
      1529397036(1).jpg
  • 啥?不想,那當(dāng)我沒說過!

  • 這時候吆寨,聰明可愛的你肯定已經(jīng)在開始同步了。

  • 下載驅(qū)動2瓤堋W那濉! 沒有這個你是沒法開機(jī)的俺孙,會一直在 Google 這個logo無法開機(jī)辣卒。

  • 找到你 對應(yīng)的手機(jī)機(jī)型,根據(jù)上面的 細(xì)分版本號 下載驅(qū)動 - 兩個或者三個鼠冕,都下載下來添寺。

    1529397122(1).jpg

編譯

  • 這時候你已經(jīng)下載完了把,把剛剛下載的驅(qū)動解壓到源碼目錄下懈费。

  • 會是多個.sh文件 像這樣

    • extract-lge-hammerhead.sh
    • extract-broadcom-hammerhead.sh
    • extract-qcom-hammerhead.sh
  • 源碼目錄下執(zhí)行 .sh 文件计露。

  • 像這樣 ./extract-lge-hammerhead.sh

    • 然后就出現(xiàn)一堆英文,不要管它憎乙。直接 按Enter一路向下票罐,直到你看到第8條,然后注意 繼續(xù)Enter泞边,最后會有一個什么什么的该押,需要你輸入 I ACCEPT,一定要全部大寫阵谚,不然再執(zhí)行一邊唄蚕礼。
  • 三個都要這樣操作 - 這時候烟具,源碼路徑下就會有一個 vendor 的文件夾- 然后開始編譯了 ,假設(shè)你環(huán)境配置正確奠蹬。沒配置正確朝聋?那就慢慢編譯唄,再挨個看報錯修改東西唄囤躁。

  • Linux編譯環(huán)境配置

  • 編譯要求

    • 這里會告訴你哪個Android版本需要哪個jdk版本 - 在Ubuntu 14.04 64位的基礎(chǔ)上冀痕,編譯4.4和6.0實際上只是一個使用jdk6一個使用openjdk7的區(qū)別。起碼在我自己編譯的時候是這樣子
    • 還有就是如果開始編譯6.0 使用的 apt-get install openjdk7狸演,后面你又打算編譯4.4言蛇。那么在你安裝jdk1.6.0_xxx.bin的時候,記得apt-get remove openjdk-7-jre 什么的宵距,有三個反正不知道啥你就 tab 鍵腊尚,否則 jdk-version 一直是1.7,就算你修改了 /erc/profile 還是 ~/.bashrc 官方說是Android7-8使用openjdk8消玄,5-6使用openjdk7,2.3-4.4使用jdk6 - 編譯前配置
    • 在 .bashrc文件中添加:export USE_CCACHE = 1 - echo export USE_CCACE=1 >> ~/.bashrc
      • 為了提高編譯效率跟伏,設(shè)置編譯器高速緩存。
    • 執(zhí)行以下命令:
      • prebuilts/misc/linux-x86/ccache/ccache -M 30G
      • 這個 30G 根據(jù)自己的硬盤空間大小繼續(xù)調(diào)整
  • 開始編譯

    • 源碼路徑下

    • source . build/envsetup.sh

    • lunch

      • 比如我是Nexus5翩瓜,所以選擇 19
      • aosp_hammerhead_userdebug
        image

        image
    • user 用于正式產(chǎn)品

    • userdebug 和user類似受扳,但是有root權(quán)限,并且可以調(diào)試兔跌,主要用于調(diào)試

    • eng 開發(fā)用的選項勘高,配有額外的調(diào)試工具。

    • 如果編譯后只在模擬器上運行坟桅,則lunch后可以就直接輸入:1

    • 特定設(shè)備上運行編譯系統(tǒng)的詳細(xì)信息

    • 最后华望,make -j4 或者 make -j8 或者 make -j16,看你配置了。

    • 我是兩三個小時直接編譯成功仅乓,看配置和人品吧赖舟,啊哈哈哈哈。

刷機(jī)

  • sudo adb reboot bootloader
  • 這個時候可能adb devices 你會發(fā)現(xiàn)找不到設(shè)備
    • 如果是虛擬機(jī)的話夸楣,點開上面那個 虛擬機(jī) 選項宾抓,可移動設(shè)備
    • 然后 連接
  • 可以執(zhí)行下解鎖命令
    • fastboot oem unlock
  • fastboot -w flashall
  • 然后就會自動重啟,開機(jī)豫喧。

刷機(jī)失敗

  • 失斒础?
    image

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末紧显,一起剝皮案震驚了整個濱河市讲衫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孵班,老刑警劉巖涉兽,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件招驴,死亡現(xiàn)場離奇詭異,居然都是意外死亡花椭,警方通過查閱死者的電腦和手機(jī)忽匈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矿辽,“玉大人,你說我怎么就攤上這事郭厌〈螅” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵折柠,是天一觀的道長宾娜。 經(jīng)常有香客問我,道長扇售,這世上最難降的妖魔是什么前塔? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮承冰,結(jié)果婚禮上华弓,老公的妹妹穿的比我還像新娘。我一直安慰自己困乒,他們只是感情好寂屏,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娜搂,像睡著了一般迁霎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上百宇,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天考廉,我揣著相機(jī)與錄音,去河邊找鬼携御。 笑死昌粤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的因痛。 我是一名探鬼主播婚苹,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鸵膏!你這毒婦竟也來了膊升?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤谭企,失蹤者是張志新(化名)和其女友劉穎廓译,沒想到半個月后评肆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡非区,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年瓜挽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片征绸。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡久橙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出管怠,到底是詐尸還是另有隱情淆衷,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布渤弛,位于F島的核電站祝拯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏她肯。R本人自食惡果不足惜佳头,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晴氨。 院中可真熱鬧康嘉,春花似錦、人聲如沸瑞筐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聚假。三九已至块蚌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膘格,已是汗流浹背峭范。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留瘪贱,地道東北人纱控。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像菜秦,于是被迫代替她去往敵國和親甜害。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345