Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源碼包-下載/配置/編譯/刷機)

AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源碼包-下載/配置/編譯/刷機)

編輯:關於Android編程

 

 
步驟:
1. 下載android 4.4源碼包, 由於GFW原因, 通過谷歌官方網站repo下載源碼比較難, 所以我選擇了國內android牛人innost提供的壓縮包. (有10G)
  牛人博客: http://blog.csdn.net/innost/article/details/14002899
  115網盤下載: http://115.com/lb/5lbcb7joklq
2. 解壓到目錄, 在這裡我解壓到 ~/android4.4 (設為ANDROID_HOME)
3. 設置環境變量(編輯~/.bashrc文件,在末尾添加如下三行)
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
4. 下載必須的源碼刷手機的驅動文件並配置(一開始我直接lunch選mako, 但最後fastboot -w flashall 時,提示成功, 但手機啟動時一直停留在google啟動界面上, 後來經多方驗證才發現system.image包中少了硬件驅動)
  1) 進 https://developers.google.com/android/nexus/drivers 根據手機型號選對應的驅動包, 我的手機是nexus 4, 源碼包是android 4.4, 於是進入該鏈接 https://developers.google.com/android/nexus/drivers#makokrt16s
  2) 下載三個驅動包: broadcom-mako-krt16s-f54c9ff9.tgz, lge-mako-krt16s-23ef7d53.tgz, qcom-mako-krt16s-cc4bd932.tgz
  3) 解壓到源碼根目錄(也就是~/android4.4)
  4) 運行三個解壓後的sh文件, 在根目錄下會多出vendor目錄, 這就是硬件驅動目錄

5. 安裝編譯源碼包所需要的一些依賴包(這中間可能會遇到很多問題, 根據錯誤提示google 一一解決).

參考鏈接: https://source.android.com/source/building-running.html

6. 編譯生成adb和fastboot命令: make fastboot adb (adb 用於進入 fastboot刷機模式, fastboot用於刷image進手機. 當然也可以手動進入刷機模式, 此步可跳過)
7. 配置刷機前環境變量並編譯生成image
  1) 打開終端, 進入源碼根目錄
  2) 導入編譯android環境變量: source build/envsetup.sh (主要是讓終端找到命令位置)
  3) 設置編譯緩存大小: prebuilts/misc/linux-x86/ccache/ccache -M 50G
  4) 選擇編譯終端類型: lunch full_mako-userdebug (注意: 直接lunch 是沒有 full_mako-userdebug選項的, 我是按照谷歌官方文檔直接運行該命令的)
  5) 編譯源碼: make -j16 (根據機器CPU核數選擇是16還是8等, 我總共花了28分鐘)
8. 正式刷機
  1) 進入刷機模式: adb reboot bootloader

  2) 刷image進手機: fastboot -w flashall (注意: 這裡可能會出現waiting for device, 並一直停留在這裡, 後來我發現運行該命令需要根用戶權限, 於是就su root, 切換到根用戶環境下, 同時再次配置相關變量後, 再次運行fastboot -w flashall, 命令運行成功, 哈哈...)

 

下面是日志和截圖:
--------------------------------------------
Bootloader Version...: MAKOZ30d
Baseband Version.....: M9615A-CEFWMAZM-2.0.1700.98
Serial Number........: 017cf480db62e55e
--------------------------------------------
checking product...
OKAY [ 0.002s]
sending 'boot' (6340 KB)...
OKAY [ 0.204s]
writing 'boot'...
OKAY [ 0.351s]
sending 'recovery' (6886 KB)...
OKAY [ 0.221s]
writing 'recovery'...
OKAY [ 0.418s]
erasing 'system'...
OKAY [ 0.676s]
sending 'system' (295871 KB)...
OKAY [ 9.358s]
writing 'system'...
OKAY [ 19.851s]
erasing 'userdata'...
OKAY [ 1.960s]
formatting 'userdata' partition...
Creating filesystem with parameters:
Size: 6189744128
Block size: 4096
Blocks per group: 32768
Inodes per group: 8048
Inode size: 256
Journal blocks: 23612
Label:
Blocks: 1511168
Block groups: 47
Reserved block group size: 375
Created filesystem with 11/378256 inodes and 50366/1511168 blocks
sending 'userdata' (98413 KB)...
writing 'userdata'...
OKAY [ 8.988s]
erasing 'cache'...
OKAY [ 0.051s]
formatting 'cache' partition...
Creating filesystem with parameters:
Size: 587202560
Block size: 4096
Blocks per group: 32768
Inodes per group: 7168
Inode size: 256
Journal blocks: 2240
Label:
Blocks: 143360
Block groups: 5
Reserved block group size: 39
Created filesystem with 11/35840 inodes and 4616/143360 blocks
sending 'cache' (10984 KB)...
writing 'cache'...
OKAY [ 1.022s]
rebooting...

\

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved