LineageOS Google Pixel3(blueline) Android10系統源碼的下載、環境搭建、編譯方法
LineageOS的Android系統版本
lineage-17.1 //Android10
lineage-18.1 //Android11
lineage-19.1 //Android12
https://wiki.lineageos.org/devices/blueline/build
sudo apt-get install openjdk-8-jdk sudo apt-get install -y python-dev python-setuptools python-pip python-smbus sudo apt-get install python3sudo apt-get install python3-pip sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagicklib32ncurses5-dev lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libncurses5 libncurses5-devlibsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsyncschedtool squashfs-tools xsltproc zip zlib1g-dev
pip或pip3的升級
pip install --upgrade pip #python2的版本命令pip3 install --upgrade pip #python3的版本命令
Pixel3手機提取vendor的方法
https://wiki.lineageos.org/devices/blueline/buildhttps://lineageosroms.com/blueline/https://wiki.lineageos.org/extracting_blobs_from_zips
protobuf版本和python不匹配
TypeError:__init__()gotanunexpectedkeywordargument'serialized_options'
sudo pip install -U protobuf或sudo pip3 uninstall protobufsudo pip3 install -U protobuf
切換Python3的版本到Python3.7,參考如下文章
Ubuntu安裝配置切換Python3版本的解決方法
Ubuntu環境Python3版本的更新升級使用方法
https://wiki.lineageos.org/extracting_blobs_from_zips
python3 /scripts/update-payload-extractor/extract.py payload.bin --output_dir /home/payload或cd /scripts/update-payload-extractor/python3 extract.py payload.bin --output_dir /home/payload
sudo -H pip uninstall protobufsudo -H pip uninstall googlesudo -H pip install -U googlesudo -H pip install -U protobuf或sudo -H pip3 uninstall protobufsudo -H pip3 uninstall googlesudo -H pip3 install -U googlesudo-Hpip3install-Uprotobuf
LineageOS Downloads(Pixel3 Android10系統鏡像下載地址)
https://download.lineageos.org/https://download.lineageos.org/bluelinehttps://lineageosroms.com/https://lineageosroms.com/blueline/
從LineageOS zip中提取Pixel3手機Android系統版本匹配的vendor(方法1)
https://wiki.lineageos.org/extracting_blobs_from_zips
連接上Google Pixel3手機,其中手機中的Android系統版本號需要跟即將編譯的Android系統版本號匹配,然后執行以下命令進行提取vendor(方法2)
cd ~/android/lineage/device/google/blueline ./extract cd ~/android/lineage/vendor/google
備注:提取vendor的方法采用以上方法之一即可
如果遇到編譯問題,可以參考,如下文章
Ubuntu虛擬機環境搭建Android系統源碼編譯環境及問題解決方法
Ubuntu18.04/20.04虛擬機編譯Android4/5/6/7/8/9/10/11系統源碼的問題解決
Ubuntu20.04系統設置全局的環境變量
sudo vim /etc/profile或sudovim~/.bashrc
把以下內容添加到/etc/profile或~/.bashrc中
exportUSE_CCACHE=1export CCACHE_EXEC=/usr/bin/ccacheccache -M 50Gccache -o compression=true
source后設置才可以生效
source /etc/profile或source ~/.bashrc
編譯Android10系統源碼(Google Pixel3手機)
source build/envsetup.shbreakfast bluelinecrootbrunch blueline
have enough space free (691224576 requested, 3392774144 used out of 4069523456)Not enough space on device for partition product with size 691224576
du -h --max-depth=1 ./
以上報錯的主要原因是空間不足(參考以下方法解決)
https://stackoverflow.com/questions/70482311/how-can-i-increase-system-ext-partition-in-aosp ExternalError: Failed to run command '['lpmake', '--metadata-size', '65536', '--super-name', 'system', '--metadata-slots', '2', '--auto-slot-suffixing', '--device', 'system:2952790016', '--device', 'vendor:805306368', '--device', 'product:314572800', '--group', 'google_dynamic_partitions:4069523456', '--partition', 'system:readonly:2344202240:google_dynamic_partitions', '--image', 'system=/home/markus/EPhone/ethOS/out/target/product/blueline/obj/PACKAGING/target_files_intermediates/lineage_blueline-target_files-eng.markus/IMAGES/system.img', '--partition', 'vendor:readonly:452227072:google_dynamic_partitions', '--image', 'vendor=/home/markus/EPhone/ethOS/out/target/product/blueline/obj/PACKAGING/target_files_intermediates/lineage_blueline-target_files-eng.markus/IMAGES/vendor.img', '--partition', 'product:readonly:1016426496:google_dynamic_partitions', '--image', 'product=/home/markus/EPhone/ethOS/out/target/product/blueline/obj/PACKAGING/target_files_intermediates/lineage_blueline-target_files-eng.markus/IMAGES/product.img', '--partition', 'system_ext:readonly:266698752:google_dynamic_partitions', '--image', 'system_ext=/home/markus/EPhone/ethOS/out/target/product/blueline/obj/PACKAGING/target_files_intermediates/lineage_blueline-target_files-eng.markus/IMAGES/system_ext.img', '--sparse', '--output', '/home/markus/EPhone/ethOS/out/target/product/blueline/obj/PACKAGING/target_files_intermediates/lineage_blueline-target_files-eng.markus/OTA']' (exit code 70):lpmake I 12-25 19:38:11 10456 10456 builder.cpp:1031] [liblp]Partition system will resize from 0 bytes to 2344202240 byteslpmake I 12-25 19:38:11 10456 10456 builder.cpp:1031] [liblp]Partition vendor will resize from 0 bytes to 452227072 byteslpmake I 12-25 19:38:11 10456 10456 builder.cpp:1031] [liblp]Partition product will resize from 0 bytes to 1016426496 byteslpmake E 12-25 19:38:11 10456 10456 builder.cpp:620] [liblp]Partition system_ext is part of group google_dynamic_partitions which does not have enough space free (266698752 requested, 3812855808 used out of 4069523456)Not enough space on device for partition system_ext with size 266698752
BoardConfigLineage.mkhttps://github.com/LineageOS/android_device_google_crosshatch/commit/155109c657c804ca14e4cbb78ddc2caf5bfeda46
Pixel3手機Android10系統源碼編譯成功
Pixel3手機 Android10系統zip鏡像
在out目錄找到Pixel3手機Android10系統編譯成功的zip鏡像,然后對Pixel3手機進行刷機
Android10系統zip鏡像的刷機方法,參考如下文章
玩轉Android10(二)刷機操作
Android系統鏡像刷機方法(一)
Android系統鏡像刷機方法(二)
Android系統鏡像刷機方法(三)
免Magisk使用adb命令安裝Edxposed
編譯Windows平臺adb和fastboot工具
樹莓派4B/2W,燒寫SD卡刷入Android 系統
玩轉Android10(二)刷機操作之fastboot刷機演示
玩轉Android10(二)刷機操作之Recovery刷機演示
谷歌Pixel 2手機刷入官方安卓10工廠鏡像圖文詳細教程
支持Pixel3手機刷機的twrp工具下載地址
https://twrp.me/google/googlepixel3.htmlhttps://eu.dl.twrp.me/blueline/
解鎖Google Pixel3 Bootloader
備注:解鎖bootloader將擦除設備中的所有數據,包括保存在設備內部存儲器上的所有媒體,如圖片,視頻,音樂,文檔等。為了避免不必要的麻煩和損失,請務必先將所有重要文件備份到PC或云存儲,然后再執行此操作
(1).打開手機設置-關于手機-點擊版本號7次,以打開“開發者選項”。
(2).返回到設置,打開 開發者選項-打開USB 調試,打開“OEM解鎖”。出于安全考慮,這可能會要求你輸入鎖屏PIN/密碼。
(3).向下滾動,直到看到“USB調試”選項并啟用。
adb devicesadb reboot bootloaderfastboot devicesfastboot flashing unlockfastbootreboot
進入recovery模式后就顯示no command
adb reboot recovery
問題原因:
recovery mode是官方的Recovery,沒有刷入永久Twrp的Recovery
解決方法:
當未安裝twrp,直接進入recovery會出現的界面,需要長按電源鍵強制關機,如圖所示:
支持google Pixel3手機的twrp工具安裝成功
fastboot boot twrp-3.6.0_11-0-blueline.img
LineageOS官方鏡像
https://lineageosroms.com/blueline/
把云服務器上編譯成功的Android10 Pixel3手機的zip鏡像拷貝到sdcard,然后使用twrp工具進行刷機
adbpushpixel3_blueline.zip /sdcard/
Pixel3手機刷Android10系統刷機成功
google系列機型,如果無法連接WIFI,可以參考如下文章
google手機連接WIFI后總會提示"無法連接互聯網"的解決方法
特別注意:
其他Google機型或其他手機廠商的機型,都可以參考以上方法進行Android系統各版本源碼的下載、環境搭建、系統編譯、刷機等的通用方法
審核編輯:劉清
-
Android系統
+關注
關注
0文章
56瀏覽量
13499 -
虛擬機
+關注
關注
1文章
917瀏覽量
28193 -
python
+關注
關注
56文章
4797瀏覽量
84683
原文標題:干貨|云服務器編譯Android10系統源碼或刷機或聯網過程遇到的坑(Google Pixel3手機)
文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論