Android12源碼編譯及刷機

由于google的AOSP源碼拉取經常失敗,編譯還經常出現各種問題。這里根據香橙派Orange Pi 5 Plus(Android12電視鏡像)源碼進行編譯演示。

RK芯片的開發板可玩性很高,這里以電視版本android系統為例子,學習的同時還可以當成一個電視盒子。我初學時候很有成就感!

其實香橙派官方文檔已經說的特別詳細了。以下是關鍵步驟的操作流程.

電腦最低配置要求

cpu8核
內存16G
硬盤空閑250G以上

環境配置

設置交換分區

建議使用ubuntu系統,這里以ubunt18.04為例。

注意:不同系統版本有差別,請根據自己的系統版本情況。

#ubuntu18.04
#查看物理內存大小
free -m  
#設置虛擬內存大小(等于你的物理內存大小即可,這里設置為16G)
sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=16096
# 修改內存空間的權限
sudo chmod 600 /tmp/swapfile
#格式化
sudo mkswap /tmp/swapfile
#開啟虛擬內存
sudo swapon /tmp/swapfile
#設置配置文件
sudo vim /etc/fstab
# 編輯/etc/fstab文件使系統開機后自動掛載虛擬內存空間,設置如下
/tmp/swapfile swap swap defaults 0 0
# 查看
sudo swapon -s

安裝軟件包

sudo apt-get update 
sudo apt-get install -y git gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc 
sudo apt-get install -y u-boot-tools

因為不同版本可能有區別,在啟動編譯后如果遇到缺失***依賴錯誤,只需要繼續安裝相關依賴即可,命令如下:

sudo apt-get install ***

代碼下載合并分包

百度網盤下載 Android 12源碼的分卷壓縮包

驗證文件完整

md5sum -c Android_12.tar.gz.md5sum

需要將多個壓縮文件合并成一個,再進行解壓

cat Android_12.tar.gz0* > Android_12.tar.gz
tar -xvf Android_12.tar.gz

?啟動編譯

test@test:~$ cd Android_12
test@test:~/ Android_12$ export BOARD=orangepi5plus
test@test:~/ Android_12$ source build/envsetup.sh
test@test:~/ Android_12$ lunch rk3588_box-userdebug
test@test:~/ Android_12$ ./build.sh -AUKu

漫長的編譯

我首次編譯了1小時10分鐘鐘左右,我的機器配置如下

硬盤m2 256G (源碼掛載的磁盤)
cpuntel(R) Core(TM) i9-9900KF CPU @ 3.60GHz
內存

ddr4 32G

編譯成功

鏡像生成目錄

rockdev/Image-rk3588_box/update.img

刷機

安裝驅動(windows刷機工具作為演示)

下載驅動包DriverAssitant_v5.12.zip,解壓后執行DriverInstall.exe

a. 點擊“驅動安裝”按鈕

b. 等待一段時間后,會彈出窗口提示“安裝驅動成功”,然后點擊“確定” 按鈕即可

下載并解壓刷機工具RKDevTool_Release_v3.15.zip,打開RKDevTool

打開 RKDevTool 燒錄工具后,因為電腦此時還沒有通過 Type-C 線連接上開發 板,所以左下角會提示“沒有發現設備”

先將刷機口使用type-c連接到電腦,按住刷機按鍵,給板子供電。

成功識別到主板

點擊“升級固件”菜單,點擊固件,選擇update.img鏡像文件所在位置

點擊第二排的“升級”按鈕,開始刷機跑進度

等待刷機成功

重啟開機

接上顯示器,就可以看到電視盒子主頁了。但是控制還是需要usb鼠標或者紅外遙控器

當然因為默認開發板adb是打開的,設備重啟后,可以不連接顯示器,直接使用scrcpy軟件投屏。可以更方便的用電腦控制開發板。

資源下載

官方網盤源碼下載地址

百度網盤?百度網盤為您提供文件的網絡備份、同步和分享服務。空間大、速度快、安全穩固,支持教育網加速,支持手機端。注冊使用百度網盤即可享受免費存儲空間https://pan.baidu.com/share/init?surl=QrrIlT0aTjFUKIKfKj83rw&pwd=gpfw

scrcpy下載官網下載

