如果您使用的是搭建好編譯環(huán)境的 Ubuntu18.04 虛擬機(jī)鏡像,在網(wǎng)盤資料“iTOP-3568 開發(fā)板\02_iTOP-3568 開發(fā)資料匯總(不含光盤資料)\02iTOP-3568 開發(fā)板搭建好編譯環(huán)境的 Ubuntu18.04 虛擬機(jī)鏡像”目錄下,安裝 jdk 和 android 源碼依賴已經(jīng)安裝好了,不必重復(fù)安裝。請根據(jù)您的電腦配置,參考本章節(jié)進(jìn)行靈活配置。 1 電腦配置要求 編譯 Android 11 對機(jī)器的配置要求較高: 1. 64 位 CPU 2. 16GB 物理內(nèi)存+交換內(nèi)存 1)Ubuntu 確認(rèn) cpu 位數(shù),我們輸入以下命令 getconf LONG_BIT ![]() 如上圖所示,可以發(fā)現(xiàn) Ubuntu18.04 是 64 位 CPU。 2 修改物理內(nèi)存 打開虛擬機(jī),如下圖。單擊紅色框中的“虛擬機(jī)”。如下圖所示: ![]() 然后點(diǎn)擊“設(shè)置”彈出虛擬機(jī)的設(shè)置界面,如下圖所示: ![]() 點(diǎn)擊“內(nèi)存”選項(xiàng)卡,然后設(shè)定物理內(nèi)存。配置內(nèi)存,需要根據(jù)用戶實(shí)際情況進(jìn)行配置。下面這臺機(jī) 器中,顯示最多可以設(shè)置 32G,這里分配 16G 的內(nèi)存,內(nèi)存必須為 4 的倍數(shù)(編譯 Android 11 盡量多分 配內(nèi)存)。如果大家的物理內(nèi)存不夠,可以參考下個(gè)小節(jié)分配交換內(nèi)存。 3 增加交換內(nèi)存 接下來增加交換內(nèi)存。配置交換內(nèi)存,需要用戶根據(jù)自己的實(shí)際情況進(jìn)行配置。這里舉例分配 5G 交換 內(nèi)存。 在開始之前,使用命令檢查一下您的 ubuntu 的 swap 分區(qū)。 sudo swapon --show 通過以下命令創(chuàng)建一個(gè)用于 swap 的文件 sudo fallocate -l 5G /swapfile 注意,此時(shí)可能會顯示 fallocate:fallocate failed:Text file busy 此時(shí),執(zhí)行以下命令: sudo swapoff -a 然后再執(zhí)行以下命令: sudo fallocate -l 5G /swapfile 執(zhí)行以下命令為 swapfile 文件設(shè)置正確的權(quán)限: sudo chmod 600 /swapfile 使用 mkswap 實(shí)用程序在文件上設(shè)置 Linux SWAP 區(qū)域: sudo mkswap /swapfile 使用以下命令激活 swap 文件: sudo swapon /swapfile 要讓創(chuàng)建好的 swap 分區(qū)永久生效,可以將 swapfile 路徑內(nèi)容寫入到 /etc/fstab 文件當(dāng)中: ![]() sudo vim /etc/fstab 在/etc/fstab 文件最后添加如下內(nèi)容: /swapfile swap swap defaults 0 0 ![]() 使用 swapon 或 free 命令驗(yàn)證 SWAP 是否處于活動狀態(tài),如下所示: sudo swapon --show sudo free -h ![]() 4 安裝 JDK 1)Android11 系統(tǒng)編譯依賴于 JAVA 8。編譯 Android 之前需安裝 OpenJDK。安裝命令如下: sudo apt-get install openjdk-8-jdk 執(zhí)行結(jié)果,如下圖: ![]() 2)如果您之前安裝過其他版本的 JDK,需要進(jìn)行版本切換。如果沒有安裝過,可以跳過此步驟,查看目前 已經(jīng)安裝在系統(tǒng)里的 Java 版本,使用以下命令: update-java-alternatives -l ![]() 查看相應(yīng)的 jdk(java javac 等)是否在 ubuntu 的 jdk 菜單里,查看切換命令 jdk 的命令,如下所示: sudo update-alternatives --config java 輸入 java8 對應(yīng)的選擇項(xiàng),按回車進(jìn)行確認(rèn)。 3) 配置 Java 環(huán)境變量,Android11 源碼里帶有 Open JDK8 的配置腳本,在 Android11 源碼根目錄下,命名為 javaenv.sh。可直接執(zhí)行以下命令,配置 JDK1.8 source javaenv.sh ![]() 輸入以下命令查看 java 的版本,如果 Java 版本是 1.8 版本,接下來便可以編譯 Android11 源碼。 ![]() |