Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 【Android 系統開發】CyanogenMod 13.0 源碼下載 編譯 ROM 制作

【Android 系統開發】CyanogenMod 13.0 源碼下載 編譯 ROM 制作

編輯:關於Android編程

本文操作手機平台 : 小米4 ;編譯平台 : Ubuntu 14.04 LTS 虛擬機,使用CyanogenMod 源碼編譯ROM。


手機的兩種模式: 在下面有詳細的圖片示例;

--Recovery 模式:音量鍵增加 + 電源鍵, 長按上述組合鍵, 看到 "MI" 的 LOGO 後即進入 Recovery 模式;

--Fastboot 模式:音量鍵減小 + 電源鍵, 長按上述組合鍵, 看到 "FASTBOOT" 後, 即 進入 FASTBOOT 模式;

 

一. CyanogenMod 開發基礎


1. CyanogenMod 開發資料推薦

 

CyanogenMod 官方資料:

--硬件: 小米4;

--小米4 的 CyanogenMod 源碼編譯教程:https://wiki.cyanogenmod.org/w/Build_for_cancro, 主要介紹了 CyanogenMod 小米4 手機源碼的下載編譯過程, 本文部分內容是從此翻譯過來的;

--CyanogenMod Mi4 設備界面鏈接:http://download.cyanogenmod.org/?device=cancro, 小米4 手機對應的 CyanogenMod 鏡像下載界面, 包括 ROM 和 Recovery;

--CyanogenMode Mi4 WIki 資料:https://wiki.cyanogenmod.org/w/Cancro_Info;

--CM Mi4 系統源碼:https://github.com/cyanogenmod/android_device_xiaomi_cancro;

--CM Mi4 內核源碼:https://github.com/cyanogenmod/android_kernel_xiaomi_cancro;

--小米 4 編譯源碼 安裝 ROM 詳細教程:https://wiki.cyanogenmod.org/w/Install_CM_for_cancro;

-- 小米4 CyanogenMod Recovery 和 ROM 下載地址 : http://download.cyanogenmod.org/?device=cancro;

-- CyanogenMod Recovery 簡介地址 :https://wiki.cyanogenmod.org/w/All_About_Recovery_Images;

--CM 編譯開發:https://wiki.cyanogenmod.org/w/Development;

-- 小米 ROM 下載主頁 : http://rom.xiaomi.cn/;

-- ROM 之家 : http://www.romzj.com/;

-- ROM 之家 小米4 官網 : http://www.romzj.com/list/xiaomi_m4w_order_2_60.htm;

-- 刷機精靈 : http://www.shuame.com/;

-- Sdata2img 工具 (將 ROM 中的 img 轉化成文件): https://github.com/xpirt/sdat2img;



二. 安裝 CyanogenMod 官方提供的 Mi4 Recovery 和 ROM


CyanogenMod 官方提供的教程 : https://wiki.cyanogenmod.org/w/Install_CM_for_cancro;

 

手機的兩種模式 :

-- Recovery 模式 : 音量鍵增加 + 電源鍵, 關機狀態下長按上述組合鍵, 看到 "MI" 的 LOGO 後即進入 Recovery 模式;

-- Fastboot 模式 : 音量鍵減小 + 電源鍵, 關機狀態下長按上述組合鍵, 看到 "FASTBOOT" 後, 即 進入 FASTBOOT 模式;

-- TeamWin Recovery 圖片 :

\\

-- CyanogenModRecovery 模式圖片 :

\

-- Fastboot 模式圖片 :

\

 

 

 

 

1. 基帶版本號 必須滿足的硬性條件

 

基帶版本號條件 :

-- 條件需求 : 安裝 CM 13.0 的 ROM 系統, 必須滿足 基帶版本號為MPSS.DI.4.0.xxxxx ;

-- 基帶版本號升級 : 如果基帶版本號是 MPSS.DI.3.0.xxxxx, 訪問 http://bit.ly/cancroCMBaseband網站學習如何升級基帶版本;

-- 查看基帶版本號方法 : 設置 -> 關於手機 -> 基帶版本號;

\

 

2. 使用 fastboot 安裝 Recovery

 

推薦文章 :

-- Recovery 簡介地址 : https://wiki.cyanogenmod.org/w/All_About_Recovery_Images;

 

(1) 安裝 Recovery 流程

安裝 Recovery 流程 :

-- 1. 工具軟件 : 確保電腦上已經安裝並能運行 adb 和 fastboot 工具;

-- 2. 下載 Recovery : 可以到https://dl.twrp.me/cancro/twrp-3.0.2-0-cancro.img頁面下載Recovery 鏡像, 或者從 下載一個最新的 Recovery 鏡像到你的手機中;

-- 3. 連接手機 : 通過 USB 將小米4 手機連接到電腦上;

-- 4. 執行路徑 : 確保 fastboot 在 PATH 環境變量中, 或者讓 fastboot 和 Recovery 在同一目錄中;

-- 5. 手機進入 fastboot 模式 : 在 PC 中打開 cmd (Windows) 或者 terminal (Linux & MAC) 終端, 方法一 : 通過執行adb reboot bootloader 命令, 重啟設備進入 fastboot 模式, 該命令可能返回 reboot bootloader is disabled 錯誤; 方法二 : 小米4 關機後, 按下音量鍵- + 電源鍵, 進入 fastboot 模式;

\

-- 6. PC 識別手機 : 一旦設備進入 fastboot 模式, 在 PC 端通過使用fastboot devices命令查看 PC 是否已經識別了手機;

\

-- 7. 開始燒寫 : 通過執行 fastboot flash recovery your_recovery_image.img命令,將 Recovery 燒寫到你的設備中, 其中的your_recovery_image.img 是 下載的 Recovery 鏡像文件名稱;

\

-- 8. 驗證過程及一些注意事項 : 一旦燒寫過程執行成功, 重啟手機進入 Recovery 驗證是否安裝成功;

--Recovery 模式:音量鍵增加 + 電源鍵, 關機狀態下 長按上述組合鍵, 看到 "MI" 的 LOGO 後即進入 Recovery 模式;

 

(2) fastboot 錯誤處理


使用 fastboot devices 命令錯誤排查 :

-- 1. 沒有序列號 : 如果你沒有看到設備序列號, 反而看到 "" 信息, fastboot 沒有配置好, 查看 fastboot 文檔並配置, https://wiki.cyanogenmod.org/w/Doc:_fastboot_intro;

-- 2. 權限相關錯誤 : 如果看到no permissions fastboot 錯誤, 確保 UDEV 規則被正確設置了, 設置指導頁面 https://wiki.cyanogenmod.org/w/UDEV;

(3) 注意事項


注意事項 :

-- 1. 進入 Recovery 方式 :進入 Recovery 方式 關機 後 按下 音量增加+ 電源鍵;

-- 2. Recovery 被覆蓋 :注意 一些 ROM 再啟動時會覆蓋 Recovery, 如果你不想馬上進入 Recovery 去安裝 CyanogenMod 系統, 要明確的知道這個操作會刷掉 Recovery 讓手機又變成磚機;

 

3. 使用 Recovery 安裝 CyanogenMod ROM 鏡像

 

推薦文章:

--Recovery 簡介地址:https://wiki.cyanogenmod.org/w/All_About_Recovery_Images;

 

 

(1) 安裝 CyanogenMod ROM 流程


安裝 ROM 流程 :

-- 1. adb 安裝 : 確保電腦上的 adb 工具可以正常使用, 做安卓的就不多說了;

-- 2. 下載 ROM : 到http://download.cyanogenmod.org/?device=cancro頁面下載你想要安裝的 ROM 鏡像;

-- 3. 將 ROM 放到 SD 卡中 : 使用 adb push filename.zip /sdcard/命令, 將下載的 zip 壓縮包放置到 sd 卡的根目錄;

\

-- 4. 進入 Recovery 模式 : 如果還沒有進入 Recovery 模式, 重啟進入 Recovery 模式 (音量鍵- + 電源鍵);

-- 5. 選擇 Recovery 選項 : 在 TeamWin 的 Recovery 中, 通過指定的按鈕操作菜單選項;

\

-- 6. 創建備份 (可選步驟) : 選擇 Recovery 中的 "Backup" 選項, 將現在的 ROM 備份一下, 以免 ROM 安裝失敗導致磚機, 下面是備份過程;

\\

-- 7. 擦除 ROM : 選擇菜單中的 "Wipe" 選項擦除 ROM, 然後選擇 "Factory Reset" 恢復出廠設置;

\\

-- 8. 開始安裝 : 選擇 "Install" 選項, 進入安裝步驟;

-- 9. 選擇 sd 卡 rom : 在 /sdcard 中選擇 CyanogenMod 的 zip 包;

\\

 

-- 10. 根據提示安裝 : 根據屏幕上的提示, 安裝 ROM 包;

-- 11. 安裝其它包 (可選步驟) : 如果你希望安裝其它安裝包, 在安裝完 CyanogenMod ROM 包之後, 然後在這個基礎上安裝隨後的其它包;

-- 12. 完成安裝 : 一旦安裝完成, 返回主菜單, 選擇 "Reboot" 選項, 然後選擇 "System", 設備會重啟並進入 CyanogenMod 系統;

\

\

 

 

 

(2) 拷貝 ROM 到 SD 卡中的說明


拷貝 ROM 到 SD 卡的途徑說明:

-- 命令不是必須的 : 拷貝 zip 包到 SD 卡中, 可以使用其它途徑, 不是必須使用adb push filename.zip /sdcard/ 命令將 zip 包拷貝到 SD 卡中;

-- 使用命令好處 : 使用命令安裝的方法在所有的 Android 設備 以及 在正常模式 和 Recovery 模式都可以使用;

 

三. CyanogenMod 編譯所需軟硬件准備


 

相關鏈接推薦 :

-- Android 官方的 源碼編譯依賴庫安裝地址 (訪問需代理) : http://source.android.com/source/initializing.html;

-- CyanogenMod 源碼編譯依賴庫安裝地址 : https://wiki.cyanogenmod.org/w/Build_for_cancro;

 

1. 硬件需求 與 操作系統

 

(1) 編譯的硬件需求

 

硬件需求 :

-- 手機需求: 小米3 (Mi 3) 或 小米4 (Mi 4) 手機;

-- 電腦需求 : 最新的電腦 (Linux, MAC OS, Windows), 有 8G 及以上的 RAM 內存 (內存越少, 編譯時間越長), 100G 以上的硬盤 (越多越好, 如果為多個設備編譯 或者 打開 ccache 需要更多硬盤), 使用 SSD 固態硬盤 會加速編譯過程;

-- USB 接口 : 兼容 USB 接口的 Mi 3 或 Mi 4 手機, 一般是 micro USB 接口, 就是最常用的 USB 接口;

-- 網絡需求 : 能夠連接網絡, 有足夠帶寬;

-- 知識需求 : 熟悉基礎的 Android 操作和術語, 如果你曾經在其它手機上安裝 ROM, 並熟悉 Recovery, 是非常有幫助的; 知道基本的 shell 命令行概念也是非常有用的;

 

(2) 操作系統需求

 

操作系統需求 :如果你不熟悉 Linux, 這是一個很棒的機會去學習它;

-- 使用虛擬機 : 到 https://wiki.cyanogenmod.org/w/Doc:_using_virtual_machines界面下載一個虛擬機, 如 VirtualBox , 安裝一個 Ubuntu 14.04 版本;

-- Ubuntu 版本 : 64 位的都可以編譯通過, 但是 推薦使用 Ubuntu 14.04, 15.10, 16.04 等最新的版本;

-- 關於 32 位系統 : CyanogenMod 6 以及之前的系統可以使用 32 位 Ubuntu 進行編譯, 對於 CyanogenMod 10.1 可以設置BUILD_HOST_32bit=1 環境使用 32 位 Ubuntu 編譯, 但是 CyanogenMod 10.2 之後的版本必須使用 64位 Ubuntu 進行編譯, 32 位便無法使用了;

 

2. Ubuntu 14.04 系統上CyanogenMod 源碼下載編譯所需依賴庫安裝

 

Ubuntu 14.04 系統安裝 CyanogenMod 編譯依賴庫:

--1. 32 和 64 位系統必須安裝的軟件庫: 使用命令sudo apt-get installbison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev安裝上述依賴庫;

--2. 64 位系統安裝的軟件庫: 使用命令sudo apt-get installg++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev命令安裝上述依賴庫;

 

(1) 安裝 Android SDK


 

安裝 SDK :

-- SDK 需求 : 如果之前沒有安裝 adb 和 fastboot 工具, 先安裝一個 Android SDK, 之前說的 adb 和 fastboot 就在 SDK 的platform-tools 目錄中;

 

(2) 32 位 和 64 位都需要的軟件包


 

安裝 32 64 位都需要的軟件包:

--編譯需要的軟件包:

 

bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev

--安裝上述軟件包: 使用 sudoapt-get install bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev命令安裝這些軟件包;

--安裝成功:該命令行是安裝完成後, 在執行一次安裝命令, 返回所有軟件包安裝成功的信息, 安裝過程幾千行命令行輸出, 就不貼了.

 

root@ubuntu:~# apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bison is already the newest version.
build-essential is already the newest version.
flex is already the newest version.
gperf is already the newest version.
libesd0-dev is already the newest version.
libncurses5-dev is already the newest version.
xsltproc is already the newest version.
zip is already the newest version.
zlib1g-dev is already the newest version.
liblz4-tool is already the newest version.
libwxgtk2.8-dev is already the newest version.
lzop is already the newest version.
maven is already the newest version.
pngcrush is already the newest version.
schedtool is already the newest version.
git is already the newest version.
gnupg is already the newest version.
libsdl1.2-dev is already the newest version.
libxml2 is already the newest version.
libxml2 set to manually installed.
libxml2-utils is already the newest version.
openjdk-7-jdk is already the newest version.
squashfs-tools is already the newest version.
curl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 349 not upgraded.

--出現 404 錯誤: 如果安裝出現 404 Not Found 等錯誤, 更新 apt 下載源即可;

--更新源列表方法: 編輯/etc/apt/sources.list 文件, 然後添加源列表, 更新源列表sudo apt-get update;

--14.04 源列表官方 WIKI:http://wiki.ubuntu.org.cn/%E6%A8%A1%E6%9D%BF:14.04source;

--其它源列表 官方 WIKI:http://wiki.ubuntu.org.cn/%E6%BA%90%E5%88%97%E8%A1%A8;

--源列表示例: 反正我用的這個源列表, 東西全部下載下來了;

 

# deb cdrom:[Ubuntu 14.04.3 LTS _Trusty Tahr_ - Beta amd64 (20150805)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu trusty partner
# deb-src http://archive.canonical.com/ubuntu trusty partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main
deb http://us.archive.ubuntu.com/ubuntu/ trusty-proposed restricted multiverse main universe

## zhongkeda
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main restricted
deb http://mirrors.ustc.edu.cn/ubuntu/ precise universe
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise universe
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates universe
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates universe
deb http://mirrors.ustc.edu.cn/ubuntu/ precise multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse

## souhu 
deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted
deb http://mirrors.sohu.com/ubuntu/ precise universe
deb-src http://mirrors.sohu.com/ubuntu/ precise universe
deb http://mirrors.sohu.com/ubuntu/ precise-updates universe
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates universe
deb http://mirrors.sohu.com/ubuntu/ precise multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse

## wangyi
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse


(3) 64 位需要的軟件包


64 位機器需要的軟件包:

--軟件包列表:

 

g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev

 

--安裝命令: sudoapt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev;

--安裝成功: 該命令行是安裝完成後, 在執行一次安裝命令, 返回所有軟件包安裝成功的信息, 安裝過程幾千行命令行輸出, 就不貼了.

 

root@ubuntu:~# apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
g++-multilib is already the newest version.
gcc-multilib is already the newest version.
lib32ncurses5-dev is already the newest version.
lib32readline-gplv2-dev is already the newest version.
lib32z1-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 349 not upgraded.

3. Ubuntu 15.10 系統上CyanogenMod 源碼下載編譯所需依賴庫安裝

 

Ubuntu 15.10 系統安裝 CyanogenMod 編譯依賴庫 : 本次編譯使用的是 Ubuntu 14.04 這裡沒有真實安裝;

-- 1. 32 和 64 位系統必須安裝的軟件庫 : 使用命令 sudo apt-get installbison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev安裝上述依賴庫;

-- 2. 64 位系統安裝的軟件庫 : 使用命令 sudo apt-get installg++-multilib gcc-multilib lib32ncurses5-dev lib32readline6-dev lib32z1-dev 命令安裝上述依賴庫;

 

4. Ubuntu 16.04 系統上CyanogenMod 源碼下載編譯所需依賴庫安裝


Ubuntu 16.04 系統安裝 CyanogenMod 編譯依賴庫 :本次編譯使用的是 Ubuntu 14.04 這裡沒有真實安裝;

-- 1. 32 和 64 位系統必須安裝的軟件庫: 使用命令 sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop maven openjdk-8-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev安裝上述依賴庫;

--2. 64 位系統安裝的軟件庫: 使用命令 sudo apt-get installg++-multilib gcc-multilib lib32ncurses5-dev lib32readline6-dev lib32z1-dev安裝上述依賴庫;

 

5. CyanogenMod 版本 編譯對應的Java 版本


CyanogenMod 與 JDK 對應關系 :

-- 1.CyanogenMod 7 - 9 : Sun/Oracle Java SE 1.6;
-- 2. CyanogenMod 10.1 : Sun/Oracle Java SE 1.6 or 1.7;
-- 3. CyanogenMod 10.2 - 11.0 : Sun/Oracle Java SE 1.6 or 1.7 (OpenJDK 1.7 也可以使用, 但是編譯系統時會出現警告);
-- 4. CyanogenMod 12.0 - 13.0 : OpenJDK 1.7;

 

6. Ubuntu 16.04 及 後續 Ubuntu 版本的 JDK 選擇


Ubuntu 16.04 新版本 JDK 選擇 :

-- 出現的問題 : OpenJDK 1.7 被從 Ubuntu 官方源中刪除了, 只能有下面兩種解決方案;

-- 1. 下載 OpenJDK 1.7 並安裝 : 下載地址 https://launchpad.net/~openjdk-r/+archive/ubuntu/ppa;

-- 2. 打開 實驗的 OpenJDK 1.8 的 CyanogenMod 13 支持 : 支持方式, 編輯$HOME/.bashrc 文件, 添加export EXPERIMENTAL_USE_JAVA8=true ;

 

四. CyanogenMod 13.0 Android 源碼下載

 

1. 創建相關目錄

 

(1) 創建目錄步驟

 

創建相關目錄 :

-- 1.創建 bin 目錄 : 使用 mkdir -p ~/bin 命令;

-- 2.創建 android/system 目錄 : 使用 mkdir -p ~/android/system命令;

 

(2) 創建過程的終端輸出


創建過程的終端輸出 :

-- 創建過程 :

 

octopus@octopus:~$ mkdir -p ~/bin
octopus@octopus:~$ ls
bin  develop  examples.desktop  jdk-8u25-linux-i586.tar.gz  vmware_tools  公共的  模板  視頻  圖片  文檔  下載  音樂  桌面
octopus@octopus:~$ mkdir -p ~/android/system
octopus@octopus:~$ ls
android  bin  develop  examples.desktop  jdk-8u25-linux-i586.tar.gz  vmware_tools  公共的  模板  視頻  圖片  文檔  下載  音樂  桌面