https://github.com/Genymobile/scrcpyhttps://github.com/Genymobile/scrcpy


????????百度網盤 https://pan.baidu.com/s/1O52njym-z6rrI3apoxJ9lw 提取碼: 4jbw

?官方資料及工具

Orange Pi - Orangepihttp://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-5-plus.html

windows刷機工具

百度網盤百度網盤為您提供文件的網絡備份、同步和分享服務。空間大、速度快、安全穩固,支持教育網加速,支持手機端。注冊使用百度網盤即可享受免費存儲空間https://pan.baidu.com/share/init?surl=OYATa2_Q_3GCCv01DpjLVg&pwd=37wm

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78298.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78298.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78298.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從零實現 registry.k8s.io/pause:3.8 鏡像的導出與導入

以下是為 registry.k8s.io/pause:3.8 鏡像的導出與導入操作定制的完整教程,適用于 Kubernetes 集群中使用 containerd 作為容器運行時的場景。本教程包含詳細步驟、常見問題解析及注意事項。 從零實現 registry.k8s.io/pause:3.8 鏡像的導出與導入 背景說明 Kuber…

Redis和MQ的區別

redis是一個高性能的key-value數據庫,支持消息推送功能,可以當做一個輕量級的隊列服務器使用。 redis只是提供一個高性能的、原子操作內存鍵值隊,具有高速訪問能力,雖然可以做消息隊列的存儲,但不具備消息隊列的任何功…

Centos7系統防火墻使用教程

CentOS 7是一種常見的Linux操作系統,防火墻作為網絡安全的第一道防線,對于服務器的安全至關重要。本文將介紹CentOS 7系統中防火墻的使用教程,包括如何開啟、關閉、配置以及防火墻規則的添加和刪除。 一、查看防火墻狀態 在開始操作之前&am…

Uniapp:navigator(頁面跳轉)

目錄 一、基本概述二、屬性說明三、具體使用一、基本概述 頁面跳轉。該組件類似HTML中的<a>組件,但只能跳轉本地頁面。目標頁面必須在pages.json中注冊。 二、屬性說明 屬性名類型默認值說明平臺差異說明urlString應用內的跳轉鏈接,值為相對路徑或絕對路徑,如:“……

大疆機場及無人機上云(航線規劃、指令飛行...)

系統操作預覽&#xff1a; 包含一鍵起飛、指令飛行、云臺控制、變焦、航線規劃、空域規劃、成果數據展示、實時飛行模擬、任務派發等 大疆無人機飛控平臺&#xff08;航線規劃、機場3、私有化部署&#xff09;_嗶哩嗶哩_bilibili 2025-04-02 更新 start、 已支持大疆機場3。…

【運維】云端掌控:用Python和Boto3實現AWS資源自動化管理

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 在云計算時代,AWS(Amazon Web Services)作為領先的云服務平臺,其資源管理的高效性對企業至關重要。本文深入探討如何利用Python的boto3…

Java ThreadLocal與內存泄漏

當我們利用 ThreadLocal 來管理數據時&#xff0c;我們不可避免地會面臨內存泄漏的風險。 原因在于 ThreadLocal 的工作方式。當我們在當前線程的 ThreadLocalMap 中存儲一個值時&#xff0c;一旦這個值不再需要&#xff0c;釋放它就變得至關重要。如果不這樣做&#xff0c;那么…

Linux之netlink(2)libnl使用介紹(1)

Linux之netlink(2)Libnl3使用介紹(1) Author&#xff1a;Onceday Date&#xff1a;2025年4月26日 漫漫長路&#xff0c;才剛剛開始… 全系列文章可查看專欄: Linux內核知識_Once-Day的博客-CSDN博客 本文翻譯自libnl3官方文檔&#xff1a;Netlink Library (libnl) 參考文檔…

深入理解TransmittableThreadLocal:原理、使用與避坑指南

一、ThreadLocal與InheritableThreadLocal回顧 在介紹TransmittableThreadLocal之前&#xff0c;我們先回顧一下Java中的ThreadLocal和InheritableThreadLocal。 1. ThreadLocal ThreadLocal提供了線程局部變量&#xff0c;每個線程都可以通過get/set訪問自己獨立的變量副本…

