由于google的AOSP源碼拉取經常失敗,編譯還經常出現各種問題。這里根據香橙派Orange Pi 5 Plus(Android12電視鏡像)源碼進行編譯演示。
RK芯片的開發板可玩性很高,這里以電視版本android系統為例子,學習的同時還可以當成一個電視盒子。我初學時候很有成就感!
其實香橙派官方文檔已經說的特別詳細了。以下是關鍵步驟的操作流程.
電腦最低配置要求
cpu | 8核 |
內存 | 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 (源碼掛載的磁盤) |
cpu | ntel(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
?