2. 獲取 repo 腳本

 

(1) 獲取 repo 腳本步驟


設置 repo 腳本 : 下載 repo 腳本, 並使 repo 腳本可執行 (賦予執行權限).

-- 1. 獲取 repo 腳本 : 使用 curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo命令;

-- 2. 為 repo 腳本添加執行權限 : 使用 chmod a+x ~/bin/repo命令;

 

(2) 獲取 repo 腳本的終端輸出


 

獲取 repo 腳本過程輸出 :

-- 執行過程 :

 

octopus@octopus:~$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 26223  100 26223    0     0   6671      0  0:00:03  0:00:03 --:--:--  6674
octopus@octopus:~$ chmod a+x ~/bin/repo


3. 配置 repo 環境變量

 

 

 

配置 bin 目錄到環境變量中 : 在 Ubuntu 14.04 LTS 中, Ubuntu 默認已經將 bin 目錄添加到了 PATH 路徑中, 如果沒有, 請自行添加;

-- 配置方法 : 在 ~/.profile 中配置, 執行 sudo gedit .profile命令, 即可打開該文件, 注意加上 sudo 權限.

-- 配置內容 :

 

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

 

4. 初始化 CyanogenMod 源碼倉庫

 

 

 

 

(1) 初始化 CyanogenMod 源碼倉庫步驟


初始化 CyanogenMod 源碼倉庫流程:

-- 1.安裝phablet-tools 工具包: 執行 repo 命令前需要先安裝 phablet-tools 工具包, 安裝命令 sudo apt-get install phablet-tools;

-- 2.為 Git 設置 郵箱 和 用戶 : 設置郵箱git config --global user.email "[email protected]" , 設置用戶 git config --global user.name "Shuliang Han";

 

octopus@octopus:~/android/system$ git config --global user.email "[email protected]"
octopus@octopus:~/android/system$ git config --global user.name "Shuliang Han"


 

連接 VPN 代理 : 可以再 Windows 上連接代理, 虛擬機就可以訪問 GoogleSource 網站的資源了;

 

-- 3.進入 ~/android/system 目錄 : 執行 repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0命令, 進入該目錄, 一定要在該目錄執行 初始化步驟, 否則在哪個目錄執行初始化命令, 源碼就下載到哪裡;

-- 4.初始化命令 : 執行 命令;

-- 執行完畢標識: 出現以下內容說明執行成功;

\

 

(2) 初始化過程中的出錯處理


初始化 CyanogenMod 源碼倉庫期間出現的錯誤處理 :

-- 出現錯誤 1 : 沒有安裝 python 腳本執行的環境;

 

octopus@octopus:~/android/system$ repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0
程序“repo”尚未安裝。 您可以使用以下命令安裝:
sudo apt-get install phablet-tools

 


-- 錯誤處理 1 : 安裝 , 執行 sudo apt-get install phablet-tools命令, 安裝 repo;

 

-- 出現錯誤 2 : 一些資源被中國防火牆屏蔽;

 

fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno 101] Network is unreachable

-- 處理錯誤 2 : 長城防火牆把 Google 所有的先關網站都屏蔽了, 日了泰迪了, 沒辦法 開 VPN 解決, 一年 幾百塊錢的 VPN 錢就不要省了;

\

 

-- 出現錯誤 3 : 沒有設置 git 的綁定郵箱 和 用戶名;

 

Traceback (most recent call last):
  File "/home/octopus/android/system/.repo/repo/main.py", line 531, in 
    _Main(sys.argv[1:])
  File "/home/octopus/android/system/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/home/octopus/android/system/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/octopus/android/system/.repo/repo/subcmds/init.py", line 395, in Execute
    self._ConfigureUser()
  File "/home/octopus/android/system/.repo/repo/subcmds/init.py", line 289, in _ConfigureUser
    name  = self._Prompt('Your Name', mp.UserName)
  File "/home/octopus/android/system/.repo/repo/project.py", line 703, in UserName
    self._LoadUserIdentity()
  File "/home/octopus/android/system/.repo/repo/project.py", line 716, in _LoadUserIdentity
    u = self.bare_git.var('GIT_COMMITTER_IDENT')
  File "/home/octopus/android/system/.repo/repo/project.py", line 2650, in runner
    p.stderr))
error.GitError: manifests var: 
*** Please tell me who you are.
Run
  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'octopus@octopus.(none)')

-- 錯誤處理 3 :

 

octopus@octopus:~/android/system$ git config --global user.email "[email protected]"
octopus@octopus:~/android/system$ git config --global user.name "Shuliang Han"


(3) 初始化 CyanogenMod 源碼倉庫的整個終端命令行輸出


 

 

完整的執行過程 - 終端輸出:

 

gpg: 鑰匙環‘/home/octopus/.repoconfig/gnupg/secring.gpg’已建立
gpg: 鑰匙環‘/home/octopus/.repoconfig/gnupg/pubring.gpg’已建立
gpg: /home/octopus/.repoconfig/gnupg/trustdb.gpg:建立了信任度數據庫
gpg: 密鑰 920F5C65:公鑰“Repo Maintainer ”已導入
gpg: 密鑰 692B382C:公鑰“Conley Owens ”已導入
gpg: 合計被處理的數量:2
gpg:               已導入:2  (RSA: 1)


Get https://gerrit.googlesource.com/git-repo/clone.bundle

... A new repo command ( 1.22) is available.
... You should upgrade soon:

    cp /home/octopus/android/system/.repo/repo/repo /usr/bin/repo

Get https://github.com/CyanogenMod/android.git
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
remote: Counting objects: 3845, done.
remote: Total 3845 (delta 0), reused 0 (delta 0), pack-reused 3845
接收對象中: 100% (3845/3845), 1.26 MiB | 58.00 KiB/s, done.
處理 delta 中: 100% (1311/1311), done.
來自 https://github.com/CyanogenMod/android
 * [新分支]          cm-10.1    -> origin/cm-10.1
 * [新分支]          cm-10.2    -> origin/cm-10.2
 * [新分支]          cm-11.0    -> origin/cm-11.0
 * [新分支]          cm-12.0    -> origin/cm-12.0
 * [新分支]          cm-12.1    -> origin/cm-12.1
 * [新分支]          cm-13.0    -> origin/cm-13.0
 * [新分支]          cm-7.0.0   -> origin/cm-7.0.0
 * [新分支]          cm-7.0.1   -> origin/cm-7.0.1
 * [新分支]          cm-7.0.2.1 -> origin/cm-7.0.2.1
 * [新分支]          cm-7.0.3   -> origin/cm-7.0.3
 * [新分支]          cm-9.1.0   -> origin/cm-9.1.0
 * [新分支]          eclair     -> origin/eclair
 * [新分支]          froyo      -> origin/froyo
 * [新分支]          froyo-stable -> origin/froyo-stable
 * [新分支]          gb-release-7.2 -> origin/gb-release-7.2
 * [新分支]          gingerbread -> origin/gingerbread
 * [新分支]          gingerbread-release -> origin/gingerbread-release
 * [新分支]          ics        -> origin/ics
 * [新分支]          ics-release -> origin/ics-release
 * [新分支]          jellybean  -> origin/jellybean
 * [新分支]          jellybean-stable -> origin/jellybean-stable
 * [新分支]          mr1.1-staging -> origin/mr1.1-staging
 * [新分支]          shipping/cm-11.0 -> origin/shipping/cm-11.0
 * [新分支]          stable/cm-10.2 -> origin/stable/cm-10.2
 * [新分支]          stable/cm-11.0 -> origin/stable/cm-11.0
 * [新分支]          stable/cm-11.0-XNF8Y -> origin/stable/cm-11.0-XNF8Y
 * [新分支]          stable/cm-11.0-XNF9X -> origin/stable/cm-11.0-XNF9X
 * [新分支]          stable/cm-11.0-XNG2S -> origin/stable/cm-11.0-XNG2S
 * [新分支]          stable/cm-11.0-XNG3C -> origin/stable/cm-11.0-XNG3C
 * [新分支]          stable/cm-12.0-YNG1I -> origin/stable/cm-12.0-YNG1I
 * [新分支]          stable/cm-12.0-YNG1T -> origin/stable/cm-12.0-YNG1T
 * [新分支]          stable/cm-12.0-YNG1TA -> origin/stable/cm-12.0-YNG1TA
 * [新分支]          stable/cm-12.0-YNG3C -> origin/stable/cm-12.0-YNG3C
 * [新分支]          stable/cm-12.0-YNG4N -> origin/stable/cm-12.0-YNG4N
 * [新分支]          stable/cm-12.1-YOG3C -> origin/stable/cm-12.1-YOG3C
 * [新分支]          stable/cm-12.1-YOG4P -> origin/stable/cm-12.1-YOG4P
 * [新分支]          stable/cm-12.1-YOG7D -> origin/stable/cm-12.1-YOG7D
 * [新分支]          stable/cm-13.0-ZNH0E -> origin/stable/cm-13.0-ZNH0E
 * [新分支]          stable/cm-13.0-ZNH2K -> origin/stable/cm-13.0-ZNH2K
 * [新分支]          staging/cm-12.0-caf -> origin/staging/cm-12.0-caf
 * [新分支]          staging/cm-12.1 -> origin/staging/cm-12.1
 * [新分支]          staging/cm-13.0+r22 -> origin/staging/cm-13.0+r22
 * [新分支]          themes-exp -> origin/themes-exp
 * [新tag]           cm-10.1-M1 -> cm-10.1-M1
 * [新tag]           cm-10.1-M2 -> cm-10.1-M2
 * [新tag]           cm-10.1-M3 -> cm-10.1-M3
 * [新tag]           cm-10.1.0  -> cm-10.1.0
 * [新tag]           cm-10.1.0-RC1 -> cm-10.1.0-RC1
 * [新tag]           cm-10.1.0-RC2 -> cm-10.1.0-RC2
 * [新tag]           cm-10.1.0-RC3 -> cm-10.1.0-RC3
 * [新tag]           cm-10.1.0-RC4 -> cm-10.1.0-RC4
 * [新tag]           cm-10.1.0-RC5 -> cm-10.1.0-RC5
 * [新tag]           cm-10.1.1  -> cm-10.1.1
 * [新tag]           cm-10.1.2  -> cm-10.1.2
 * [新tag]           cm-10.1.3  -> cm-10.1.3
 * [新tag]           cm-10.1.3-RC1 -> cm-10.1.3-RC1
 * [新tag]           cm-10.1.3-RC2 -> cm-10.1.3-RC2
 * [新tag]           cm-10.2-M1 -> cm-10.2-M1
 * [新tag]           cm-10.2.0  -> cm-10.2.0
 * [新tag]           cm-10.2.1  -> cm-10.2.1
 * [新tag]           cm-10.2.1.1 -> cm-10.2.1.1
 * [新tag]           cm-11.0-XNPH05Q-bacon-5229c4ef56 -> cm-11.0-XNPH05Q-bacon-5229c4ef56
 * [新tag]           cm-11.0-XNPH05Q-tomato-9828f8e9cc -> cm-11.0-XNPH05Q-tomato-9828f8e9cc
 * [新tag]           cm-11.0-XNPH22R-bacon-03d77315ea -> cm-11.0-XNPH22R-bacon-03d77315ea
 * [新tag]           cm-11.0-XNPH25R-bacon-d22b777afa -> cm-11.0-XNPH25R-bacon-d22b777afa
 * [新tag]           cm-11.0-XNPH30O-bacon-4f280f505a -> cm-11.0-XNPH30O-bacon-4f280f505a
 * [新tag]           cm-11.0-XNPH33R-bacon-3628510d76 -> cm-11.0-XNPH33R-bacon-3628510d76
 * [新tag]           cm-11.0-XNPH44S-bacon-5fa8c79c0b -> cm-11.0-XNPH44S-bacon-5fa8c79c0b
 * [新tag]           cm-5.0.6   -> cm-5.0.6
 * [新tag]           cm-5.0.7   -> cm-5.0.7
 * [新tag]           cm-5.0.7-ds -> cm-5.0.7-ds
 * [新tag]           cm-6.0.0   -> cm-6.0.0
 * [新tag]           cm-6.0.0-rc1 -> cm-6.0.0-rc1
 * [新tag]           cm-7.0.0   -> cm-7.0.0
 * [新tag]           cm-7.0.1   -> cm-7.0.1
 * [新tag]           cm-7.0.2.1 -> cm-7.0.2.1
 * [新tag]           cm-7.0.3   -> cm-7.0.3
 * [新tag]           cm-7.1.0   -> cm-7.1.0

... A new repo command ( 1.22) is available.
... You should upgrade soon:

    cp /home/octopus/android/system/.repo/repo/repo /usr/bin/repo


Your identity is: Shuliang Han 
If you want to change this, please re-run 'repo init' with --config-name

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white 
  bold     dim      ul       reverse 
Enable color display in this user account (y/N)? y

repo has been initialized in /home/octopus/android/system

 

5. 使用 repo 正式下載 Android 源碼

 

 

 

 

 

(1) 源碼下載 repo 命令簡介


repo 命令簡介:

-- 下載命令 : 使用 repo sync 命令執行下載, 啟動源碼下載進程, 源碼下載到指定的 ~/android/system 目錄中;

-- 推薦配置 : CM Manifest 中包含了一個默認配置, 強烈推薦使用該配置, 不要加任何可選的命令選項;

-- 線程選項 : 默認 -j 4 -c 選項, -j 4 選項意味著同時建立了 4 個線程 或 連接;如果下載總是出現問題, 可以減少線程數, 參數改為 -j 3 或者 -j 2;

-- 分支選項 : -c 選項, 代表 repo 只下載當前一個分支的完整源碼, 並不把整個源碼樹所有分支完整的下載下來;

-- 下載時長 : 我用的 4M 獨享帶寬的 VPN, 下了大概 一天一夜, 該過程下載 12.9 G 的 android 源碼, 這個時間是最長的, 如果帶寬不足的話, 可能會花費更長時間.

-- repo sync 命令更新代碼 : repo sync 命令還可以用於從 CyanogenMod 和 Google 上獲取更新最新的源代碼, 你可以每隔幾天執行一次該命令, 保持機器上的源代碼是最新的;

 

(2) 源碼下載命令 及 下載結果


 

 

下載 CyanogenMod 源碼 :

-- 執行命令 : repo sync -j4, 正式下載源碼;

-- 注意 : 下載一定要開 VPN, 沒有 VPN 絕逼下載不下來, 好多資料都被中國屏蔽了.

-- 文件目錄 :

\

-- 文件大小 : 該步驟下載了 12.9G 的源碼;

\

 

(3) repo sync 下載過程的終端輸出


 

 

repo sync 下載過程 - 終端輸出:

 

octopus@octopus:~/android/system$ repo sync -j4

... A new repo command ( 1.22) is available.
... You should upgrade soon:

    cp /home/octopus/android/system/.repo/repo/repo /usr/bin/repo

Fetching project CyanogenMod/android_frameworks_support
Fetching project CyanogenMod/android_packages_apps_CMUpdater
Fetching project platform/external/mockwebserver
Fetching project platform/external/jsoncpp
Fetching projects:   0% (1/519)  Fetching project CyanogenMod/android_hardware_ti_omap4xxx
Fetching project platform/external/libvncserver
Fetching project CyanogenMod/android_external_libvpx
Fetching project CyanogenMod/android_packages_apps_PackageInstaller
Fetching project CyanogenMod/android_packages_apps_Eleven
Fetching projects:   1% (6/519)  Fetching project CyanogenMod/android_packages_screensavers_WebView
Fetching project CyanogenMod/android_external_ffmpeg
Fetching project platform/external/squashfs-tools
Fetching project CyanogenMod/android_packages_services_Telecomm
Fetching project CyanogenMod/android_external_libtruezip
Fetching projects:   2% (11/519)  Fetching project platform/hardware/intel/audio_media
Fetching project platform/external/fonttools
Fetching project platform/external/aac
Fetching project CyanogenMod/android_external_toybox
Fetching project platform/external/jmonkeyengine
Fetching projects:   3% (16/519)  Fetching project CyanogenMod/android_hardware_ti_wlan
Fetching project platform/external/ipsec-tools
Fetching project CyanogenMod/android_frameworks_webview
Fetching project platform/external/google-fonts/cutive-mono
Fetching project CyanogenMod/android_external_gmock
Fetching projects:   4% (21/519)  Fetching project CyanogenMod/android_frameworks_opt_calendar
Fetching project CyanogenMod/android_packages_providers_TelephonyProvider
Fetching project platform/external/zxing
Fetching project platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8
Fetching project platform/external/drm_gralloc
Fetching projects:   5% (26/519)  Fetching project platform/external/jemalloc
Fetching project platform/external/google-fonts/dancing-script
Fetching project platform/external/libmtp
Fetching project platform/external/lldb
Fetching project platform/external/libcxxabi
Fetching project CyanogenMod/android_frameworks_compile_slang
Fetching projects:   6% (32/519)  Fetching project platform/prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8
Fetching project platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9
Fetching project platform/external/naver-fonts
Fetching project CyanogenMod/android_external_nist-sip
Fetching project CyanogenMod/android_external_libusb
Fetching projects:   7% (37/519)  Fetching project CyanogenMod/android_hardware_intel_common_libwsbm
Fetching project platform/packages/apps/OneTimeInitializer
Fetching project device/generic/mini-emulator-mips
Fetching project platform/external/apache-xml
Fetching project CyanogenMod/android_packages_apps_CellBroadcastReceiver
Fetching projects:   8% (42/519)  Fetching project platform/external/nist-pkits
Fetching project CyanogenMod/android_packages_providers_PartnerBookmarksProvider
Fetching project platform/external/jmdns
Fetching project platform/external/kernel-headers
Fetching project CyanogenMod/android_external_f2fs-tools
Fetching projects:   9% (47/519)  Fetching project platform/external/ksoap2
Fetching project CyanogenMod/android_hardware_libhardware
Fetching project platform/external/chromium-webview
Fetching project CyanogenMod/android_external_sonivox
Fetching project CyanogenMod/android_external_libusbx
Fetching projects:  10% (52/519)  Fetching project platform/external/jsmn
Fetching project CyanogenMod/android_packages_apps_AudioFX
Fetching project device/generic/mini-emulator-arm64
Fetching project CyanogenMod/android_hardware_qcom_keymaster
Fetching project CyanogenMod/android_packages_providers_ThemesProvider
Fetching project CyanogenMod/android_frameworks_base
Fetching projects:  11% (58/519)  Fetching project CyanogenMod/android_frameworks_opt_net_voip
Fetching project platform/prebuilts/libs/libedit
Fetching project CyanogenMod/android_external_android-mock
Fetching project CyanogenMod/android_external_tinyxml2
Fetching project platform/frameworks/opt/inputconnectioncommon
Fetching projects:  12% (63/519)  Fetching project platform/external/selinux
Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project platform/external/mdnsresponder
Fetching project CyanogenMod/android_external_wpa_supplicant_8
Fetching project platform/external/safe-iop
Fetching projects:  13% (68/519)  Fetching project CyanogenMod/android_packages_apps_Bluetooth
Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project CyanogenMod/android_packages_providers_UserDictionaryProvider
Fetching project platform/hardware/ti/omap4-aah
Fetching project platform/external/giflib
Fetching project platform/external/openfst
Fetching projects:  14% (73/519)  Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project CyanogenMod/android_external_lzma
Fetching project platform/external/libyuv
Fetching project CyanogenMod/android_packages_wallpapers_Basic
Fetching project CyanogenMod/android_device_google_atv
Fetching project CyanogenMod/android_packages_wallpapers_HoloSpiral
Fetching projects:  15% (78/519)  Fetching project platform/external/drm_hwcomposer
Fetching project CyanogenMod/android_external_gson
Fetching project CyanogenMod/android_packages_apps_TvSettings
Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project CyanogenMod/android_hardware_invensense
Fetching project CyanogenMod/android_packages_apps_LockClock
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 7 (delta 0), reused 0 (delta 0), pack-reused 0
Fetching project CyanogenMod/android_frameworks_opt_photoviewer
Fetching projects:  16% (84/519)  Fetching project CyanogenMod/android_frameworks_opt_colorpicker
來自 https://github.com/CyanogenMod/android_frameworks_base
   2d7713a..58ae12f  cm-13.0    -> github/cm-13.0