Linux下的I/O復用技術之epoll

I/O多路復用 指在單個線程或進程中&#xff0c;同時處理多個I/O操作的技術。 旨在提高程序處理多個并發I/O操作的能力&#xff0c;避免程序因等待某個I/O操作而被阻塞。在傳統的I/O模型中當程序進行I/O操作時(如讀取文件、接受網路數據等)&#xff0c;如果數據還未準備好&…

用 C 語言實現通用的冒泡排序算法

在日常編程中&#xff0c;排序算法是一個非常常見且重要的工具。雖然有許多排序算法可以選擇&#xff0c;但如果你需要一個能夠處理不同數據類型的排序算法&#xff0c;如何設計一個通用的排序算法呢&#xff1f;今天我們將實現一個通用的冒泡排序算法&#xff0c;支持不同數據…

C# 變量全解析:聲明、初始化與使用

在多用途的編程語言中&#xff0c;程序存取數據是一項基礎且關鍵的功能&#xff0c;而這一功能主要通過變量來實現。本文將全面深入地探討 C# 中的變量&#xff0c;包括變量的種類、聲明、初始化、自動初始化、多變量聲明以及如何使用變量的值。 變量概述 變量是一個名稱&…

Dify中的文本分詞處理技術詳解

Dify中的文本分詞處理技術詳解 引言核心架構概覽索引處理器工廠 文本分詞技術詳解基礎分詞器增強型遞歸字符分詞器固定分隔符文本分詞器遞歸分割算法 索引處理器中的分詞應用特殊索引處理器的分詞特點問答索引處理器父子索引處理器 分詞技術的應用場景技術亮點與優勢總結 引言 …

如何打包python程序為可執行文件

將 Python 程序打包為可執行文件是一個常見需求&#xff0c;尤其是在希望將應用程序分享給不具備 Python 環境的用戶時。以下是使用 PyInstaller 工具將 Python 程序打包為可執行文件的步驟。 步驟 1&#xff1a;安裝 PyInstaller 如果您還沒有安裝 PyInstaller&#xff0c;請…

美團Java后端二面面經!

場景題是面試的大頭&#xff0c;建議好好準備 Q. [美團]如何設計一個外賣訂單的并發扣減庫存系統&#xff1f; Q.[美團]為啥初始標記和重新標記需要STW&#xff1f; Q.[美團]騎手位置實時更新&#xff0c;如何保證高并發寫入&#xff1f; Q.[美團]訂單表數據量過大導致查詢…

在應用運維過程中,業務數據修改的證據留存和數據留存

在應用運維過程中,業務數據修改的證據留存和數據留存至關重要,以下是相關介紹: 一、證據留存 操作日志記錄 : 詳細記錄每一次業務數據修改的操作日志,包括操作人員、操作時間、修改內容、修改前后數據的對比等。例如,某公司業務系統中,操作日志會精確記錄員工小張在 2…

Eigen迭代求解器類

1. 迭代求解器核心類概覽 Eigen 提供多種迭代法求解稀疏線性方程組 AxbAxb&#xff0c;適用于大規模稀疏矩陣&#xff1a; 求解器類適用矩陣類型算法關鍵特性ConjugateGradient對稱正定&#xff08;SPD&#xff09;共軛梯度法&#xff08;CG&#xff09;高精度&#xff0c;內…

ORACLE數據庫備份入門:第四部分:2-備份場景舉例

下面以4個常見的場景為例&#xff0c;介紹如何規劃備份方案。備份方案沒有標準答案&#xff0c;需要根據實現情況來制定&#xff0c;也和管理員的個人使用習慣有很大相關性。 1 交易型數據庫備份 以銀行的交易系統為例&#xff0c;除了前一章節提到的關于RPO和RTO的指標外&am…

小白如何學會完整挪用Github項目?(以pix2pix為例)

[目錄] 0.如何完整地復現/應用一個Github項目 1.建立適用于項目的環境 2.數據準備與模型訓練階段 3.訓練過程中的一些命令行調試必備知識0.如何完整地復現/應用一個Github項目 前日在健身房的組間同一位好友交流時&#xff0c;得到了一個一致結論—— ** Github \texttt{Githu…