編譯Android 4.4源代碼並燒錄到Nexus4

編譯Android 4.4源代碼並燒錄到Nexus4

環境準備:

基本環境:ubuntu-12.04-desktop-64bit(裸機或者Windows下虛擬機安裝均可,14.04也可以)

其他要求:空閒磁盤空間100G以上,代碼部分接近10G,內存越大越好。

==========================================

第一部分:環境初始化

==========================================

1. 安裝Oracle JDK

注意:如果編譯Android4.4不能用OpenJDK,必須用Oracle JDK1.6,1.7目前是不支持的。

2. 安裝必備工具軟件

$sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev

$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so  

3. 配置ccache

安裝ccache並將export USE_CCACHE=1加入到~/.bashrc中。

 

==========================================

第二部分:源代碼下載

========================================== 

利用已經下載好的源代碼進行編譯,省去了源代碼的下載的繁複過程

下載地址:115網盤 http://115.com/lb/5lbcb7joklq

 

==========================================

第三部分:源代碼編譯 

==========================================

1. 設置環境變量

   export ANDROID_HOME=~/android4.4
   export PATH=$PATH:${ANDROID_HOME}/out/host/linux-x86/bin
   export ANDROID_PRODUCT_OUT=${ANDROID_HOME}/out/target/product/mako

 

2.下載必須的源碼刷手機的驅動文件並配置

  1. 進 https://developers.google.com/android/nexus/drivers 根據手機型號選對應的驅動包

  2. 下載三個驅動包: broadcom-mako-krt16s-f54c9ff9.tgz, lge-mako-krt16s-23ef7d53.tgz, qcom-mako-krt16s-cc4bd932.tgz 

  3. 解壓到源碼根目錄(也就是~/android4.4)

  4. 運行三個解壓後的sh文件, 在根目錄下會多出vendor目錄, 這就是硬件驅動目錄

3. 開始編譯

  1. 導入編譯android環境變量: source build/envsetup.sh

  2. 設置編譯緩存大小: prebuilts/misc/linux-x86/ccache/ccache -M 50G

  3. 選擇編譯終端類型: lunch full_mako-userdebug

  4. 編譯源碼: make -j4

==========================================

第四部分:編譯好的系統刷入手機

==========================================

1. 查看out目錄

查看是否生成 system.img boot.img recovery.img userdata.img等需要的文件

 

2.刷入手機

進入 system.img所在目錄

1) 進入刷機模式: adb reboot bootloader

fastboot format cache

fastboot format userdata

2) 刷image進手機:sudo fastboot -w flashall  

或者分別刷入 fastboot flash recovery recovery.img

          fastboot flash  boot boot.img

       fastboot flash system system.img

       fastboot flash userdata userdata.img 進入手機


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章