Fetching project CyanogenMod/android_external_jarjar
Fetching project platform/frameworks/data-binding
Fetching project CyanogenMod/android_packages_services_LiveLockScreenService
Fetching project CyanogenMod/android_frameworks_opt_datetimepicker
Fetching projects:  17% (89/519)  Fetching project CyanogenMod/android_system_qcom
Fetching project CyanogenMod/AndroidAsync
Fetching project CyanogenMod/android_bionic
Fetching project CyanogenMod/android_system_core
Fetching project CyanogenMod/android_packages_wallpapers_NoiseField
Fetching projects:  18% (94/519)  Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project platform/external/libexif
Fetching project platform/external/webrtc
Fetching project CyanogenMod/android_external_ant-wireless_ant_service
Fetching project CyanogenMod/android_frameworks_rs
Fetching project CyanogenMod/android_external_tinyalsa
Fetching projects:  19% (99/519)  Fetching project CyanogenMod/android_packages_apps_ManagedProvisioning
Fetching project CyanogenMod/android_external_pdfium
Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project CyanogenMod/android_external_pcre
Fetching project CyanogenMod/android_packages_apps_FMRadio
Fetching project CyanogenMod/android_external_dhcpcd
Fetching projects:  20% (104/519)  Fetching project CyanogenMod/android_system_bt
Fetching project platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8
Fetching project platform/external/zopfli
Fetching project device/generic/mini-emulator-x86_64
Fetching project platform/external/sfntly
Fetching projects:  21% (109/519)  Fetching project CyanogenMod/android_frameworks_volley
Fetching project platform/hardware/intel/common/utils
Fetching project CyanogenMod/android_hardware_cyanogen
Fetching project CyanogenMod/android_external_doclava
Fetching project CyanogenMod/android_external_ant-wireless_antradio-library
Fetching project platform/external/fio
Fetching projects:  22% (115/519)  Fetching project CyanogenMod/android_system_extras
Fetching project platform/external/xmlwriter
Fetching project CyanogenMod/android_external_vogar
Fetching project platform/external/jsilver
Fetching project platform/external/marisa-trie
Fetching projects:  23% (120/519)  Fetching project CyanogenMod/android_frameworks_opt_bluetooth
Fetching project CyanogenMod/android_external_elfutils
Fetching project platform/external/jetty
Fetching project platform/external/jdiff
Fetching project platform/external/blktrace
Fetching projects:  24% (125/519)  Fetching project CyanogenMod/android_external_libxml2
Fetching project platform/prebuilts/gradle-plugin
Fetching project CyanogenMod/android_external_ntfs-3g
Fetching project platform/external/compiler-rt
Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project CyanogenMod/android_frameworks_opt_net_wifi
Fetching projects:  25% (130/519)  Fetching project CyanogenMod/android_packages_apps_Stk
Fetching project CyanogenMod/android_packages_wallpapers_PhaseBeam
Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project CyanogenMod/android_external_android-visualizer
Fetching project CyanogenMod/android_external_lzo
Fetching projects:  26% (135/519)  Fetching project platform/external/cblas
Fetching project CyanogenMod/android_hardware_intel_img_psb_headers
Fetching project CyanogenMod/android_external_nano
Fetching project CyanogenMod/android_packages_wallpapers_LivePicker
Fetching project platform/external/deqp
Fetching project CyanogenMod/android_system_netd
Fetching projects:  27% (141/519)  Fetching project platform/external/libgsm
Fetching project platform/external/neven
Fetching project device/sample
Fetching project CyanogenMod/android_external_libavc
Fetching project platform/external/google-tv-pairing-protocol
Fetching projects:  28% (146/519)  Fetching project CyanogenMod/android_external_mksh
Fetching project platform/external/javasqlite
Fetching project CyanogenMod/android_external_jpeg
Fetching project CyanogenMod/android_frameworks_opt_net_ethernet
Fetching project CyanogenMod/android_hardware_qcom_media
Fetching project CyanogenMod/android_external_unrar
Fetching projects:  29% (151/519)  Fetching project CyanogenMod/android_external_ant-wireless_ant_native
Fetching project CyanogenMod/android_packages_apps_Provision
Fetching project platform/external/expat
Fetching project platform/external/androidplot
Fetching project platform/external/apache-commons-math
Fetching projects:  30% (156/519)  Fetching project CyanogenMod/android_frameworks_minikin
Fetching project CyanogenMod/android_system_vold
Fetching project CyanogenMod/android_external_pigz
Fetching project CyanogenMod/android_frameworks_wilhelm
Fetching project platform/prebuilts/clang/darwin-x86/host/3.6
Fetching projects:  31% (161/519)  Fetching project CyanogenMod/android_external_powertop
Fetching project CyanogenMod/android_external_rsync
Fetching project platform/external/donuts
Fetching project CyanogenMod/android_packages_screensavers_PhotoTable
Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project device/generic/x86
Fetching project platform/external/chromium-libpac
Fetching projects:  32% (167/519)  Fetching project platform/external/libmpeg2
Fetching project CyanogenMod/android_external_libnfc-nxp
Fetching project platform/hardware/intel/common/wrs_omxil_core
Fetching project device/generic/x86_64
Fetching project CyanogenMod/android_packages_apps_Gello
Fetching projects:  33% (172/519)  Fetching project CyanogenMod/android_external_vim
Fetching project CyanogenMod/android_packages_apps_Nfc
Fetching project CyanogenMod/android_abi_cpp
Fetching project CyanogenMod/android_external_yaffs2
Fetching project CyanogenMod/android_device_generic_mips
Fetching projects:  34% (177/519)  Fetching project platform/external/vixl
Fetching project platform/external/messageformat
Fetching project platform/external/bsdiff
Fetching project platform/prebuilts/sdk
Fetching project CyanogenMod/android_external_google
Fetching projects:  35% (182/519)  Fetching project CyanogenMod/android_hardware_qcom_fm
Fetching project platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
Fetching project CyanogenMod/android_external_libncurses
Fetching project CyanogenMod/android_hardware_ti_wpan
Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project device/generic/mini-emulator-x86
Fetching projects:  36% (187/519)  Fetching project CyanogenMod/android_dalvik
Fetching project CyanogenMod/android_external_iproute2
Fetching project platform/external/google-breakpad
Fetching project CyanogenMod/android_packages_apps_CarrierConfig
Fetching project CyanogenMod/android_frameworks_multidex
Fetching project CyanogenMod/android_hardware_broadcom_wlan
Fetching projects:  37% (193/519)  Fetching project CyanogenMod/android_device_generic_common
Fetching project CyanogenMod/android_frameworks_opt_emoji
Fetching project CyanogenMod/android_art
Fetching project platform/external/javassist
Fetching project CyanogenMod/android_external_fuse
Fetching projects:  38% (198/519)  Fetching project CyanogenMod/android_external_libnfnetlink
Fetching project CyanogenMod/android_frameworks_av
Fetching project platform/external/liblzf
Fetching project CyanogenMod/android_frameworks_opt_hardware
Fetching project platform/external/opencv
Fetching projects:  39% (203/519)  Fetching project platform/hardware/qcom/msm8994
Fetching project platform/external/glide
Fetching project CyanogenMod/android_external_ebtables
Fetching project platform/ndk
Fetching project platform/external/replicaisland
Fetching projects:  40% (208/519)  Fetching project CyanogenMod/android_hardware_qcom_display
Fetching project platform/hardware/intel/bootstub
Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project CyanogenMod/android_frameworks_native
Fetching project CyanogenMod/android_hardware_intel_img_psb_video
Fetching project platform/external/google-fonts/carrois-gothic-sc
Fetching projects:  41% (213/519)  Fetching project platform/external/owasp/sanitizer
Fetching project platform/external/regex-re2
Fetching project platform/external/tagsoup
Fetching project CyanogenMod/android_packages_providers_DataUsageProvider
Fetching project platform/external/timezonepicker-support
Fetching projects:  42% (218/519)  Fetching project CyanogenMod/android_device_generic_arm64
Fetching project CyanogenMod/android_external_gptfdisk
Fetching project platform/external/libunwind
Fetching project CyanogenMod/android_hardware_intel_common_libmix
Fetching project CyanogenMod/android_packages_apps_SoundRecorder
Fetching project platform/hardware/marvell/bt
Fetching projects:  43% (224/519)  Fetching project CyanogenMod/android_packages_services_Telephony
Fetching project CyanogenMod/android_frameworks_opt_inputmethodcommon
Fetching project platform/external/sonic
Fetching project CyanogenMod/android_external_bouncycastle
Fetching project platform/hardware/qcom/msm8960
Fetching projects:  44% (229/519)  Fetching project CyanogenMod/android_packages_apps_Email
Fetching project CyanogenMod/android_packages_services_Mms
Fetching project CyanogenMod/android_packages_apps_Contacts
Fetching project platform/external/robolectric
Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project CyanogenMod/android_libnativehelper
Fetching projects:  45% (234/519)  Fetching project CyanogenMod/android_hardware_qcom_camera
Fetching project CyanogenMod/android_system_keymaster
Fetching project CyanogenMod/android_packages_providers_TvProvider
Fetching project CyanogenMod/android_device_generic_armv7-a-neon
Fetching project CyanogenMod/android_hardware_broadcom_libbt
Fetching projects:  46% (239/519)  Fetching project CyanogenMod/android_packages_apps_BasicSmsReceiver
Fetching project platform/external/llvm
Fetching project platform/external/tinyxml
Fetching project CyanogenMod/android_packages_apps_SpeechRecorder
Fetching project platform/external/antlr
Fetching projects:  47% (244/519)  Fetching project CyanogenMod/android_packages_apps_Browser
Fetching project CyanogenMod/android_external_android-clat
Fetching project CyanogenMod/android_hardware_qcom_display
Fetching project CyanogenMod/android_prebuilts_cmsdk
Fetching project CyanogenMod/android_packages_apps_Exchange
Fetching project CyanogenMod/android_frameworks_opt_net_ims
Fetching project CyanogenMod/android_frameworks_ml
Fetching projects:  48% (250/519)  Fetching project platform/external/hamcrest
Fetching project platform/external/markdown
Fetching project platform/hardware/qcom/msm8x74
Fetching project CyanogenMod/android_hardware_qcom_audioFetching project CyanogenMod/external_android_support-prebuilt

Fetching project platform/external/tremolo
Fetching projects:  49% (255/519)  Fetching project CyanogenMod/android_hardware_qcom_bt
Fetching project platform/external/freetype
Fetching project platform/external/fdlibm
Fetching project platform/external/mesa3d
Fetching project CyanogenMod/android_external_guava
Fetching projects:  50% (260/519)  Fetching project CyanogenMod/android_packages_experimental
Fetching project CyanogenMod/android_external_connectivity
Fetching project platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9
Fetching project platform/system/gatekeeper
Fetching project CyanogenMod/android_external_libvterm
Fetching projects:  51% (265/519)  Fetching project CyanogenMod/android_vendor_qcom_opensource_dataservices
Fetching project CyanogenMod/android_device_generic_goldfish
Fetching project CyanogenMod/android_external_zlib
Fetching project CyanogenMod/android_hardware_qcom_display
Fetching project platform/external/gtest
Fetching project CyanogenMod/android_external_e2fsprogs
Fetching projects:  52% (270/519)  Fetching project CyanogenMod/android_packages_apps_Terminal
Fetching project platform/sdk
Fetching project CyanogenMod/android_external_flac
Fetching project CyanogenMod/android_packages_apps_DeskClock
Fetching project platform/external/esd
Fetching project CyanogenMod/android_external_skia
Fetching projects:  53% (276/519)  Fetching project CyanogenMod/android_packages_apps_ThemeChooser
Fetching project CyanogenMod/android_hardware_qcom_bt
Fetching project CyanogenMod/android_external_libselinux
Fetching project CyanogenMod/android_packages_apps_Profiles
Fetching project CyanogenMod/android_packages_apps_Snap
Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project CyanogenMod/android_packages_providers_CallLogProvider
Fetching projects:  54% (281/519)  Fetching project platform/hardware/qcom/msm8x84
Fetching project platform/external/objenesis
Fetching project platform/external/svox
Fetching project platform/external/ceres-solver
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
Fetching project platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9
Fetching projects:  55% (286/519)  Fetching project platform/hardware/ti/omap3
Fetching project CyanogenMod/android_packages_apps_Screencast
Fetching project CyanogenMod/android_development
Fetching project CyanogenMod/android_external_p7zip
Fetching project CyanogenMod/android_hardware_libhardware_legacy
Fetching projects:  56% (291/519)  Fetching project platform/external/protobuf
Fetching project CyanogenMod/android_hardware_intel_common_libva
Fetching project CyanogenMod/android_hardware_qcom_display
Fetching project platform/external/smali
Fetching project platform/hardware/mediatek
Fetching project CyanogenMod/android_packages_apps_SmartCardService
Fetching projects:  57% (296/519)  Fetching project platform/prebuilts/qemu-kernel
Fetching project platform/external/eyes-free
Fetching project CyanogenMod/android_packages_inputmethods_LatinIME
Fetching project CyanogenMod/android_external_unzip
Fetching project CyanogenMod/android_external_bash
Fetching project platform/external/v8
Fetching projects:  58% (302/519)  Fetching project platform/external/emma
Fetching project CyanogenMod/android_packages_apps_HTMLViewer
Fetching project CyanogenMod/android_external_bzip2
Fetching project platform/external/xmp_toolkit
Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project platform/external/libhevc
Fetching projects:  59% (307/519)  Fetching project CyanogenMod/android_hardware_qcom_wlan
Fetching project CyanogenMod/android_build
Fetching project CyanogenMod/android_packages_apps_YahooWeatherProvider
Fetching project platform/external/slf4j
Fetching project CyanogenMod/android_external_sepolicy
Fetching projects:  60% (312/519)  Fetching project platform/external/nfacct
Fetching project platform/prebuilts/misc
Fetching project platform/prebuilts/python/darwin-x86/2.7.5
Fetching project platform/prebuilts/eclipse
Fetching project CyanogenMod/android_packages_providers_CalendarProvider
Fetching projects:  61% (317/519)  Fetching project platform/external/google-fonts/coming-soon
Fetching project CyanogenMod/android_packages_apps_CertInstaller
Fetching project platform/external/lld
Fetching project CyanogenMod/android_vendor_cm
Fetching project CyanogenMod/android_packages_providers_DownloadProvider
Fetching projects:  62% (322/519)  Fetching project CyanogenMod/android_external_strace
Fetching project platform/prebuilts/android-emulator
Fetching project platform/external/libutf
Fetching project platform/external/dexmaker
Fetching project platform/prebuilts/devtools
Fetching projects:  63% (327/519)  Fetching project CyanogenMod/android_hardware_qcom_display
Fetching project CyanogenMod/android_packages_apps_Trebuchet
Fetching project platform/external/crcalc
Fetching project CyanogenMod/android_packages_apps_OpenWeatherMapProvider
Fetching project platform/external/mockito
Fetching project platform/developers/build
Fetching project CyanogenMod/android_packages_wallpapers_MagicSmoke
Fetching projects:  64% (333/519)  Fetching project CyanogenMod/android_packages_apps_PhoneCommon
Fetching project CyanogenMod/android_frameworks_opt_setupwizard
Fetching project platform/external/roboto-fonts
Fetching project CyanogenMod/ion
Fetching project CyanogenMod/android_hardware_samsung_slsi_exynos5
Fetching projects:  65% (338/519)  Fetching project platform/external/libphonenumber
Fetching project CyanogenMod/android_external_protobuf-c
Fetching project CyanogenMod/android_packages_apps_CMFileManager
Fetching project CyanogenMod/android_external_okhttp
Fetching project CyanogenMod/android_frameworks_opt_chips
Fetching projects:  66% (343/519)  Fetching project CyanogenMod/android_packages_apps_WundergroundWeatherProvider
Fetching project CyanogenMod/android_packages_apps_Gallery2
Fetching project platform/external/netcat
Fetching project platform/docs/source.android.com
Fetching project platform/external/parameter-framework
Fetching projects:  67% (348/519)  Fetching project CyanogenMod/android_bootable_recovery
Fetching project platform/prebuilts/clang/linux-x86/host/3.6
Fetching project CyanogenMod/android_packages_apps_Settings
Fetching project CyanogenMod/android_external_dnsmasq
Fetching project CyanogenMod/android_hardware_qcom_displayFetching project CyanogenMod/android_packages_apps_ExactCalculator

