從0開始編譯安卓 9 0

2022-01-11 14:02:57 字數 3197 閱讀 4526

手機是 google pixel xl 

編譯環境的準備

google 9月更新了位址

ubuntu 16.0.4 x64 

需要安裝的軟體包 看上面 的**

aosp 原始碼採用清華的映象。

lunch #選擇乙個編譯目標

#這裡輸入19

安卓解鎖,編譯,刷機介紹很全面

pixel xl 是 marlin 按住音量調低鍵,然後按住電源鍵 進入 fast-boot 模式

編譯**是 aosp_marlin-userdebug 也就是上面的 19

解鎖**裝置

自 2014 年以來發布的所有 nexus 和 pixel 裝置(從 nexus 6 和 nexus 9 開始)都內建有恢復出廠設定保護功能,需要通過多個步驟才能解鎖引導引導程式

在裝置上啟用 oem 解鎖

a.在「設定」中,點按關於手機,然後點按版本號七 (7) 次。

b.當看到「您已處於開發者模式」這條訊息後,點按返回按鈕。

c.點按開發者選項,然後啟用 oem 解鎖和 usb 除錯。(如果「oem 解鎖」處於停用狀態,請連線到網際網路,以便裝置可以至少簽到一次。如果「oem 解鎖」仍處於停用狀態,則說明您的裝置可能已被運營商鎖定 sim 卡,系統無法解鎖引導引導程式。)

重新啟動進入引導引導程式,然後使用 fastboot 解鎖

對於**裝置(2015 年及之後發布的裝置)

fastboot flashing unlock

對於老款裝置(2014 年及之前發布的裝置)

fastboot oem unlock

螢幕上確認解鎖

注意:在 nexus 10 上,解鎖引導引導程式後,內部儲存仍保持未格式化狀態。您可以依次使用 fastboot format cache 和 fastboot format userdata 來格式化裝置

然後就是 用上面的 解鎖 bootloader ,在用 fastboot 刷入了,下了篇有介紹。

需要說明的是,最好還是歐版的pixel oem無鎖 。 已經解鎖的版本,不管是恢復出廠還是刷機,都是解鎖狀態。

本文以 aosp 的 master 分支進行編譯,如果需要對應的 安卓 版本,請自己切換版本。 

更新:vmware  安裝 ubuntu 時看不到自定義分割槽,可以按  alt + f7 移動視窗

ubuntu  swap 分割槽要比較大,否則不能編譯成功

編譯 ide 檔案

source build/envsetup.sh

mmm development/tools/idegen

[100% 2353/2353] install: out/host/linux-x86/framework/idegen.jar

#### build completed successfully (05:34 (mm:ss)) ####

重新生成映象

make snod

make bootimage

make systemimage

mmmmake clobber

make clean

編譯完成後 在

out\target\product\marlin

生成一些檔案

kernel 核心

boot.img 含u-boot 和 核心

ramdisk.img 安卓唯讀檔案系統

system.img 安卓檔案系統

userdata.img 使用者檔案系統可讀寫

ramdisk-recovery.img 恢復模式唯讀檔案系統 在 fastboot 模式下可以選擇進入 recovery 模式

system_other.img 安卓其它檔案系統

檢視連線的裝置

fastboot devices

重啟裝置

fastboot reboot

清理使用者資料

fastboot -w

擦除分割槽

fastboot erase cache

格式化分割槽

fastboot format data

一般只需要刷寫

boot.img system.img userdata.img

fastboot flash boot boot.img

fastboot flash system system.img

fastboot flash userdata userdata.img

手動執行

fastboot flash boot boot.img

fastboot flash ramdisk ramdisk.img

fastboot flash ramdisk-recovery ramdisk-recovery.img

fastboot flash vendor vendor.img

fastboot flash system_a system.img

fastboot flash system_b system_other.img

可以直接指定分割槽的別名

fastboot flash boot_a boot.img

fastboot flash ramdisk_a ramdisk.img

fastboot flash vendor_a vendor.img

fastboot flash system_a system.img

fastboot flash system_b system_other.img

fastboot flash userdata userdata.img 格式化使用者分割槽

掛載為可讀寫系統

mount -o remount,rw /system

安卓9 0 編譯報錯問題

0 31m failed to build some targets 28 seconds 00m 猜想應該是jdk版本的問題吧,就安裝jdk9,安裝好後還是報同樣是錯 網上搜了一大堆都方法都沒有用 其實問題也很簡單,我編譯的時候沒有列印全部的log,所以編譯軟體快取的日誌沒那麼多,error被覆蓋...

諾基亞手機嘗鮮安卓9 0

北京時間2018年10月5日,hmd在倫敦的發布會上正式發布了諾基亞7.1。在會上,官方還公布了旗下諾基亞手機的安卓9.0 pie公升級計畫,讓人十分期待。hmd表示,會有四款諾基亞手機將在近期獲得安卓9.0 pie公升級,它們分別是 諾基亞6.1 2018款諾基亞6 諾基亞6.1 plus 諾基亞...

安卓逆向從0到1學習總結

逆向這玩意不是很玄學,不像web滲透那樣很玄學 強烈吐槽一波以前我還在做web滲透的時候,挖不出大洞也就算了,全都是一堆反射型的xss,xss到底跟我有多過不去啊 只要你基礎夠,在捨得掉頭髮,就能夠有產出,下面簡單羅列一下我個人認為的安卓逆向所需要的前置技能 正向開發越熟練,在逆向的過程越容易找到關...