編譯環境這里給大家提供了編譯好的開發環境,我們可以在搭建好的編譯環境中順利編譯成功,所以這里建議大家使用搭建好的環境。“搭建好編譯環境的Ubuntu16.04”在網盤資料“i.MX8MM開發板\02-i.MX8MM開發板網盤資料匯總(不含光盤內容)\20210601\02_i.MX8MM開發板搭建好編譯環境的Ubuntu16.04虛擬機鏡像”目錄下,使用我們提供的Ubuntu環境,可以直接參考第九章 Android固件編譯進行編譯Android9。 這個也給大家介紹了搭建好的環境是怎么從原生的環境中一步一步來的,如果大家要在自己的開發環境上搭建,也可以參考這個章節。但是由于大家自己用的Ubuntu的版本和我們不一樣,可能中間會遇到形形色色的問題。這就需要一個很強的開發調試能力了,所以這里建議大家還是使用我們提供的搭建好的編譯環境。 8.1 增加交換分區1 )編譯 Android 對機器的配置要求較高,注意:推薦電腦配置處理器:Core(TM) i7 內存:16G ,虛擬機硬盤 300G 以上,內存 8G 以上; 2)我們要確認當前Ubuntu系統的交換分區的大小,如果交換分區不足會造成Android源碼編譯失敗,然后我們安裝一個軟件htop,來查看內存的使用情況,安裝命令如下所示: sudo apt-get install htop 3)然后輸入“htop”運行軟件,運行如下所示,輸入“q”停止運行htop軟件。 ![]() 4)從上圖我們可以看到物理內存是11G,交換內存為0,在這里給大家做個示范增加5G交換分區。接下來增加交換內存。 5)通過以下命令創建一個用于 swap 的文件 sudo fallocate -l 5G /swapfile 執行以下命令為 swapfile 文件設置正確的權限: sudo chmod 600 /swapfile 使用 mkswap 實用程序在文件上設置 Linux SWAP 區域: sudo mkswap /swapfile 使用以下命令激活 swap 文件: sudo swapon /swapfile ![]() 6)要讓創建好的 swap 分區永久生效,可以將 swapfile 路徑內容寫入到 /etc/fstab 文件當中: sudo vim /etc/fstab 在/etc/fstab 文件最后添加如下內容:/swapfile swap swap defaults 0 0 ![]() 7)使用 swapon 或 free 命令驗證 SWAP 是否處于活動狀態,如下所示: sudo swapon --show sudo free -h ![]() 8.2 安裝JDK 1)Android9 系統編譯依賴于 JAVA 8。編譯之前需安裝 OpenJDK。安裝命令如下: add-apt-repository ppa ![]() apt-get update apt-get install openjdk-8-jdk 執行結果,如下圖所示: ![]() ![]() ![]() 2)如果您之前安裝過其他版本的JDK,需要進行版本切換。如果沒有安裝過,可以跳過此步驟,查看目前已經安裝在系統里的Java版本,使用以下命令: update-java-alternatives -l ![]() 3)查看相應的jdk(java javac等)是否在 ubuntu的jdk菜單里,查看切換JDK的命令,如下所示: update-alternatives --config java ![]() 輸入 java8 對應的選擇項,按回車進行確認。 4 輸入以下命令查看java的版本 java -version ![]() |