Fetching projects:  68% (353/519)  Fetching project platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8
Fetching project CyanogenMod/android_external_linux-tools-perf
Fetching project platform/external/noto-fonts
Fetching project platform/external/libopus
Fetching project platform/developers/samples/android
Fetching project CyanogenMod/android_hardware_qcom_wlan
Fetching project platform/external/srtp
Fetching projects:  69% (359/519)  Fetching project platform/prebuilts/python/linux-x86/2.7.5
Fetching project CyanogenMod/android_hardware_qcom_gps
Fetching project CyanogenMod/android_external_mm-dash
Fetching project CyanogenMod/android_frameworks_opt_telephony
Fetching project platform/external/eclipse-basebuilder
Fetching projects:  70% (364/519)  Fetching project CyanogenMod/android_packages_providers_ContactsProvider
Fetching project platform/external/junit
Fetching project CyanogenMod/android_hardware_intel_img_hwcomposer
Fetching project CyanogenMod/android_packages_wallpapers_Galaxy4
Fetching project platform/prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9
Fetching projects:  71% (369/519)  Fetching project CyanogenMod/android_hardware_ti_omap4
Fetching project platform/external/ppp
Fetching project CyanogenMod/android_frameworks_ex
Fetching project CyanogenMod/android_packages_wallpapers_PhotoPhase
Fetching project device/google/accessory/demokit
Fetching projects:  72% (374/519)  Fetching project CyanogenMod/android_external_lz4
Fetching project platform/external/valgrind
Fetching project CyanogenMod/android_external_jsr305
Fetching project CyanogenMod/android_external_boringssl
Fetching project CyanogenMod/android_external_apache-http
Fetching projects:  73% (379/519)  Fetching project platform/external/nanopb-c
Fetching project CyanogenMod/android_external_fsck_msdos
Fetching project CyanogenMod/android_external_libnfc-nci
Fetching project CyanogenMod/android_frameworks_compile_libbcc
Fetching project platform/external/libedit
Fetching project platform/external/mockftpserver
Fetching projects:  74% (385/519)  Fetching project CyanogenMod/android_packages_apps_CMBugreport
Fetching project CyanogenMod/android_hardware_intel_common_omx-components
Fetching project platform/external/libcap-ng
Fetching project CyanogenMod/android_packages_apps_SetupWizard
Fetching project CyanogenMod/android_packages_apps_Camera2
Fetching projects:  75% (390/519)  Fetching project CyanogenMod/android_hardware_qcom_display
Fetching project platform/external/oauth
Fetching project CyanogenMod/android_system_extras_su
Fetching project CyanogenMod/android_external_htop
Fetching project CyanogenMod/android_device_common
Fetching project platform/prebuilts/ndk
Fetching projects:  76% (395/519)  Fetching project CyanogenMod/android_packages_providers_WeatherProvider
Fetching project platform/external/libogg
Fetching project CyanogenMod/android_packages_apps_ContactsCommon
Fetching project platform/external/libusb-compat
Fetching project platform/hardware/intel/sensors
Fetching projects:  77% (400/519)  Fetching project CyanogenMod/android_packages_apps_UnifiedEmail
Fetching project device/google/accessory/arduino
Fetching project CyanogenMod/android_frameworks_opt_timezonepicker
Fetching project platform/external/bison
Fetching project CyanogenMod/android_external_iptables
Fetching projects:  78% (405/519)  Fetching project CyanogenMod/android_vendor_qcom_opensource_time-services
Fetching project CyanogenMod/android_external_brctl
Fetching project CyanogenMod/android_packages_providers_BookmarkProvider
Fetching project platform/external/eclipse-windowbuilder
Fetching project CyanogenMod/android_external_libnetfilter_conntrack
Fetching project CyanogenMod/android_system_media
Fetching projects:  79% (411/519)  Fetching project CyanogenMod/android_external_tinycompress
Fetching project CyanogenMod/android_external_openssh
Fetching project CyanogenMod/android_packages_apps_KeyChain
Fetching project CyanogenMod/android_external_cyanogen_UICommon
Fetching project CyanogenMod/android_external_libtar
Fetching projects:  80% (416/519)  Fetching project CyanogenMod/android_packages_providers_MediaProvider
Fetching project platform/external/chromium-trace
Fetching project platform/pdk
Fetching project CyanogenMod/android_device_qcom_sepolicy
Fetching project platform/external/scrypt
Fetching projects:  81% (421/519)  Fetching project platform/external/cmockery
Fetching project CyanogenMod/android_frameworks_opt_bitmap
Fetching project platform/external/harfbuzz_ng
Fetching project CyanogenMod/android_hardware_qcom_display
Fetching project platform/external/jhead
Fetching project platform/external/ltrace
Fetching projects:  82% (426/519)  Fetching project CyanogenMod/android_frameworks_compile_mclinker
Fetching project platform/external/libcxx
Fetching project CyanogenMod/cm_platform_sdk
Fetching project platform/platform_testing
Fetching project platform/external/embunit
Fetching projects:  83% (431/519)  Fetching project CyanogenMod/android_external_sqlite
Fetching project platform/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9
Fetching project platform/external/netperf
Fetching project CyanogenMod/android_external_spongycastle
Fetching project platform/external/droiddriver
Fetching projects:  84% (436/519)  Fetching project CyanogenMod/android_external_ant-glob
Fetching project CyanogenMod/android_packages_apps_Calendar
Fetching project device/generic/mini-emulator-armv7-a-neon
Fetching project CyanogenMod/android_packages_apps_CMWallpapers
Fetching project platform/hardware/intel/common/bd_prov
Fetching project platform/external/nanohttpd
Fetching projects:  85% (442/519)  Fetching project platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8
Fetching project platform/hardware/qcom/msm8x26
Fetching project CyanogenMod/android_external_libphonenumbergoogle
Fetching project CyanogenMod/android_vendor_qcom_opensource_dpm
Fetching project device/generic/qemu
Fetching projects:  86% (447/519)  Fetching project CyanogenMod/android_frameworks_opt_vcard
Fetching project platform/external/conscrypt
Fetching project platform/external/mp4parser
Fetching project platform/hardware/intel/common/libstagefrighthw
Fetching project CyanogenMod/android_libcore
Fetching projects:  87% (452/519)  Fetching project CyanogenMod/android_packages_apps_Tag
Fetching project CyanogenMod/android_packages_apps_Messaging
Fetching project CyanogenMod/android_external_stagefright-plugins
Fetching project CyanogenMod/android_hardware_akm
Fetching project CyanogenMod/android_packages_screensavers_Basic
Fetching projects:  88% (457/519)  Fetching project platform/prebuilts/maven_repo/android
Fetching project CyanogenMod/android_packages_apps_BluetoothExt
Fetching project platform/hardware/qcom/msm8x27
Fetching project platform/external/littlemock
Fetching project platform/prebuilts/tools
Fetching projects:  89% (462/519)  Fetching project CyanogenMod/android_packages_apps_Dialer
Fetching project platform/external/eigen
Fetching project platform/external/libdrm
Fetching project platform/external/apache-harmony
Fetching project CyanogenMod/android_external_zip
Fetching project platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1
Fetching projects:  90% (468/519)  Fetching project CyanogenMod/android
Fetching project platform/external/easymock
Fetching project CyanogenMod/android_external_curl
Fetching project CyanogenMod/android_system_security
Fetching project CyanogenMod/android_external_json-c
Fetching projects:  91% (473/519)  Fetching project platform/external/libvorbis
Fetching project CyanogenMod/android_hardware_ril
Fetching project CyanogenMod/android_external_tcpdump
Fetching project platform/cts
Fetching project platform/external/proguard
Fetching projects:  92% (478/519)  Fetching project CyanogenMod/android_packages_apps_InCallUI
Fetching project platform/external/libpcap
Fetching project CyanogenMod/android_external_speex
Fetching project platform/external/hyphenation-patterns
Fetching project CyanogenMod/android_external_icu
Fetching projects:  93% (483/519)  Fetching project platform/external/vboot_reference
Fetching project platform/external/iputils
Fetching project platform/external/clang
Fetching project CyanogenMod/android_external_libxslt
Fetching project platform/external/webp
Fetching projects:  94% (488/519)  Fetching project platform/external/mtpd
Fetching project CyanogenMod/android_external_exfat
Fetching project platform/external/libnl
Fetching project CyanogenMod/android_external_libpng
Fetching projects:  97% (504/519)  Fetching project CyanogenMod/android_hardware_ril
Fetching projects: 100% (519/519), done.  
Checking out files: 100% (1396/1396), done.ut files:   0% (8/1396)   
Checking out files:  59% (5779/9711)   
Checking out files: 100% (9711/9711), done.
Checking out files: 100% (5699/5699), done.
Checking out files: 100% (4313/4313), done.
Checking out files:  44% (5164/11736)   ng out files:   4% (548/11736)   
Checking out files: 100% (11736/11736), done.
Checking out files: 100% (2438/2438), done.out files:  46% (1144/2438)   

Syncing work tree:   9% (47/519)  
Checking out files: 100% (2101/2101), done.out files:  27% (574/2101)   
Checking out files: 100% (10613/10613), done.
Checking out files: 100% (2067/2067), done.out files:   1% (29/2067)   
Checking out files: 100% (5640/5640), done.out files:  36% (2072/5640)   
Checking out files: 100% (2328/2328), done.out files:  19% (460/2328)   
Checking out files: 100% (7397/7397), done. out files:  31% (2351/7397)   
Checking out files: 100% (17133/17133), done.ut files:   9% (1635/17133)   
Checking out files: 100% (179/179), done.ng out files:  12% (23/179)   
Checking out files: 100% (383/383), done.ng out files:  38% (148/383)   
Checking out files: 100% (1195/1195), done.
Checking out files: 100% (766/766), done.ng out files:  30% (231/766)   
Checking out files: 100% (723/723), done.ng out files:   3% (27/723)   
Checking out files: 100% (3505/3505), done. out files:  31% (1118/3505)   
Checking out files: 100% (4367/4367), done. out files:  13% (610/4367)   
Checking out files: 100% (1054/1054), done.
Checking out files: 100% (28042/28042), done.ut files:   2% (588/28042)   
Checking out files: 100% (1066/1066), done. out files:  34% (368/1066)   
Checking out files: 100% (8945/8945), done. out files:   5% (529/8945)   
Checking out files: 100% (173/173), done.ng out files:  32% (56/173)   
Checking out files: 100% (2186/2186), done.
Checking out files: 100% (2658/2658), done. out files:   6% (160/2658)   
Checking out files: 100% (1451/1451), done.
Checking out files: 100% (3416/3416), done. out files:   0% (22/3416)   
Checking out files: 100% (64/64), done.king out files:  10% (7/64)   
Checking out files: 100% (68/68), done.king out files:   2% (2/68)   
Checking out files: 100% (96/96), done.
Checking out files: 100% (742/742), done.
Checking out files: 100% (127/127), done.ng out files:  34% (44/127)   
Checking out files: 100% (205/205), done.
Checking out files: 100% (269/269), done.
Checking out files: 100% (128/128), done.ng out files:  23% (30/128)   
Checking out files: 100% (209/209), done.
Checking out files: 100% (3202/3202), done.
Checking out files: 100% (3539/3539), done.
Checking out files: 100% (4198/4198), done. out files:   6% (268/4198)   
Checking out files: 100% (270/270), done.
Checking out files: 100% (10253/10253), done.
Checking out files: 100% (2050/2050), done.
Checking out files: 100% (956/956), done.
Checking out files: 100% (72214/72214), done.ut files:   6% (4606/72214)   
Checking out files: 100% (4865/4865), done.
Checking out files: 100% (3552/3552), done.
Checking out files: 100% (52/52), done.
Checking out files: 100% (1180/1180), done.
Checking out files: 100% (3826/3826), done. out files:   2% (95/3826)   
Checking out files: 100% (850/850), done.
Checking out files: 100% (221/221), done.ng out files:  42% (93/221)   
Syncing work tree: 100% (519/519), done.  

6. 獲取預置的應用 (編譯 CM11 及 11 以下的版本時執行 本次編譯的是 CM13 不用執行該步驟)

 

 

 

 

(1) 獲取預置應用


 

獲取預置應用:

--進入指定目錄: 執行cd ~/android/system/vendor/cm命令, 進入~/android/system/vendor/cm目錄;

--在該目錄獲取相關應用: 執行./get-prebuilts 命令即可,注意是在~/android/system/vendor/cm目錄中執行該命令;

 

 

(2) 獲取預置應用產生的結果


 

執行結果:

--命令行回應: 執行 get-prebuilts 命令不會得到任何確認, 只是有另外一個提示;

--下載安裝預置應用: 執行該命令會下載一些預置應用, 並將它們安裝到源代碼中;

--只執行一次: 該命令只需要執行一次, 執行完後, 以後編譯就不用下載這些應用了;

 


7. 下載 小米4 手機設備相關源碼

 

 

 

 

(1) 設置環境變量


 

設置環境變量 :

-- 進入源碼根目錄 : 進入 ~/android/system 目錄, 使用 cd ~/android/system 命令, 進入 CyanogenMod 源碼根目錄;

-- 環境變量命令 : 執行 source build/envsetup.sh命令, 設置環境變量;

-- 設置過程 (終端輸出內容) :

 

octopus@octopus:~/android/system$ source build/envsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-mips/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/cm/bash_completion/git.bash
including vendor/cm/bash_completion/repo.bash

(2) 下載設備相關源碼


 

 

下載設備相關源碼 :

 

-- 步驟作用: 該步驟下載 小米4 手機的設備的特定配置 和 內核源碼;

-- 創建 LocalManifest 文件 : 使用一個可選擇的 命令 breakfast 去創建你的 LocalManifest 配置文件;

-- 源碼定位 : 為了執行該操作, 你需要在 CyanogenMod 的 GitHub 地址 (https://github.com/CyanogenMod) 中找到你的設備源碼位置, 並且在你本地的 LocalManifest 中列舉出所有的 定義在cm.dependencies 中的代碼倉庫;

-- 了解更多命令細節 : 如果你想要知道更多關於source build/envsetup.sh 命令的細節, 或者簡單的了解下 breakfast, brunch, launch 命令, 你可以到 Evsetup Help (https://wiki.cyanogenmod.org/w/Envsetup_help) 頁面;

-- 便捷命令 croot : 每次進入源代碼的根目錄, 都要執行cd ~/android/system 命令, 比較麻煩; 可以使用 croot 命令替代, 執行 croot 命令相當於先執行source build/envsetup.sh 命令, 再執行 ~/android/system命令;

-- 終端輸出過程 :

 

octopus@octopus:~/android/system$ breakfast cancro
including vendor/cm/vendorsetup.sh
build/core/envsetup.mk:90: *** Unable to determine HOST_ARCH from uname -sm: Linux i686!。 停止。
Device cancro not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_xiaomi_cancro
Default revision: cm-13.0
Checking branch info
Checking if device/xiaomi/cancro is fetched from android_device_xiaomi_cancro
Adding dependency: CyanogenMod/android_device_xiaomi_cancro -> device/xiaomi/cancro
Using default branch for android_device_xiaomi_cancro
Syncing repository to retrieve project.

... A new repo command ( 1.22) is available.
... You should upgrade soon:

    cp /home/octopus/android/system/.repo/repo/repo /usr/bin/repo

Fetching project repo
Fetching project CyanogenMod/android_device_xiaomi_cancro
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
Fetching projects:  50% (1/2)  remote: Counting objects: 1387, done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 1387 (delta 12), reused 0 (delta 0), pack-reused 1332
接收對象中: 100% (1387/1387), 5.76 MiB | 94.00 KiB/s, done.
處理 delta 中: 100% (573/573), done.
來自 https://github.com/CyanogenMod/android_device_xiaomi_cancro
 * [新分支]          cm-13.0    -> github/cm-13.0
Fetching projects: 100% (2/2), done.  

Repository synced!
Looking for dependencies
Adding dependencies to manifest
Checking if device/qcom/common is fetched from android_device_qcom_common
Adding dependency: CyanogenMod/android_device_qcom_common -> device/qcom/common
Using default branch for android_device_qcom_common
Checking if kernel/xiaomi/cancro is fetched from android_kernel_xiaomi_cancro
Adding dependency: CyanogenMod/android_kernel_xiaomi_cancro -> kernel/xiaomi/cancro
Using default branch for android_kernel_xiaomi_cancro
Syncing dependencies

... A new repo command ( 1.22) is available.
... You should upgrade soon:

    cp /home/octopus/android/system/.repo/repo/repo /usr/bin/repo

Fetching project CyanogenMod/android_device_qcom_common
Fetching project CyanogenMod/android_kernel_xiaomi_cancro
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
remote: Counting objects: 661, done.
remote: Total 661 (delta 0), reused 0 (delta 0), pack-reused 661
接收對象中: 100% (661/661), 197.33 KiB | 79.00 KiB/s, done.
處理 delta 中: 100% (440/440), done.
來自 https://github.com/CyanogenMod/android_device_qcom_common
 * [新分支]          cm-13.0    -> github/cm-13.0
 * [新tag]           cm-11.0-XNPH05Q-bacon-5229c4ef56 -> cm-11.0-XNPH05Q-bacon-5229c4ef56
 * [新tag]           cm-11.0-XNPH05Q-tomato-9828f8e9cc -> cm-11.0-XNPH05Q-tomato-9828f8e9cc
 * [新tag]           cm-11.0-XNPH22R-bacon-03d77315ea -> cm-11.0-XNPH22R-bacon-03d77315ea
 * [新tag]           cm-11.0-XNPH25R-bacon-d22b777afa -> cm-11.0-XNPH25R-bacon-d22b777afa
 * [新tag]           cm-11.0-XNPH30O-bacon-4f280f505a -> cm-11.0-XNPH30O-bacon-4f280f505a
 * [新tag]           cm-11.0-XNPH33R-bacon-3628510d76 -> cm-11.0-XNPH33R-bacon-3628510d76
 * [新tag]           cm-11.0-XNPH44S-bacon-5fa8c79c0b -> cm-11.0-XNPH44S-bacon-5fa8c79c0b
Fetching projects:  50% (1/2)  remote: Counting objects: 2740102, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 2740102 (delta 22), reused 18 (delta 18), pack-reused 2740074
接收對象中: 100% (2740102/2740102), 593.12 MiB | 585.00 KiB/s, done.
處理 delta 中: 100% (2292044/2292044), done.
來自 https://github.com/CyanogenMod/android_kernel_xiaomi_cancro
 * [新分支]          cm-13.0    -> github/cm-13.0
Fetching projects: 100% (2/2), done.  
Checking out files: 100% (42522/42522), done.

Looking for dependencies
Dependencies file not found, bailing out.
Looking for dependencies
Dependencies file not found, bailing out.
Done
build/core/envsetup.mk:90: *** Unable to determine HOST_ARCH from uname -sm: Linux i686!。 停止。

** Don't have a product spec for: 'cm_cancro'
** Do you have the right repo manifest?

 

(3) 出錯處理


 

 

 

出現了 Makefile 或者其它相關錯誤 :

-- 人員復雜原因 : 不同的維護人員設置它們設備的繼承規則不同;

-- 供應商名稱目錄 : 一些需要一個以 手機供應商名稱 當做目錄, 並在 breakfast 命令快執行成功時, 將源碼下載到該目錄中;

-- 相關錯誤解決方案 : 如果你收到一些錯誤, 關於 供應商目錄中的 Makefile 文件錯誤, 那麼跳過執行下一個步驟Extract proprietary blobs (提取專有文件), 錯誤提示如下 :

 

build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/xiaomi/cancro/cm.mk]]: "vendor/xiaomi/cancro/cancro-vendor.mk" does not exist.  Stop.

** Don't have a product spec for: 'cm_cancro'
** Do you have the right repo manifest?


 

-- 成功部分預測 : breakfast 開始的部, 獲取源碼樹過程部分應該執行成功, 並且提取設備專有文件的腳本應該可用;

-- 先提取設備文件 : 完成提取 設備專有文件 步驟之後, 再執行breakfast cancro 命令, 就能執行成功;

 

 

五. 提取 Mi 4 設備專有文件 (Extract Propertietary Blobs)

 

 

 

 

 

 

設備專有文件簡介 :

-- 文件列表 : 在~/android/system/device/xiaomi/cancro/device-proprietary-files.txt 文件列表中列出了 505 個文件及其路徑;

-- 文件不全 : 找不全所有的 505 個文件;

-- CyanogenMod 13.0 系統中的文件 : CM 13 系統中有 496 個文件能找到;

-- MIUI 7 系統中的文件 : MIUI 7 中能找到 4 個與上面不同的文件;

-- 找不到的文件 : 有 5 個文件找不到, 沒有這 5 個文件編譯也能通過;

-- 路徑問題 : 不是所有的路徑都是正確的, 有 17 個文件 (CM 中有 13 個, MIUI 中有 4 個) 的路徑寫錯了, 需要手動更正過來;

 

 

1. 提取專有文件 (Extract Propertietary Blobs) 標准操作 (100%出錯)

 

 

 

 

(1) 標准流程


 

 

提取屬性文件過程 : 這個過程要是能完整的執行下來, 沒有任何錯誤, 那就出了老鬼了, 肯定會出錯;

-- 手機 USB 連接電腦 :首先確保你的 小米 4 手機通過 USB 接口 連接上了電腦;

-- 進入指定目錄 : 進入~/android/system/device/xiaomi/cancro 目錄, 使用 cd ~/android/system/device/xiaomi/cancro 命令;

-- 提取專有文件 : 運行./extract-files.sh 命令;

-- 提取過程操作: 專有文件從 小米 4 設備中復制出來, 然後被移動到了~/android/system/vendor/xiaomi 目錄;

 

root@ubuntu:~/android/system/device/xiaomi/cancro# ./extract-files.sh
161 KB/s (26297 bytes in 0.158s)
3721 KB/s (1462439 bytes in 0.383s)
20 KB/s (899 bytes in 0.043s)
3 KB/s (159 bytes in 0.042s)
3 KB/s (159 bytes in 0.043s)
2382 KB/s (270358 bytes in 0.110s)
3772 KB/s (786432 bytes in 0.203s)
4153 KB/s (3125684 bytes in 0.734s)
16 KB/s (732 bytes in 0.044s)
800 KB/s (41508 bytes in 0.050s)
185 KB/s (9220 bytes in 0.048s)
1 KB/s (56 bytes in 0.047s)
7 KB/s (372 bytes in 0.051s)
0 KB/s (32 bytes in 0.044s)
48 KB/s (2212 bytes in 0.044s)
3762 KB/s (957200 bytes in 0.248s)
261 KB/s (12760 bytes in 0.047s)
8 KB/s (412 bytes in 0.048s)
1092 KB/s (61440 bytes in 0.054s)
348 KB/s (16384 bytes in 0.045s)
316 KB/s (16384 bytes in 0.050s)
332 KB/s (16128 bytes in 0.047s)
4 KB/s (212 bytes in 0.046s)
4 KB/s (200 bytes in 0.047s)
2631 KB/s (970896 bytes in 0.360s)
4 KB/s (360 bytes in 0.070s)
106 KB/s (5472 bytes in 0.050s)
362 KB/s (17830 bytes in 0.048s)
remote object '/system/etc/lut.dat' does not exist
root@ubuntu:~/android/system/device/xiaomi/cancro# 


 

(2) adb 錯誤出錯處理


 

 

如果出現了 以下錯誤 :

-- 1. 無法獲取文件 : adb being unable to pull the files;

-- 2. 沒有配置環境變量 : adb may not be in the path of execution;

-- 解決方案 : 出現了上述問題, 到 adb 頁面 (https://wiki.cyanogenmod.org/w/Doc:_adb_intro), 尋找相關問題答案;

 

(3) remote object '' does not exist 錯誤出錯處理


 

 

提取文件時沒有對應文件錯誤 :

-- 小米 4 的 6.0 版本操作系統 (MIUI) 沒有 相應文件, 出現以下錯誤 :

 

root@ubuntu:~/android/system/device/xiaomi/cancro# ./extract-files.sh 
remote object '/system/etc/sdm_200_HOG3x3_Grid3x3_bin5_noproj_zero_reduced.bin.pca' does not exist

-- CM 13.0 版本操作系統出現以下錯誤 :

 

root@ubuntu:~/android/system/device/xiaomi/cancro# ./extract-files.sh
remote object '/system/etc/lut.dat' does not exist
root@ubuntu:~/android/system/device/xiaomi/cancro# 

 

-- 錯誤原因 : 不管是 MIUI7 還是 CyanogenMod 13.0 都不包含所有的文件, 這裡需要分別從不同的系統中提取文件;

-- 錯誤處理方法 : MIUI 中沒有上述文件, 因此需要先把CyanogenMod 系統刷到小米4上, 再進行文件提取;

 

 

(4) 相關注意事項


 

相關注意事項 :

-- 設備准備 : 設備已經准備好運行一個 Android 編譯版本, 該版本時 CyanogenMod 源碼的一個分支, 並且該 編譯時針對extract-files.sh 腳本提取出的文件.

-- 重要性 : 使用extract-files.sh 腳本從設備中提取到~/android/system/vendor/xiaomi 中的專有文件很重要;

-- 生成 Makefile 作用 : 在提取 專有文件 的同時, 會生成 Makefile 文件, 確保文件最終都拷貝到了設備中;

-- 缺少專有文件的後果 : 如果沒有這些文件, CyanogenMod 源碼可能會編譯通過, 但是你可能會丟失一些重要的功能, 如 圖形庫 等;

 

 

2. 文件需求詳細說明

 

 

 

 

 

 

(1) 需要提取的文件清單 (只是清單 不能使用該清單直接提取)

 


文件清單 : 提取的文件清單在~/android/system/device/xiaomi/cancro目錄中的device-proprietary-files.txt 文件中列出;

-- 文件路徑說明 : 這裡的etc/sdm_200_HOG3x3_Grid3x3_bin5_noproj_zero_reduced.bin.pca 文件指的是 手機系統裡面的 /system/etc/sdm_200_HOG3x3_Grid3x3_bin5_noproj_zero_reduced.bin.pca 文件, 要在所有的前面加上一個 /system/, 找文件的時候也是去 /system/ 中去找;

-- 總共需要 505 個文件, 清單如下 :

 

etc/sdm_200_HOG3x3_Grid3x3_bin5_noproj_zero_reduced.bin.pca
etc/android_model_faceg.dat
etc/permissions/android.hardware.consumerir.xml
etc/permissions/qcrilhook.xml
etc/permissions/qcnvitems.xml
etc/android_model_facea.dat
etc/firmware/wcnss.b08
etc/firmware/wcnss.b06
etc/firmware/wcnss.mdt
etc/firmware/wcnss.b09
etc/firmware/a330_pm4.fw
etc/firmware/wcnss.b07
etc/firmware/wcnss.b00
etc/firmware/venus.b04
etc/firmware/a330_pfp.fw
etc/firmware/venus.b02
etc/firmware/wcnss.b02
etc/firmware/venus.mdt
etc/firmware/wcnss.b04
etc/firmware/cpp_firmware_v1_2_0.fw
etc/firmware/cpp_firmware_v1_1_6.fw
etc/firmware/cpp_firmware_v1_1_1.fw
etc/firmware/venus.b00
etc/firmware/venus.b01
etc/firmware/venus.mbn
etc/firmware/wcnss.b01
etc/firmware/venus.b03
etc/sensor_def_qcomdev.conf
etc/lut.dat
etc/data/dsi_config.xml
etc/data/netmgr_config.xml
etc/data/qmi_config.xml
etc/sdm_200_HOG3x3_Grid3x3_bin5_noproj_zero_reduced.bin
priv-app/qcrilmsgtunnel.apk
lib/libdrmfs.so
lib/libdrmdiag.so
lib/libqomx_core.so
lib/libchromatix_imx226_liveshot.so
lib/hw/activity_recognition.msm8974.so
lib/hw/gps.msm8974.so
lib/hw/camera.msm8974.so
lib/hw/consumerir.msm8974.so
lib/libchromatix_imx214_liveshot.so
lib/libqminvapi.so
lib/libchromatix_imx219_liveshot.so
lib/libchromatix_imx224_liveshot.so
lib/libc2dcolorconvert.so
lib/libchromatix_imx135_liveshot.so
lib/libdrmdecrypt.so
lib/libmmjpeg_interface.so
lib/libloc_core.so
lib/libloc_eng.so
lib/libloc_ds_api.so
lib/libchromatix_s5k3m2_liveshot.so
lib/libgps.utils.so
lib/libdrmtime.so
lib/libmmcamera_interface.so
lib/libDiracAPI_SHARED.so
lib/libstm-log.so
lib/libloc_api_v02.so
lib/soundfx/libdirac.so
lib/libchromatix_imx225_liveshot.so
lib/librpmb.so
lib/libmdmdetect.so
lib/drm/libdrmwvmplugin.so
lib/libQSEEComAPI.so
lib/libOmxVdecHevc.so
lib/libmm-omxcore.so
lib/libchromatix_imx215_liveshot.so
lib/libOmxVenc.so
lib/libRecoFace.so
lib/libssd.so
framework/qti-telephony-common.jar
framework/qcnvitems.jar
framework/qcrilhook.jar
bin/rmt_storage
bin/time_daemon
bin/irsc_util
bin/qmuxd
bin/sensors.qcom
bin/hvdcp
bin/radish
bin/mm-qcamera-daemon
bin/lowi-server
bin/qseecomd
bin/xtwifi-client
bin/charger_monitor
bin/xtwifi-inet-agent
bin/btnvtool
bin/wcnss_filter
bin/quipc_main
bin/quipc_igsn
bin/mpdecision
bin/fm_qsoc_patches
bin/netmgrd
bin/rfs_access
bin/wcnss_service
bin/qosmgr
bin/adsprpcd
vendor/lib/libadreno_utils.so
vendor/lib/libmmcamera2_vpe_module.so
vendor/lib/libTimeService.so
vendor/lib/libchromatix_imx132_default_video.so
vendor/lib/libchromatix_imx215_preview.so
vendor/lib/libchromatix_s5k3l1yx_hfr_120fps.so
vendor/lib/libchromatix_imx226_common.so
vendor/lib/libmmcamera2_cpp_module.so
vendor/lib/libchromatix_s5k3m2_video_uhd.so
vendor/lib/libmmcamera_hi256.so
vendor/lib/libchromatix_s5k3m2_snapshot_hdr.so
vendor/lib/libmm-hdcpmgr.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_zsl.so
vendor/lib/libchromatix_imx225_snapshot.so
vendor/lib/libfastcvopt.so
vendor/lib/libmmcamera_SKUAA_ST_gc0339.so
vendor/lib/libchromatix_ov5648_oty5f03_common.so
vendor/lib/libmmcamera2_frame_algorithm.so
vendor/lib/libquipc_os_api.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_default_video.so
vendor/lib/libchromatix_ov8825_liveshot_hd.so
vendor/lib/libcneapiclient.so
vendor/lib/libchromatix_s5k3l1yx_hfr_90fps.so
vendor/lib/libchromatix_ov5648_oty5f03_snapshot.so
vendor/lib/libchromatix_imx224_snapshot_w.so
vendor/lib/libjpegdhw.so
vendor/lib/libacdbloader.so
vendor/lib/libchromatix_ov9724_preview.so
vendor/lib/libFaceProc.so
vendor/lib/libchromatix_imx224_hfr_120.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_video_hd.so
vendor/lib/libmm-abl.so
vendor/lib/libchromatix_imx214_snapshot_w.so
vendor/lib/libactuator_rohm_bu64243gwz_camcorder.so
vendor/lib/libmmcamera_sunny_p12v01m_eeprom.so
vendor/lib/libchromatix_s5k3l1yx_liveshot.so
vendor/lib/libc2d30-a4xx.so
vendor/lib/libsrsprocessing.so
vendor/lib/libqct_resampler.so
vendor/lib/libactuator_ov8825_camcorder.so
vendor/lib/libchromatix_ov8825_preview.so
vendor/lib/liboptizoom.so
vendor/lib/libchromatix_ov2720_default_video.so
vendor/lib/libchromatix_imx215_video_hdr_uhd.so
vendor/lib/libactuator_bu6313_camcorder.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_video_hd.so
vendor/lib/libactuator_dw9716_camera.so
vendor/lib/libchromatix_ov8825_snapshot_hd.so
vendor/lib/hw/sensors.msm8974.so
vendor/lib/hw/flp.default.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_hfr_60fps.so
vendor/lib/libmmcamera_imx135.so
vendor/lib/libchromatix_imx226_snapshot_hdr.so
vendor/lib/libchromatix_imx215_snapshot_w.so
vendor/lib/libWVStreamControlAPI_L1.so
vendor/lib/libacdbrtac.so
vendor/lib/mediadrm/libdrmclearkeyplugin.so
vendor/lib/mediadrm/libwvdrmengine.so
vendor/lib/libmmcamera_imx219.so
vendor/lib/libRSDriver_adreno.so
vendor/lib/libactuator_ad5823_camera.so
vendor/lib/libchromatix_ov8825_snapshot.so
vendor/lib/libdiag.so
vendor/lib/libactuator_iu074_camera.so
vendor/lib/libchromatix_ov4688_preview.so
vendor/lib/libC2D2.so
vendor/lib/libchromatix_imx215_snapshot_hdr.so
vendor/lib/libchromatix_ov8865_q8v18a_zsl.so
vendor/lib/libchromatix_imx214_snapshot.so
vendor/lib/libacdbmapper.so
vendor/lib/libchromatix_ov8865_q8v18a_video_hd.so
vendor/lib/libchromatix_imx134_preview.so
vendor/lib/libchromatix_ov5648_oty5f03_default_video.so
vendor/lib/libsmemlog.so
vendor/lib/liboemcamera.so
vendor/lib/libchromatix_imx134_snapshot.so
vendor/lib/libchromatix_imx224_video_uhd.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_common.so
vendor/lib/libchromatix_imx215_video_hdr.so
vendor/lib/libchromatix_imx132_preview.so
vendor/lib/libqcci_legacy.so
vendor/lib/libactuator_dw9716.so
vendor/lib/libchromatix_imx225_common.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_hfr_90fps.so
vendor/lib/libchromatix_imx214_snapshot_hdr.so
vendor/lib/libchromatix_imx135_hfr_60.so
vendor/lib/libxtwifi_ulp_adaptor.so
vendor/lib/libchromatix_ov5648_oty5f03_zsl.so
vendor/lib/libchromatix_SKUAA_ST_gc0339_default_video.so
vendor/lib/libchromatix_ov8865_q8v18a_liveshot.so
vendor/lib/lib-dplmedia.so
vendor/lib/libchromatix_ov5648_oty5f03_preview.so
vendor/lib/libtime_genoff.so
vendor/lib/libmmcamera_imx226.so
vendor/lib/liblocationservice.so
vendor/lib/libactuator_ov12830_camera.so
vendor/lib/libchromatix_ov8825_hfr_60fps.so
vendor/lib/libchromatix_imx224_snapshot_hdr.so
vendor/lib/libmmcamera_skuf_ov12830_p12v01c.so
vendor/lib/libgeofence.so
vendor/lib/libasn1crtx.so
vendor/lib/librs_adreno_sha1.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_common.so
vendor/lib/libmmcamera_ubifocus_lib.so
vendor/lib/libdrmdecrypt.so
vendor/lib/libchromatix_ov8865_q8v18a_default_video.so
vendor/lib/libmmcamera2_iface_modules.so
vendor/lib/libmmcamera_ov9724.so
vendor/lib/libchromatix_imx214_video_hdr.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_snapshot.so
vendor/lib/libchromatix_imx215_default_video.so
vendor/lib/libactuator_ak7345.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_snapshot.so
vendor/lib/libchromatix_ov8825_preview_hd.so
vendor/lib/libchromatix_imx224_snapshot.so
vendor/lib/libubifocus.so
vendor/lib/libmmcamera_x5_imx214_eeprom.so
vendor/lib/libmmcamera_chromaflash_lib.so
vendor/lib/libchromatix_imx224_common.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_default_video.so
vendor/lib/liblbs_core.so
vendor/lib/libchromatix_s5k3m2_video_hdr.so
vendor/lib/libchromatix_imx219_common.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_snapshot.so
vendor/lib/libchromatix_imx226_video_hdr.so
vendor/lib/libmmcamera_ov2720.so
vendor/lib/libchromatix_imx226_snapshot_w.so
vendor/lib/libqmi.so
vendor/lib/libchromatix_imx214_video_uhd.so
vendor/lib/libqmi_csvt_srvc.so
vendor/lib/libchromatix_imx225_video_uhd.so
vendor/lib/libchromatix_s5k3l1yx_default_video.so
vendor/lib/libchromatix_ov8865_q8v18a_hfr_120fps.so
vendor/lib/libCB.so
vendor/lib/libchromatix_imx214_preview.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_default_video.so
vendor/lib/libSHIMDivxDrm.so
vendor/lib/libactuator_ov8825_camera.so
vendor/lib/libchromatix_ov4688_zsl.so
vendor/lib/libchromatix_SKUAA_ST_gc0339_common.so
vendor/lib/libmmcamera2_sensor_modules.so
vendor/lib/libaudioalsa.so
vendor/lib/libchromatix_imx214_video_hdr_uhd.so
vendor/lib/libchromatix_imx214_common.so
vendor/lib/librs_adreno.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_default_video.so
vendor/lib/libchromatix_imx134_hfr_60.so
vendor/lib/libulp2.so
vendor/lib/libchromatix_imx224_video_hdr.so
vendor/lib/libril-qc-qmi-1.so
vendor/lib/libmmcamera_truly_cm7700_eeprom.so
vendor/lib/libchromatix_s5k3m2_hfr_120fps.so
vendor/lib/libNimsWrap.so
vendor/lib/libchromatix_ov4689_preview.so
vendor/lib/libbccQTI.so
vendor/lib/libmmcamera_tintless_bg_pca_algo.so
vendor/lib/libqomx_jpegenc.so
vendor/lib/libbtnv.so
vendor/lib/libchromatix_imx219_default_video.so
vendor/lib/libmmcamera2_is.so
vendor/lib/libFaceDeform.so
vendor/lib/libactuator_ad5823.so
vendor/lib/libgsl.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_snapshot.so
vendor/lib/libmmcamera_SKUAB_ST_s5k4e1.so
vendor/lib/libdrmdecrypt.2.so
vendor/lib/libmmqjpeg_codec.so
vendor/lib/libchromatix_s5k3l1yx_video_hd.so
vendor/lib/libactuator_rohm_bu64243gwz_camera.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_hfr_120fps.so
vendor/lib/libchromatix_s5k3m2_snapshot_w.so
vendor/lib/libchromatix_ov8825_video_hd.so
vendor/lib/libchromatix_imx135_preview.so
vendor/lib/libarcsoft_beauty_shot.so
vendor/lib/libmmcamera_ov4688.so
vendor/lib/libactuator_bu6313_camera.so
vendor/lib/libchromatix_s5k3l1yx_zsl.so
vendor/lib/libsensor_test.so
vendor/lib/libmmcamera2_q3a_special.so
vendor/lib/libmmcamera_ov4689.so
vendor/lib/libchromatix_ov4689_common.so
vendor/lib/libqti-perfd-client.so
vendor/lib/lib-rtpsl.so
vendor/lib/libmmcamera_imx225.so
vendor/lib/libchromatix_ov8825_common.so
vendor/lib/libmmcamera2_stats_algorithm.so
vendor/lib/libchromatix_imx134_hfr_120.so
vendor/lib/lib-rtpdaemoninterface.so
vendor/lib/libactuator_bu6313.so
vendor/lib/libchromatix_ov4689_zsl.so
vendor/lib/libOpenCL.so
vendor/lib/libmmcamera_imx224.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_common.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_liveshot.so
vendor/lib/libsensor_reg.so
vendor/lib/libasn1crt.so
vendor/lib/libmmcamera2_pproc_modules.so
vendor/lib/libt2tmanager.so
vendor/lib/libchromatix_imx225_preview.so
vendor/lib/libchromatix_s5k3m2_preview.so
vendor/lib/libactuator_iu074.so
vendor/lib/libchromatix_SKUAA_ST_gc0339_preview.so
vendor/lib/libchromatix_imx132_snapshot.so
vendor/lib/libchromatix_ov8865_q8v18a_preview.so
vendor/lib/libchromaflash.so
vendor/lib/libjpegehw.so
vendor/lib/libqmi_client_qmux.so
vendor/lib/libfastcvadsp_stub.so
vendor/lib/libc2d30-a3xx.so
vendor/lib/soundfx/libqcbassboost.so
vendor/lib/soundfx/libqcreverb.so
vendor/lib/soundfx/libqcvirt.so
vendor/lib/libchromatix_imx224_video_hdr_uhd.so
vendor/lib/libmmipl.so
vendor/lib/libqmi_common_so.so
vendor/lib/libmm-abl-oem.so
vendor/lib/libchromatix_s5k3m2_default_video.so
vendor/lib/libchromatix_ov9724_default_video.so
vendor/lib/libmmQSM.so
vendor/lib/libchromatix_imx225_video_hdr_uhd.so
vendor/lib/libactuator_ad5823_camcorder.so
vendor/lib/libWVphoneAPI.so
vendor/lib/libaudcal.so
vendor/lib/libchromatix_imx219_snapshot.so
vendor/lib/libmmcamera_skuab_shinetech_gc0339.so
vendor/lib/libizat_core.so
vendor/lib/libactuator_rohm_bu64243gwz.so
vendor/lib/libdsutils.so
vendor/lib/libchromatix_imx215_hfr_120.so
vendor/lib/rfsa/adsp/libdspCV_skel.so
vendor/lib/rfsa/adsp/libapps_mem_heap.so
vendor/lib/rfsa/adsp/libfastcvadsp.so
vendor/lib/rfsa/adsp/libfastcvadsp_skel.so
vendor/lib/rfsa/adsp/libscveT2T_skel.so
vendor/lib/libchromatix_imx226_hfr_120.so
vendor/lib/libactuator_ak7345_camcorder.so
vendor/lib/libchromatix_ov2720_liveshot.so
vendor/lib/libwvdrm_L1.so
vendor/lib/libactuator_lc8214_camera.so
vendor/lib/libmmcamera2_wnr_module.so
vendor/lib/libmmcamera_imglib.so
vendor/lib/libquipc_ulp_adapter.so
vendor/lib/libmmcamera_faceproc.so
vendor/lib/libchromatix_ov4688_hfr.so
vendor/lib/libasn1cper.so
vendor/lib/libchromatix_imx214_hfr_120.so
vendor/lib/libmmcamera_s5k3m2.so
vendor/lib/libchromatix_ov9724_liveshot.so
vendor/lib/libmmjpeg.so
vendor/lib/libchromatix_imx214_default_video.so
vendor/lib/libmmcamera2_stats_modules.so
vendor/lib/libnetmgr.so
vendor/lib/libchromatix_imx219_preview.so
vendor/lib/libmmcamera_sunny_q8v18a_eeprom.so
vendor/lib/libscve.so
vendor/lib/libchromatix_ov8825_default_video.so
vendor/lib/libchromatix_ov2720_hfr.so
vendor/lib/libchromatix_ov4688_liveshot.so
vendor/lib/libmmcamera2_c2d_module.so
vendor/lib/libactuator_lc8214_camcorder.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_liveshot.so
vendor/lib/libchromatix_s5k3l1yx_preview.so
vendor/lib/libmmcamera_sunny_p5v23c_eeprom.so
vendor/lib/libI420colorconvert.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_preview.so
vendor/lib/libsensor_user_cal.so
vendor/lib/libDivxDrm.so
vendor/lib/libchromatix_ov4688_common.so
vendor/lib/libc2d30.so
vendor/lib/libchromatix_imx225_default_video.so
vendor/lib/libqdp.so
vendor/lib/libchromatix_ov8825_hfr_120fps.so
vendor/lib/libchromatix_imx226_video_hdr_uhd.so
vendor/lib/libHevcSwDecoder.so
vendor/lib/libchromatix_ov2720_common.so
vendor/lib/libchromatix_ov4689_hfr.so
vendor/lib/libchromatix_ov9724_common.so
vendor/lib/libmmcamera_wavelet_lib.so
vendor/lib/libchromatix_imx226_default_video.so
vendor/lib/libmmcamera_mt9m114.so
vendor/lib/libchromatix_ov8825_hfr_90fps.so
vendor/lib/libqmi_cci.so
vendor/lib/libQSEEComAPI.so
vendor/lib/libchromatix_imx224_preview.so
vendor/lib/libchromatix_imx225_snapshot_hdr.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_zsl.so
vendor/lib/libscve_stub.so
vendor/lib/libactuator_dw9714_camera.so
vendor/lib/libchromatix_imx215_snapshot.so
vendor/lib/egl/eglsubAndroid.so
vendor/lib/egl/libq3dtools_adreno.so
vendor/lib/egl/libEGL_adreno.so
vendor/lib/egl/libGLESv1_CM_adreno.so
vendor/lib/egl/libGLESv2_adreno.so
vendor/lib/libmmosal.so
vendor/lib/libsc-a2xx.so
vendor/lib/libchromatix_s5k3l1yx_hfr_60fps.so
vendor/lib/libconfigdb.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_zsl.so
vendor/lib/libmmcamera_imx214.so
vendor/lib/libmmcamera2_imglib_modules.so
vendor/lib/libchromatix_ov8825_zsl.so
vendor/lib/libchromatix_imx215_video_uhd.so
vendor/lib/libactuator_ov12830_camcorder.so
vendor/lib/libchromatix_ov4689_default_video.so
vendor/lib/libmmcamera_ov5648_oty5f03.so
vendor/lib/libsystem_health_mon.so
vendor/lib/libqmi_csi.so
vendor/lib/libxtadapter.so
vendor/lib/libchromatix_imx226_snapshot.so
vendor/lib/libmmcamera_imx134.so
vendor/lib/libmmcamera2_isp_modules.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_preview.so
vendor/lib/libmmcamera_tintless_algo.so
vendor/lib/libmmcamera_imx132.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_preview.so
vendor/lib/libchromatix_s5k3m2_common.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_common.so
vendor/lib/libchromatix_imx135_hfr_90.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_hfr_90fps.so
vendor/lib/libxtwifi_zpp_adaptor.so
vendor/lib/libchromatix_s5k3l1yx_snapshot.so
vendor/lib/libmm-color-convertor.so
vendor/lib/libactuator_lc8214.so
vendor/lib/libmmcamera_hdr_gb_lib.so
vendor/lib/lib-rtpcommon.so
vendor/lib/libchromatix_ov8865_q8v18a_snapshot.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_hfr_60fps.so
vendor/lib/libperipheral_client.so
vendor/lib/libsc-a3xx.so
vendor/lib/libchromatix_ov4688_default_video.so
vendor/lib/libchromatix_imx135_common.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_hfr_120fps.so
vendor/lib/libchromatix_ov8825_liveshot.so
vendor/lib/libmmcamera_skuf_ov5648_p5v23c.so
vendor/lib/libactuator_dw9716_camcorder.so
vendor/lib/libmmcamera_ov8865_q8v18a.so
vendor/lib/libchromatix_s5k3m2_snapshot.so
vendor/lib/libmmcamera_s5k3l1yx.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_preview.so
vendor/lib/libmmcamera_hdr_lib.so
vendor/lib/libqomx_jpegdec.so
vendor/lib/libchromatix_imx134_common.so
vendor/lib/libchromatix_imx215_common.so
vendor/lib/liboemcrypto.so
vendor/lib/libmmcamera_imx215.so
vendor/lib/libsensor1.so
vendor/lib/libllvm-qcom.so
vendor/lib/libactuator_iu074_camcorder.so
vendor/lib/libchromatix_ov4689_liveshot.so
vendor/lib/libchromatix_imx134_default_video.so
vendor/lib/libadsprpc.so
vendor/lib/libchromatix_imx225_snapshot_w.so
vendor/lib/libril-qcril-hook-oem.so
vendor/lib/libdsi_netctrl.so
vendor/lib/libscale.so
vendor/lib/libchromatix_s5k3m2_video_hdr_uhd.so
vendor/lib/libchromatix_imx135_hfr_120.so
vendor/lib/libadiertac.so
vendor/lib/libactuator_ov8825.so
vendor/lib/libchromatix_imx226_video_uhd.so
vendor/lib/libactuator_dw9714.so
vendor/lib/libdisp-aba.so
vendor/lib/libAKM8963.so
vendor/lib/libchromatix_ov8865_q8v18a_hfr_90fps.so
vendor/lib/libwifiscanner.so
vendor/lib/libactuator_ov12830.so
vendor/lib/libchromatix_imx132_common.so
vendor/lib/libwvm.so
vendor/lib/libchromatix_imx226_preview.so
vendor/lib/libchromatix_ov2720_preview.so
vendor/lib/libchromatix_imx225_video_hdr.so
vendor/lib/libqmiservices.so
vendor/lib/libmmcamera_ofilm_oty5f03_eeprom.so
vendor/lib/libqmi_encdec.so
vendor/lib/libchromatix_imx225_hfr_120.so
vendor/lib/libmmcamera_x4_s5k3m2_eeprom.so
vendor/lib/libchromatix_ov8865_q8v18a_common.so
vendor/lib/libxml.so
vendor/lib/libchromatix_ov2720_zsl.so
vendor/lib/libmmcamera_ov8825.so
vendor/lib/libchromatix_imx135_default_video.so
vendor/lib/libactuator_ak7345_camera.so
vendor/lib/libchromatix_imx132_liveshot.so
vendor/lib/lib-rtpcore.so
vendor/lib/libchromatix_imx135_snapshot.so
vendor/lib/libchromatix_s5k3l1yx_common.so
vendor/lib/libqdi.so
vendor/lib/libidl.so
vendor/lib/libactuator_dw9714_camcorder.so
vendor/lib/libchromatix_imx224_default_video.so
vendor/lib/libmmcamera_sp1628.so
vendor/lib/libchromatix_imx135_video_hd.so
vendor/lib/libchromatix_ov8865_q8v18a_hfr_60fps.so
vendor/firmware/keymaster/keymaster.b01
vendor/firmware/keymaster/keymaster.b02
vendor/firmware/keymaster/keymaster.b00
vendor/firmware/keymaster/keymaster.b03
vendor/firmware/keymaster/keymaster.mdt
vendor/firmware/bcm2079x-b5_pre_firmware.ncd
vendor/firmware/bcm2079x-b5_firmware.ncd
app/shutdownlistener.apk
app/fastdormancy.apk
app/TimeService.apk
../sbin/e2fsck_static
../sbin/chargeonlymode


 

(2) CyanogenMod 13.0 系統中能找到的文件 (及正確文件位置 該腳本用於 CM 13.0 操作系統直接提取文件)


 

 

CyanogenMod 13.0 系統中能找到的文件 : CM 13.0 系統中有 496 個文件, 其中 9 個設備文件找不到, 13 個文件的路徑已經修改為正確的路徑

-- 開啟 root 模式 : 使用 adb root 命令, 獲取 adb shell 中的 root 權限, 可以獲取到絕大多數文件;

-- 注意路徑錯誤問題 : 腳本中的前 13 個路徑不正確, 該腳本下載完之後, 需要手動修改文件的路徑;

-- 修改路徑原理 (舉個栗子) 很重要 : 腳本中原來的路徑是app/shutdownlistener.apk 即指向手機中的/system/app/shutdownlistener.apk, 使用該路徑是 pull 不下來的, 但是手機中實際的該文件的路徑是 /system/app/shutdownlistener/shutdownlistener.apk, 使用該實際路徑可以 pull 下來, 但是放到了~/android/system/vendor/xiaomi/cancro/proprietary/app/shutdownlistener/shutdownlistener.apk 中, 這樣編譯通不過, 編譯腳本會到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中去找shutdownlistener.apk 文件, 因此我們要將shutdownlistener.apk 文件拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中;

-- 路徑修改記錄 : 腳本路徑 -> 手機文件所在的真實路徑;

 

CyanogenMod : 
app/shutdownlistener.apk -> app/shutdownlistener/shutdownlistener.apk
app/TimeService.apk -> app/TimeService/TimeService.apk
priv-app/qcrilmsgtunnel.apk -> priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk

lib/hw/camera.msm8974.so -> ./vendor/lib/hw/camera.msm8974.so
lib/libdrmdecrypt.so -> ./vendor/lib/libdrmdecrypt.so
lib/libDiracAPI_SHARED.so -> ./vendor/lib/libDiracAPI_SHARED.so
lib/soundfx/libdirac.so -> ./vendor/lib/soundfx/libdirac.so

vendor/lib/rfsa/adsp/libdspCV_skel.so -> ./lib/rfsa/adsp/libdspCV_skel.so
vendor/lib/rfsa/adsp/libapps_mem_heap.so -> ./lib/rfsa/adsp/libapps_mem_heap.so
vendor/lib/rfsa/adsp/libfastcvadsp.so -> ./lib/rfsa/adsp/libfastcvadsp.so
vendor/lib/rfsa/adsp/libfastcvadsp_skel.so -> ./lib/rfsa/adsp/libfastcvadsp_skel.so
vendor/lib/rfsa/adsp/libscveT2T_skel.so	-> ./lib/rfsa/adsp/libscveT2T_skel.so
vendor/lib/libQSEEComAPI.so -> ./lib/libQSEEComAPI.so


 

-- 提取文件清單 :

 

app/shutdownlistener/shutdownlistener.apk
app/TimeService/TimeService.apk
priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk

vendor/lib/hw/camera.msm8974.so
vendor/lib/libdrmdecrypt.so
vendor/lib/libDiracAPI_SHARED.so
vendor/lib/soundfx/libdirac.so

lib/rfsa/adsp/libdspCV_skel.so
lib/rfsa/adsp/libapps_mem_heap.so
lib/rfsa/adsp/libfastcvadsp.so
lib/rfsa/adsp/libfastcvadsp_skel.so
lib/rfsa/adsp/libscveT2T_skel.so
lib/libQSEEComAPI.so

../sbin/e2fsck_static
../sbin/chargeonlymode
bin/rmt_storage
bin/time_daemon
bin/sensors.qcom
bin/hvdcp
bin/mm-qcamera-daemon
bin/lowi-server
bin/qseecomd
bin/xtwifi-client
bin/charger_monitor
bin/xtwifi-inet-agent
bin/btnvtool
bin/wcnss_filter
bin/quipc_main
bin/quipc_igsn
bin/mpdecision
bin/fm_qsoc_patches
bin/netmgrd
bin/rfs_access
bin/wcnss_service
bin/qosmgr
bin/adsprpcd
etc/sdm_200_HOG3x3_Grid3x3_bin5_noproj_zero_reduced.bin.pca
etc/android_model_faceg.dat
etc/permissions/android.hardware.consumerir.xml
etc/permissions/qcrilhook.xml
etc/permissions/qcnvitems.xml
etc/android_model_facea.dat
etc/firmware/wcnss.b08
etc/firmware/wcnss.b06
etc/firmware/wcnss.mdt
etc/firmware/wcnss.b09
etc/firmware/a330_pm4.fw
etc/firmware/wcnss.b07
etc/firmware/wcnss.b00
etc/firmware/venus.b04
etc/firmware/a330_pfp.fw
etc/firmware/venus.b02
etc/firmware/wcnss.b02
etc/firmware/venus.mdt
etc/firmware/wcnss.b04
etc/firmware/cpp_firmware_v1_2_0.fw
etc/firmware/cpp_firmware_v1_1_6.fw
etc/firmware/cpp_firmware_v1_1_1.fw
etc/firmware/venus.b00
etc/firmware/venus.b01
etc/firmware/venus.mbn
etc/firmware/wcnss.b01
etc/firmware/venus.b03
etc/sensor_def_qcomdev.conf
etc/data/dsi_config.xml
etc/data/netmgr_config.xml
etc/data/qmi_config.xml
etc/sdm_200_HOG3x3_Grid3x3_bin5_noproj_zero_reduced.bin
lib/libdrmfs.so
lib/libdrmdiag.so
lib/libqomx_core.so
lib/libchromatix_imx226_liveshot.so
lib/hw/activity_recognition.msm8974.so
lib/hw/gps.msm8974.so
lib/hw/consumerir.msm8974.so
lib/libchromatix_imx214_liveshot.so
lib/libqminvapi.so
lib/libchromatix_imx219_liveshot.so
lib/libchromatix_imx224_liveshot.so
lib/libc2dcolorconvert.so
lib/libchromatix_imx135_liveshot.so
lib/libmmjpeg_interface.so
lib/libloc_core.so
lib/libloc_eng.so
lib/libloc_ds_api.so
lib/libchromatix_s5k3m2_liveshot.so
lib/libgps.utils.so
lib/libdrmtime.so
lib/libmmcamera_interface.so
lib/libstm-log.so
lib/libloc_api_v02.so
lib/libchromatix_imx225_liveshot.so
lib/librpmb.so
lib/libmdmdetect.so
lib/drm/libdrmwvmplugin.so
lib/libQSEEComAPI.so
lib/libchromatix_imx215_liveshot.so
lib/libOmxVenc.so
lib/libRecoFace.so
lib/libssd.so
framework/qti-telephony-common.jar
framework/qcnvitems.jar
framework/qcrilhook.jar
bin/irsc_util
bin/qmuxd
bin/radish
vendor/lib/libadreno_utils.so
vendor/lib/libmmcamera2_vpe_module.so
vendor/lib/libTimeService.so
vendor/lib/libchromatix_imx132_default_video.so
vendor/lib/libchromatix_imx215_preview.so
vendor/lib/libchromatix_s5k3l1yx_hfr_120fps.so
vendor/lib/libchromatix_imx226_common.so
vendor/lib/libmmcamera2_cpp_module.so
vendor/lib/libchromatix_s5k3m2_video_uhd.so
vendor/lib/libmmcamera_hi256.so
vendor/lib/libchromatix_s5k3m2_snapshot_hdr.so
vendor/lib/libmm-hdcpmgr.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_zsl.so
vendor/lib/libchromatix_imx225_snapshot.so
vendor/lib/libfastcvopt.so
vendor/lib/libmmcamera_SKUAA_ST_gc0339.so
vendor/lib/libchromatix_ov5648_oty5f03_common.so
vendor/lib/libmmcamera2_frame_algorithm.so
vendor/lib/libquipc_os_api.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_default_video.so
vendor/lib/libchromatix_ov8825_liveshot_hd.so
vendor/lib/libcneapiclient.so
vendor/lib/libchromatix_s5k3l1yx_hfr_90fps.so
vendor/lib/libchromatix_ov5648_oty5f03_snapshot.so
vendor/lib/libchromatix_imx224_snapshot_w.so
vendor/lib/libjpegdhw.so
vendor/lib/libacdbloader.so
vendor/lib/libchromatix_ov9724_preview.so
vendor/lib/libFaceProc.so
vendor/lib/libchromatix_imx224_hfr_120.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_video_hd.so
vendor/lib/libmm-abl.so
vendor/lib/libchromatix_imx214_snapshot_w.so
vendor/lib/libactuator_rohm_bu64243gwz_camcorder.so
vendor/lib/libmmcamera_sunny_p12v01m_eeprom.so
vendor/lib/libchromatix_s5k3l1yx_liveshot.so
vendor/lib/libc2d30-a4xx.so
vendor/lib/libsrsprocessing.so
vendor/lib/libqct_resampler.so
vendor/lib/libactuator_ov8825_camcorder.so
vendor/lib/libchromatix_ov8825_preview.so
vendor/lib/libchromatix_ov2720_default_video.so
vendor/lib/libchromatix_imx215_video_hdr_uhd.so
vendor/lib/libactuator_bu6313_camcorder.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_video_hd.so
vendor/lib/libactuator_dw9716_camera.so
vendor/lib/libchromatix_ov8825_snapshot_hd.so
vendor/lib/hw/sensors.msm8974.so
vendor/lib/hw/flp.default.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_hfr_60fps.so
vendor/lib/libmmcamera_imx135.so
vendor/lib/libchromatix_imx226_snapshot_hdr.so
vendor/lib/libchromatix_imx215_snapshot_w.so
vendor/lib/libWVStreamControlAPI_L1.so
vendor/lib/libacdbrtac.so
vendor/lib/mediadrm/libdrmclearkeyplugin.so
vendor/lib/mediadrm/libwvdrmengine.so
vendor/lib/libmmcamera_imx219.so
vendor/lib/libRSDriver_adreno.so
vendor/lib/libactuator_ad5823_camera.so
vendor/lib/libchromatix_ov8825_snapshot.so
vendor/lib/libdiag.so
vendor/lib/libactuator_iu074_camera.so
vendor/lib/libchromatix_ov4688_preview.so
vendor/lib/libC2D2.so
vendor/lib/libchromatix_imx215_snapshot_hdr.so
vendor/lib/libchromatix_ov8865_q8v18a_zsl.so
vendor/lib/libchromatix_imx214_snapshot.so
vendor/lib/libacdbmapper.so
vendor/lib/libchromatix_ov8865_q8v18a_video_hd.so
vendor/lib/libchromatix_imx134_preview.so
vendor/lib/libchromatix_ov5648_oty5f03_default_video.so
vendor/lib/libsmemlog.so
vendor/lib/liboemcamera.so
vendor/lib/libchromatix_imx134_snapshot.so
vendor/lib/libchromatix_imx224_video_uhd.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_common.so
vendor/lib/libchromatix_imx215_video_hdr.so
vendor/lib/libchromatix_imx132_preview.so
vendor/lib/libqcci_legacy.so
vendor/lib/libactuator_dw9716.so
vendor/lib/libchromatix_imx225_common.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_hfr_90fps.so
vendor/lib/libchromatix_imx214_snapshot_hdr.so
vendor/lib/libchromatix_imx135_hfr_60.so
vendor/lib/libxtwifi_ulp_adaptor.so
vendor/lib/libchromatix_ov5648_oty5f03_zsl.so
vendor/lib/libchromatix_SKUAA_ST_gc0339_default_video.so
vendor/lib/libchromatix_ov8865_q8v18a_liveshot.so
vendor/lib/lib-dplmedia.so
vendor/lib/libchromatix_ov5648_oty5f03_preview.so
vendor/lib/libtime_genoff.so
vendor/lib/libmmcamera_imx226.so
vendor/lib/liblocationservice.so
vendor/lib/libactuator_ov12830_camera.so
vendor/lib/libchromatix_ov8825_hfr_60fps.so
vendor/lib/libchromatix_imx224_snapshot_hdr.so
vendor/lib/libmmcamera_skuf_ov12830_p12v01c.so
vendor/lib/libgeofence.so
vendor/lib/libasn1crtx.so
vendor/lib/librs_adreno_sha1.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_common.so
vendor/lib/libmmcamera_ubifocus_lib.so
vendor/lib/libdrmdecrypt.so
vendor/lib/libchromatix_ov8865_q8v18a_default_video.so
vendor/lib/libmmcamera2_iface_modules.so
vendor/lib/libmmcamera_ov9724.so
vendor/lib/libchromatix_imx214_video_hdr.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_snapshot.so
vendor/lib/libchromatix_imx215_default_video.so
vendor/lib/libactuator_ak7345.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_snapshot.so
vendor/lib/libchromatix_ov8825_preview_hd.so
vendor/lib/libchromatix_imx224_snapshot.so
vendor/lib/libmmcamera_x5_imx214_eeprom.so
vendor/lib/libmmcamera_chromaflash_lib.so
vendor/lib/libchromatix_imx224_common.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_default_video.so
vendor/lib/liblbs_core.so
vendor/lib/libchromatix_s5k3m2_video_hdr.so
vendor/lib/libchromatix_imx219_common.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_snapshot.so
vendor/lib/libchromatix_imx226_video_hdr.so
vendor/lib/libmmcamera_ov2720.so
vendor/lib/libchromatix_imx226_snapshot_w.so
vendor/lib/libqmi.so
vendor/lib/libchromatix_imx214_video_uhd.so
vendor/lib/libqmi_csvt_srvc.so
vendor/lib/libchromatix_imx225_video_uhd.so
vendor/lib/libchromatix_s5k3l1yx_default_video.so
vendor/lib/libchromatix_ov8865_q8v18a_hfr_120fps.so
vendor/lib/libCB.so
vendor/lib/libchromatix_imx214_preview.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_default_video.so
vendor/lib/libSHIMDivxDrm.so
vendor/lib/libactuator_ov8825_camera.so
vendor/lib/libchromatix_ov4688_zsl.so
vendor/lib/libchromatix_SKUAA_ST_gc0339_common.so
vendor/lib/libmmcamera2_sensor_modules.so
vendor/lib/libaudioalsa.so
vendor/lib/libchromatix_imx214_video_hdr_uhd.so
vendor/lib/libchromatix_imx214_common.so
vendor/lib/librs_adreno.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_default_video.so
vendor/lib/libchromatix_imx134_hfr_60.so
vendor/lib/libulp2.so
vendor/lib/libchromatix_imx224_video_hdr.so
vendor/lib/libril-qc-qmi-1.so
vendor/lib/libmmcamera_truly_cm7700_eeprom.so
vendor/lib/libchromatix_s5k3m2_hfr_120fps.so
vendor/lib/libNimsWrap.so
vendor/lib/libchromatix_ov4689_preview.so
vendor/lib/libbccQTI.so
vendor/lib/libmmcamera_tintless_bg_pca_algo.so
vendor/lib/libqomx_jpegenc.so
vendor/lib/libbtnv.so
vendor/lib/libchromatix_imx219_default_video.so
vendor/lib/libmmcamera2_is.so
vendor/lib/libactuator_ad5823.so
vendor/lib/libgsl.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_snapshot.so
vendor/lib/libmmcamera_SKUAB_ST_s5k4e1.so
vendor/lib/libmmqjpeg_codec.so
vendor/lib/libchromatix_s5k3l1yx_video_hd.so
vendor/lib/libactuator_rohm_bu64243gwz_camera.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_hfr_120fps.so
vendor/lib/libchromatix_s5k3m2_snapshot_w.so
vendor/lib/libchromatix_ov8825_video_hd.so
vendor/lib/libchromatix_imx135_preview.so
vendor/lib/libarcsoft_beauty_shot.so
vendor/lib/libmmcamera_ov4688.so
vendor/lib/libactuator_bu6313_camera.so
vendor/lib/libchromatix_s5k3l1yx_zsl.so
vendor/lib/libsensor_test.so
vendor/lib/libmmcamera2_q3a_special.so
vendor/lib/libmmcamera_ov4689.so
vendor/lib/libchromatix_ov4689_common.so
vendor/lib/libqti-perfd-client.so
vendor/lib/lib-rtpsl.so
vendor/lib/libmmcamera_imx225.so
vendor/lib/libchromatix_ov8825_common.so
vendor/lib/libmmcamera2_stats_algorithm.so
vendor/lib/libchromatix_imx134_hfr_120.so
vendor/lib/lib-rtpdaemoninterface.so
vendor/lib/libactuator_bu6313.so
vendor/lib/libchromatix_ov4689_zsl.so
vendor/lib/libOpenCL.so
vendor/lib/libmmcamera_imx224.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_common.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_liveshot.so
vendor/lib/libsensor_reg.so
vendor/lib/libasn1crt.so
vendor/lib/libmmcamera2_pproc_modules.so
vendor/lib/libt2tmanager.so
vendor/lib/libchromatix_imx225_preview.so
vendor/lib/libchromatix_s5k3m2_preview.so
vendor/lib/libactuator_iu074.so
vendor/lib/libchromatix_SKUAA_ST_gc0339_preview.so
vendor/lib/libchromatix_imx132_snapshot.so
vendor/lib/libchromatix_ov8865_q8v18a_preview.so
vendor/lib/libchromaflash.so
vendor/lib/libjpegehw.so
vendor/lib/libqmi_client_qmux.so
vendor/lib/libfastcvadsp_stub.so
vendor/lib/libc2d30-a3xx.so
vendor/lib/soundfx/libqcbassboost.so
vendor/lib/soundfx/libqcreverb.so
vendor/lib/soundfx/libqcvirt.so
vendor/lib/libchromatix_imx224_video_hdr_uhd.so
vendor/lib/libmmipl.so
vendor/lib/libqmi_common_so.so
vendor/lib/libmm-abl-oem.so
vendor/lib/libchromatix_s5k3m2_default_video.so
vendor/lib/libchromatix_ov9724_default_video.so
vendor/lib/libmmQSM.so
vendor/lib/libchromatix_imx225_video_hdr_uhd.so
vendor/lib/libactuator_ad5823_camcorder.so
vendor/lib/libWVphoneAPI.so
vendor/lib/libaudcal.so
vendor/lib/libchromatix_imx219_snapshot.so
vendor/lib/libmmcamera_skuab_shinetech_gc0339.so
vendor/lib/libizat_core.so
vendor/lib/libactuator_rohm_bu64243gwz.so
vendor/lib/libdsutils.so
vendor/lib/libchromatix_imx215_hfr_120.so
vendor/lib/libchromatix_imx226_hfr_120.so
vendor/lib/libactuator_ak7345_camcorder.so
vendor/lib/libchromatix_ov2720_liveshot.so
vendor/lib/libwvdrm_L1.so
vendor/lib/libactuator_lc8214_camera.so
vendor/lib/libmmcamera2_wnr_module.so
vendor/lib/libmmcamera_imglib.so
vendor/lib/libquipc_ulp_adapter.so
vendor/lib/libmmcamera_faceproc.so
vendor/lib/libchromatix_ov4688_hfr.so
vendor/lib/libasn1cper.so
vendor/lib/libchromatix_imx214_hfr_120.so
vendor/lib/libmmcamera_s5k3m2.so
vendor/lib/libchromatix_ov9724_liveshot.so
vendor/lib/libmmjpeg.so
vendor/lib/libchromatix_imx214_default_video.so
vendor/lib/libmmcamera2_stats_modules.so
vendor/lib/libnetmgr.so
vendor/lib/libchromatix_imx219_preview.so
vendor/lib/libmmcamera_sunny_q8v18a_eeprom.so
vendor/lib/libscve.so
vendor/lib/libchromatix_ov8825_default_video.so
vendor/lib/libchromatix_ov2720_hfr.so
vendor/lib/libchromatix_ov4688_liveshot.so
vendor/lib/libmmcamera2_c2d_module.so
vendor/lib/libactuator_lc8214_camcorder.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_liveshot.so
vendor/lib/libchromatix_s5k3l1yx_preview.so
vendor/lib/libmmcamera_sunny_p5v23c_eeprom.so
vendor/lib/libI420colorconvert.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_preview.so
vendor/lib/libsensor_user_cal.so
vendor/lib/libDivxDrm.so
vendor/lib/libchromatix_ov4688_common.so
vendor/lib/libchromatix_imx225_default_video.so
vendor/lib/libqdp.so
vendor/lib/libchromatix_ov8825_hfr_120fps.so
vendor/lib/libchromatix_imx226_video_hdr_uhd.so
vendor/lib/libHevcSwDecoder.so
vendor/lib/libchromatix_ov2720_common.so
vendor/lib/libchromatix_ov4689_hfr.so
vendor/lib/libchromatix_ov9724_common.so
vendor/lib/libmmcamera_wavelet_lib.so
vendor/lib/libchromatix_imx226_default_video.so
vendor/lib/libmmcamera_mt9m114.so
vendor/lib/libchromatix_ov8825_hfr_90fps.so
vendor/lib/libqmi_cci.so
vendor/lib/libchromatix_imx224_preview.so
vendor/lib/libchromatix_imx225_snapshot_hdr.so
vendor/lib/libchromatix_skuab_shinetech_gc0339_zsl.so
vendor/lib/libscve_stub.so
vendor/lib/libactuator_dw9714_camera.so
vendor/lib/libchromatix_imx215_snapshot.so
vendor/lib/egl/eglsubAndroid.so
vendor/lib/egl/libq3dtools_adreno.so
vendor/lib/egl/libEGL_adreno.so
vendor/lib/egl/libGLESv1_CM_adreno.so
vendor/lib/egl/libGLESv2_adreno.so
vendor/lib/libmmosal.so
vendor/lib/libsc-a2xx.so
vendor/lib/libchromatix_s5k3l1yx_hfr_60fps.so
vendor/lib/libconfigdb.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_zsl.so
vendor/lib/libmmcamera_imx214.so
vendor/lib/libmmcamera2_imglib_modules.so
vendor/lib/libchromatix_ov8825_zsl.so
vendor/lib/libchromatix_imx215_video_uhd.so
vendor/lib/libactuator_ov12830_camcorder.so
vendor/lib/libchromatix_ov4689_default_video.so
vendor/lib/libmmcamera_ov5648_oty5f03.so
vendor/lib/libsystem_health_mon.so
vendor/lib/libqmi_csi.so
vendor/lib/libxtadapter.so
vendor/lib/libchromatix_imx226_snapshot.so
vendor/lib/libmmcamera_imx134.so
vendor/lib/libmmcamera2_isp_modules.so
vendor/lib/libchromatix_skuf_ov12830_p12v01c_preview.so
vendor/lib/libmmcamera_tintless_algo.so
vendor/lib/libmmcamera_imx132.so
vendor/lib/libchromatix_skuf_ov5648_p5v23c_preview.so
vendor/lib/libchromatix_s5k3m2_common.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_common.so
vendor/lib/libchromatix_imx135_hfr_90.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_hfr_90fps.so
vendor/lib/libxtwifi_zpp_adaptor.so
vendor/lib/libchromatix_s5k3l1yx_snapshot.so
vendor/lib/libmm-color-convertor.so
vendor/lib/libactuator_lc8214.so
vendor/lib/libmmcamera_hdr_gb_lib.so
vendor/lib/lib-rtpcommon.so
vendor/lib/libchromatix_ov8865_q8v18a_snapshot.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_hfr_60fps.so
vendor/lib/libperipheral_client.so
vendor/lib/libsc-a3xx.so
vendor/lib/libchromatix_ov4688_default_video.so
vendor/lib/libchromatix_imx135_common.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_hfr_120fps.so
vendor/lib/libchromatix_ov8825_liveshot.so
vendor/lib/libmmcamera_skuf_ov5648_p5v23c.so
vendor/lib/libactuator_dw9716_camcorder.so
vendor/lib/libmmcamera_ov8865_q8v18a.so
vendor/lib/libchromatix_s5k3m2_snapshot.so
vendor/lib/libmmcamera_s5k3l1yx.so
vendor/lib/libchromatix_SKUAB_ST_s5k4e1_preview.so
vendor/lib/libmmcamera_hdr_lib.so
vendor/lib/libqomx_jpegdec.so
vendor/lib/libchromatix_imx134_common.so
vendor/lib/libchromatix_imx215_common.so
vendor/lib/liboemcrypto.so
vendor/lib/libmmcamera_imx215.so
vendor/lib/libsensor1.so
vendor/lib/libllvm-qcom.so
vendor/lib/libactuator_iu074_camcorder.so
vendor/lib/libchromatix_ov4689_liveshot.so
vendor/lib/libchromatix_imx134_default_video.so
vendor/lib/libadsprpc.so
vendor/lib/libchromatix_imx225_snapshot_w.so
vendor/lib/libril-qcril-hook-oem.so
vendor/lib/libdsi_netctrl.so
vendor/lib/libscale.so
vendor/lib/libchromatix_s5k3m2_video_hdr_uhd.so
vendor/lib/libchromatix_imx135_hfr_120.so
vendor/lib/libadiertac.so
vendor/lib/libactuator_ov8825.so
vendor/lib/libchromatix_imx226_video_uhd.so
vendor/lib/libactuator_dw9714.so
vendor/lib/libdisp-aba.so
vendor/lib/libAKM8963.so
vendor/lib/libchromatix_ov8865_q8v18a_hfr_90fps.so
vendor/lib/libwifiscanner.so
vendor/lib/libactuator_ov12830.so
vendor/lib/libchromatix_imx132_common.so
vendor/lib/libwvm.so
vendor/lib/libchromatix_imx226_preview.so
vendor/lib/libchromatix_ov2720_preview.so
vendor/lib/libchromatix_imx225_video_hdr.so
vendor/lib/libqmiservices.so
vendor/lib/libmmcamera_ofilm_oty5f03_eeprom.so
vendor/lib/libqmi_encdec.so
vendor/lib/libchromatix_imx225_hfr_120.so
vendor/lib/libmmcamera_x4_s5k3m2_eeprom.so
vendor/lib/libchromatix_ov8865_q8v18a_common.so
vendor/lib/libxml.so
vendor/lib/libchromatix_ov2720_zsl.so
vendor/lib/libmmcamera_ov8825.so
vendor/lib/libchromatix_imx135_default_video.so
vendor/lib/libactuator_ak7345_camera.so
vendor/lib/libchromatix_imx132_liveshot.so
vendor/lib/lib-rtpcore.so
vendor/lib/libchromatix_imx135_snapshot.so
vendor/lib/libchromatix_s5k3l1yx_common.so
vendor/lib/libqdi.so
vendor/lib/libidl.so
vendor/lib/libactuator_dw9714_camcorder.so
vendor/lib/libchromatix_imx224_default_video.so
vendor/lib/libmmcamera_sp1628.so
vendor/lib/libchromatix_imx135_video_hd.so
vendor/lib/libchromatix_ov8865_q8v18a_hfr_60fps.so
vendor/firmware/keymaster/keymaster.b01
vendor/firmware/keymaster/keymaster.b02
vendor/firmware/keymaster/keymaster.b00
vendor/firmware/keymaster/keymaster.b03
vendor/firmware/keymaster/keymaster.mdt
vendor/firmware/bcm2079x-b5_pre_firmware.ncd
vendor/firmware/bcm2079x-b5_firmware.ncd


 

 

(3) MIUI 中單獨提取的 4 個文件


 

MIUI 7 系統提取的文件 : 首先刷上 MIUI7 系統;

-- 需要提取的文件路徑 : 格式 編譯路徑 -> 真實路徑地址;

 

MIUI : 
app/fastdormancy.apk -> /system/app/fastdormancy/fastdormancy.apk
lib/libOmxVdecHevc.so -> /system/lib/libOmxVdecHevc.so
lib/libmm-omxcore.so -> /system/lib/libmm-omxcore.so
vendor/lib/libubifocus.so -> /system/vendor/lib/libubifocus.so


 

-- 提取文件方法 : 這裡就不使用腳本提取了, 直接使用 adb pull 命令提取指定文件, 提取文件後, 拷貝到指定的目錄, 下面是詳細的路徑和過程;

-- 1. 提取 fastdormancy.apk文件 : 使用 adb pull/system/app/fastdormancy/fastdormancy.apk 命令, 獲取該文件, 然後拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/app 目錄中;

-- 2. 提取 libOmxVdecHevc.so文件 : 使用 adb pull/system/lib/libOmxVdecHevc.so 命令, 獲取該文件, 然後拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/lib目錄中;

-- 3. 提取libmm-omxcore.so文件 : 使用 adb pull/system/lib/libmm-omxcore.so命令, 獲取該文件, 然後拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/lib目錄中;

-- 4. 提取libubifocus.so文件 : 使用 adb pull/system/vendor/lib/libubifocus.so命令, 獲取該文件, 然後拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/vendor/lib目錄中;

 

 

(4) 對於需要修改路徑的 17 個文件特殊說明


 

 

路徑修改特殊說明 :

 

--注意路徑錯誤問題: 腳本中的前 13 個路徑不正確, 該腳本下載完之後, 需要手動修改文件的路徑;

--修改路徑原理 (舉個栗子) 很重要: 腳本中原來的路徑是app/shutdownlistener.apk 即指向手機中的/system/app/shutdownlistener.apk, 使用該路徑是 pull 不下來的, 但是手機中實際的該文件的路徑是 /system/app/shutdownlistener/shutdownlistener.apk, 使用該實際路徑可以 pull 下來, 但是放到了~/android/system/vendor/xiaomi/cancro/proprietary/app/shutdownlistener/shutdownlistener.apk 中, 這樣編譯通不過, 編譯腳本會到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中去找shutdownlistener.apk 文件, 因此我們要將shutdownlistener.apk 文件拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中;

-- 修改過路徑的文件列表 :

 

CyanogenMod : 
app/shutdownlistener.apk -> app/shutdownlistener/shutdownlistener.apk
app/TimeService.apk -> app/TimeService/TimeService.apk
priv-app/qcrilmsgtunnel.apk -> priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk

lib/hw/camera.msm8974.so -> ./vendor/lib/hw/camera.msm8974.so
lib/libdrmdecrypt.so -> ./vendor/lib/libdrmdecrypt.so
lib/libDiracAPI_SHARED.so -> ./vendor/lib/libDiracAPI_SHARED.so
lib/soundfx/libdirac.so -> ./vendor/lib/soundfx/libdirac.so

vendor/lib/rfsa/adsp/libdspCV_skel.so -> ./lib/rfsa/adsp/libdspCV_skel.so
vendor/lib/rfsa/adsp/libapps_mem_heap.so -> ./lib/rfsa/adsp/libapps_mem_heap.so
vendor/lib/rfsa/adsp/libfastcvadsp.so -> ./lib/rfsa/adsp/libfastcvadsp.so
vendor/lib/rfsa/adsp/libfastcvadsp_skel.so -> ./lib/rfsa/adsp/libfastcvadsp_skel.so
vendor/lib/rfsa/adsp/libscveT2T_skel.so	-> ./lib/rfsa/adsp/libscveT2T_skel.so
vendor/lib/libQSEEComAPI.so -> ./lib/libQSEEComAPI.so


MIUI : 
app/fastdormancy.apk -> /system/app/fastdormancy/fastdormancy.apk
lib/libOmxVdecHevc.so -> /system/lib/libOmxVdecHevc.so
lib/libmm-omxcore.so -> /system/lib/libmm-omxcore.so
vendor/lib/libubifocus.so -> /system/vendor/lib/libubifocus.so


 

-- 說明 : 設備列表中 有 17 個文件的路徑是錯誤的, 我們從設備復制到 ~/android/system/vender/ 是按照原路徑復制的, 但是編譯系統不認, 必須將文件手動復制到錯誤的路徑;

 

 

(5) 無法找到的文件


 

 

以下 5 個文件不管在 CM 上 還是在 MIUI 上都無法找到 :

 

vendor/lib/libFaceDeform.so
vendor/lib/libdrmdecrypt.2.so
vendor/lib/libc2d30.so
etc/lut.dat
vendor/lib/liboptizoom.so


 

3. 直接從 ROM 中提取 (可不看, 我沒有使用這種方法, 提供參考)


 

 

 

 

直接從 ROM 提取流程參考 :

-- 1.將數據轉為 img :

 

root@ubuntu:~/android_back/rom# ./sdat2img.py system.transfer.list system.new.dat system.img
Copying 32770 blocks into position 0...
Copying 2 blocks into position 32809...
Copying 32212 blocks into position 33323...
Copying 2 blocks into position 65536...
Copying 32253 blocks into position 66050...
Copying 2 blocks into position 98304...
Copying 2 blocks into position 98345...
Copying 32212 blocks into position 98859...
Copying 2 blocks into position 131072...
Copying 28176 blocks into position 131586...
Skipping command zero
Skipping command erase

Done! Output image: /root/android_back/rom/system.img

 

-- 2. 創建 system 目錄 : 執行 mkdir system 命令;

-- 3. 將 img 掛載到 system 目錄中 : 執行sudo mount -t ext4 system.img system 命令;

-- 4. 可以查看 system 中的文件 :

 

root@ubuntu:~/android_back/rom/system# ls
addon.d  app  bin  build.prop  etc  fonts  framework  lib  lost+found  media  priv-app  recovery-from-boot.p  tts  usr  vendor  xbin
root@ubuntu:~/android_back/rom/system# 

 

\

 

 

 

六. CyanogenMod 13.0 Android 源碼編譯

 

 

 

 

 

 

1. 開啟緩存 開始編譯

 

 

 

(1) 設置環境變量


 

開始編譯加速 :

-- 添加緩存環境變量 : 你可以在 ~/.bashrc 環境變量文件中 添加 export USE_CCACHE=1環境變量, 加速隨後的編譯過程;

-- 分配緩存磁盤大小 : 為 ccache 指定磁盤中的一部分大小, 用於緩存, 使用prebuilts/misc/linux-x86/ccache/ccache -M 50G 命令;

-- 命令執行位置 : 注意在 Android 源碼根目錄執行 prebuilts/misc/linux-x86/ccache/ccache -M 50G命令;

 

root@ubuntu:~/android/system# prebuilts/misc/linux-x86/ccache/ccache -M 50G
Set cache size limit to 50.0 Gbytes


 

 

 

 

(2) 開始編譯


執行下面兩條命令開始編譯:

--1. 初始化環境: 執行croot命令, 該命令作用是先初始化環境變量, 後進入 ~/android/system 目錄;

--2. 開始編譯: 執行brunch cancro命令, 開始編譯源碼;

-- 3. 編譯完成 : 中間太費勁了, 許多波折, 花了好幾天用來研究, 終於還是編譯通過了, 截個圖紀念下;

\

-- 編譯成功後的輸出 :

 

using prebuilt boot.img from BOOTABLE_IMAGES...
   boot size (10211328) is 62.33% of limit (16384000)
  running:  openssl pkcs8 -in build/target/product/security/testkey.pk8 -inform DER -nocrypt
  running:  java -Xmx2048m -jar /root/android/system/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmp2PeuRT /root/android/system/out/target/product/cancro/cm_cancro-ota-89a867549b.zip
done.
Package Complete: /root/android/system/out/target/product/cancro/cm-13.0-20160613-UNOFFICIAL-cancro.zip
make: Leaving directory `/root/android/system'

#### make completed successfully (02:44:37 (hh:mm:ss)) ####


 

 

(3) 編譯緩存簡介


 

 

編譯緩存簡介 :

-- 單位對應 : 50G 對應著 50GB 的緩存;

-- 一次執行有效 : 該命令只要運行一次即可, 該設置會被保存到本地磁盤, 不用重復設置;

-- 效果明顯 : 25G ~ 100G 范圍內的任何緩存值都會很明顯的加速編譯過程, 如傳統的 1hr 編譯時間可以被減少到 20 分鐘;

-- 單台設備編譯推薦 : 如果只為一台設備編譯, 20 ~ 50G 即可;

-- 多台設備編譯推薦 : 如果為 多種 設備編譯, 並且這些設備不共享內核源碼, 需要設置 75 ~ 100GB 的緩存;

-- 注意緩存控件時效 : 該配置的緩存控件會被永久的占用, 這個需要被考慮進去;

-- 更多關於 ccache 的知識點 : http://source.android.com/source/initializing.html#setting-up-ccache;

 

 

(4) 保持 ccache 獨立性簡介


 

保存 ccache 獨立性 :

-- 保持 ccache 獨立性需求 : 如果你是一個非常活躍的開發者, 不只是在 Android 工程方面工作, 你可能想要保持 Android ccache 的獨立性;

-- 原因 : 因為該 ccache 很大, 可能會影響其它工程的 ccache;

-- 通過環境變量設置緩存信息 : 從 CM12.1 開始, 可以通過環境變量指定 CyanogenMod 的 ccache 的位置和大小, 語法如下 :

 

export ANDROID_CCACHE_DIR="$HOME/android/.ccache"
export ANDROID_CCACHE_SIZE="50G"


 

 

 

 

 

2. 常見編譯錯誤

 

 

 

(1) 編譯不執行錯誤


 

 

編譯無法執行錯誤 :

-- 1. 編譯不執行 : 如果編譯沒有開始 執行 lunch 命令, 從菜單列表中選擇一個設備;

-- 2. 編譯不執行 : 如果上面的操作無效, 執行breakfast 命令, 從列表中選擇;

-- 3. 執行完上面的操作後, 執行make cancro 命令, 應該有效果;

 

 

(2) 命令無法找到錯誤


 

 

命令無法找到 錯誤 :

-- 命令未找到錯誤 : 如果執行 croot, brunch, 或者 lunch命令行報出command not found 錯誤;

-- 解決方案 : 確保你在 ~/android/system 目錄中執行了source build/envsetup.sh 命令;

 

 

 

(3) 編譯內存不足


 

 

內存不足錯誤排除 :

-- 出現沒有足夠內存相關錯誤, 如下 :

 

ERROR: signapk.jar failed: return code 1make: *** [out/target/product/cancro/cm_cancro-ota-eng.root.zip] Error 1

 

 

-- 1. 需要修改的文件 : 找到~/android/system/build/tools/releasetools/common.py 文件;

-- 2. 需要修改的內容 : 找到-Xmx2048m 內容, 將其修改為-Xmx1024m 或者 -Xmx512m;

-- 3. 再次嘗試編譯 : 執行brunch cancro 命令, 再次嘗試編譯過程;

 

-- 虛擬機內存不足 : 如果沒有任何報錯就中斷了, 可能是你編譯用的虛擬機內存不足, 重新為虛擬機分配內存即可;

 

 

 

 

(4) 沒有 Manifest 文件錯誤


 

 

沒有 Manifest 文件錯誤 :

-- 錯誤信息:

 

oot@ubuntu:~/android/system# brunch cancro
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/xiaomi/cancro/cm.mk]]: "vendor/xiaomi/cancro/cancro-vendor.mk" does not exist.  Stop.
Device cancro not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_xiaomi_cancro
Default revision: cm-13.0
Checking branch info
Checking if device/xiaomi/cancro is fetched from android_device_xiaomi_cancro
CyanogenMod/android_device_xiaomi_cancro already fetched to device/xiaomi/cancro
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_xiaomi_cancro
Fetching projects: 100% (1/1), done.  

Repository synced!
Looking for dependencies
Done
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/xiaomi/cancro/cm.mk]]: "vendor/xiaomi/cancro/cancro-vendor.mk" does not exist.  Stop.

** Don't have a product spec for: 'cm_cancro'
** Do you have the right repo manifest?

No such item in brunch menu. Try 'breakfast'

 

-- 錯誤原因: 這是因為沒有提取手機中的配置文件, 就是那 505 個文件, 實際提取 500 個文件就能編譯通過;

-- 處理方案 : 執行提取手機專有文件步驟, 在~/android/system/device/xiaomi/cancro 目錄中執行 ./extract-files.sh 命令, 如果該命令通過沒有錯誤, 那麼編譯就會通過, 注意修改文件路徑問題, 需要用我修改完的 腳本從 CyanogenMod 13.0 系統中提取 (需要提前刷 CM13系統), 然後手動從 MIUI7 中提取那 4 個文件, 將文件路徑修改完畢即可完成文件提取過程, 此時編譯就沒問題了;

 

 

 

 

(5) JDK 版本錯誤


 

 

 

JDK 版本錯誤 :

 

-- 編譯錯誤 : jdk 版本錯誤;

 

You are attempting to build with the incorrect version
of java.
 
Your version is: java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode).
The required version is: "1.7.x"
 
Please follow the machine setup instructions at
    https://source.android.com/source/initializing.html
************************************************************
make: Entering directory `/root/android/system'
build/core/main.mk:181: *** stop.  Stop.
make: Leaving directory `/root/android/system'


-- 重新配置 java 環境變量 : 因為之前已經安裝了 open-jdk-7, 只是環境變量沒有配置, 配置 /etc/profile 環境變量;

 

#export JAVA_HOME=/opt/jdk1.8.0_91
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export GROOVY_HOME=/opt/groovy-2.4.6
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export ANDROID_SDK_HOME=/root/Work/android-sdk-linux
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$GROOVY_HOME/bin:$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/platform-tools:$PATH

 

 

 

 

(6) 文件路徑錯誤No rule to make target `vendor/xiaomi/cancro/proprietary/app/qcrilmsgtunnel.apk'


 

 

 

文件路徑錯誤 :

-- 錯誤信息 :

 

make: *** No rule to make target `vendor/xiaomi/cancro/proprietary/app/qcrilmsgtunnel.apk', needed by `/root/android/system/out/target/product/cancro/obj/APPS/qcrilmsgtunnel_intermediates/package.apk'.  Stop.
make: *** Waiting for unfinished jobs....
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Download: /root/android/system/out/target/common/obj/APPS/Gello_intermediates/org.cyanogenmod.gello-17.apk
Download: /root/android/system/out/target/common/obj/JAVA_LIBRARIES/ambientsdk_intermediates/com.cyngn.ambient.ambientsdk-1.5.11.aar
make: Leaving directory `/root/android/system'

#### make failed to build some targets (15:44 (mm:ss)) ####

 

-- 錯誤原因 : 由於文件路徑不正確, 將文件拷貝到對應位置即可, 將從設備中獲取的~/android/system/vendor/xiaomi/cancro/proprietary/app/qcrilmsgtunnel/qcrilmsgtunnel.apk 拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中, 修改錯誤路徑;

----修改路徑原理 (舉個栗子) 很重要: 腳本中原來的路徑是app/shutdownlistener.apk 即指向手機中的/system/app/shutdownlistener.apk, 使用該路徑是 pull 不下來的, 但是手機中實際的該文件的路徑是 /system/app/shutdownlistener/shutdownlistener.apk, 使用該實際路徑可以 pull 下來, 但是放到了~/android/system/vendor/xiaomi/cancro/proprietary/app/shutdownlistener/shutdownlistener.apk 中, 這樣編譯通不過, 編譯腳本會到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中去找shutdownlistener.apk 文件, 因此我們要將shutdownlistener.apk 文件拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中;


 

   

(7) 文件路徑錯誤No rule to make target `vendor/xiaomi/cancro/proprietary/app/shutdownlistener.apk'

   

文件路徑錯誤 :

 

-- 錯誤信息 :

 

make: *** No rule to make target `vendor/xiaomi/cancro/proprietary/app/shutdownlistener.apk', needed by `/root/android/system/out/target/product/cancro/obj/APPS/shutdownlistener_intermediates/package.apk'.  Stop.
make: *** Waiting for unfinished jobs....
target Unpacked: libgiftranscode (/root/android/system/out/target/product/cancro/obj/SHARED_LIBRARIES/libgiftranscode_intermediates/PACKED/libgiftranscode.so)
make: Leaving directory `/root/android/system'

#### make failed to build some targets (01:02 (mm:ss)) ####



--錯誤原因: 由於文件路徑不正確, 將文件拷貝到對應位置即可, 將從設備中獲取的~/android/system/vendor/xiaomi/cancro/proprietary/app/shutdownlistener/shutdownlistener.apk 拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中, 修改錯誤路徑;

----修改路徑原理 (舉個栗子) 很重要: 腳本中原來的路徑是app/shutdownlistener.apk 即指向手機中的/system/app/shutdownlistener.apk, 使用該路徑是 pull 不下來的, 但是手機中實際的該文件的路徑是 /system/app/shutdownlistener/shutdownlistener.apk, 使用該實際路徑可以 pull 下來, 但是放到了~/android/system/vendor/xiaomi/cancro/proprietary/app/shutdownlistener/shutdownlistener.apk 中, 這樣編譯通不過, 編譯腳本會到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中去找shutdownlistener.apk 文件, 因此我們要將shutdownlistener.apk 文件拷貝到~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中;

 

 

 

 

(8) 沒有文件錯誤No rule to make target `vendor/xiaomi/cancro/proprietary/app/com.qualcomm.location.apk'


 

 

沒有文件錯誤 :

 

-- 錯誤信息:

 

make: *** No rule to make target `vendor/xiaomi/cancro/proprietary/app/com.qualcomm.location.apk', needed by `/root/android/system/out/target/product/cancro/obj/APPS/com.qualcomm.location_intermediates/package.apk'.  Stop.
make: *** Waiting for unfinished jobs....
Notice file: packages/apps/Trebuchet/NOTICE -- /root/android/system/out/target/product/cancro/obj/NOTICE_FILES/src//system/priv-app/Trebuchet/Trebuchet.apk.txt
make: Leaving directory `/root/android/system'

#### make failed to build some targets (01:39 (mm:ss)) ####


 

-- 錯誤原因 : 根本就沒有獲取該 apk, CM 中沒有該文件, MIUI 系統中有該文件從 MIUI 中 pull 出來放入 ~/android/system/vendor/xiaomi/cancro/proprietary/app/ 目錄中;

 

 

四. 安裝 ROM

 

 

 

 

 

 

 

安裝 ROM 流程 :

-- 1. 查看 ROM : 編譯完成後 ROM 生成在/android/system/out/target/product/cancro/cm-13.0-20160613-UNOFFICIAL-cancro.zip 位置;

-- 2. 進入 fastboot 模式 : 手機關機, 按下 音量鍵- + 電源鍵 進入 fastboot 模式;

-- 3. 命令行查看 fastboot 模式 : 執行 fastboot devices 查看該模式;

\

-- 4. 燒寫 Recovery : 命令行執行fastboot flash recovery twrp-3.0.2-0-cancro.img 命令;

\

-- 5. 將 ROM 放在 sd 卡根目錄 : 重啟手機, 命令行執行adb push cm-13.0-20160613-UNOFFICIAL-cancro.zip /sdcard/ 命令, 將 ROM 拷貝到 SD 卡根目錄;

\

-- 6. 進入 Recovery 模式 : 關機, 按下 音量鍵+ + 電源鍵, 進入 Recovery 模式;

-- 7. 擦除數據 :選擇菜單中的 "Wipe" 選項擦除 ROM, 然後選擇 "Factory Reset" 恢復出廠設置;

-- 8. 安裝 ROM : 選擇 Install, 從 SD 卡中選擇 ROM 包安裝;

 

 

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