一.前言
- 測(cè)試的硬件環(huán)境(輕薄本):cpu:Amd r5 4600u,內(nèi)存:16g,外接固態(tài)硬盤(pán)盒子。測(cè)試(下載和編譯Android10)結(jié)果:下載時(shí)長(zhǎng)為0.5-1h,編譯時(shí)長(zhǎng)接近5h;
- 虛擬機(jī)環(huán)境:VMware Workstation Pro17,鏡像為:Kali-2022.3-installer-amd64;
二.安裝Kali
- 安裝步驟盡可能的詳細(xì)一些,按照下方圖示進(jìn)行操作即可,無(wú)需做改動(dòng)。
2.1.Debian版本選擇和虛擬化設(shè)置
-
不確定是否一定要這么選,但是最好跟kali的對(duì)應(yīng)(2022.3對(duì)應(yīng)Debian11.x)
-
虛擬化設(shè)置(R5 4600U是十二線程的,個(gè)人就選擇了內(nèi)核數(shù)量為12)
2.2.虛擬機(jī)配置
2.3.安裝界面
-
界面1
-
界面2
-
界面3
-
界面4
-
界面5
-
界面6
-
界面7
-
界面8
-
界面9
-
界面10
-
界面11
-
界面12
-
界面13
-
界面14(默認(rèn)即可)
-
界面15
-
界面16
-
界面17
三.編譯前的準(zhǔn)備工作
3.1.配置root賬戶
- 輸入以下命令,按照提示繼續(xù)下一步
sudo passwd root
- 退出當(dāng)前賬號(hào),使用root賬戶登錄
3.2.切換shell為bash
- 執(zhí)行以下命令表示切換,切換后重啟虛擬機(jī)
chsh -s /bin/bash
3.3.修改時(shí)區(qū)
dpkg-reconfigure tzdata
3.4.更換鏡像源
- 執(zhí)行命令:vim /etc/apt/sources.list,注釋默認(rèn)鏡像源,添加以下內(nèi)容(存在疑惑的點(diǎn):鏡像到底只配置http還是https?本人兩個(gè)都配置了。參考資料:https://mirrors.tuna.tsinghua.edu.cn/help/kali/)
deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib
3.5.(可選)共享文件夾掛載
//命令1
mkdir /mnt/hgfs
//命令2
vmhgfs-fuse .host:/ /mnt/hgfs
//命令3
umount /mnt/hgfs
//命令4
vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022
- 開(kāi)機(jī)自動(dòng)掛載共享文件夾
//步驟一:使用命令
vim /etc/fstab
//步驟二:文件末尾添加以下內(nèi)容
#開(kāi)機(jī)自動(dòng)掛載 下方share_dir替換成自定義的共享文件夾名
.host:/share_dir /mnt/hgfs/share_dir fuse.vmhgfs-fuse allow_other 0 0
3.6.裝中文字體(需要先修改鏡像源)
apt install xfonts-intl-chinese
apt install ttf-wqy-microhei
3.7.切換Python版本配置
- 首先查看默認(rèn)安裝的python版本有哪些,執(zhí)行以下命令
cd /usr/bin
//查看默認(rèn)安裝的python版本(默認(rèn)安裝了python2.7和python3.10,直接配置以下命令即可)
ls -al python*
//配置1
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
//配置2
update-alternatives --install /usr/bin/python python /usr/bin/python3.10 3
//查看配置后的信息
update-alternatives --display python
//切換python版本(此時(shí),一般是0,1,2)
update-alternatives --config python
//(可選)解除 update-alternatives 對(duì)某個(gè)版本的管理
update-alternatives --remove /usr/bin/python python /usr/bin/python2.7
3.8.安裝編譯前依賴
- 在控制臺(tái)執(zhí)行以下命令(以下命令僅針對(duì)2022.3版本kali,其它版本不確定)
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig libncurses5 m4
3.9.配置git
git config --global user.email "郵箱地址"
git config --global user.name "用戶名"
3.10.(不確定是否一定需要,但最好安裝一下)配置JDK
- 嘗試在ubuntu20上沒(méi)有安裝,成功編譯過(guò)Android10和12。
//eg:在下載目錄下執(zhí)行以下命令
wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u262-b10/openlogic-openjdk-8u262-b10-linux-x64.tar.gz
//解壓
tar -xvf openlogic-openjdk-8u262-b10-linux-x64.tar.gz
//將解壓后的文件復(fù)制到 /usr/local/sbin/
cp openlogic-openjdk-8u262-b10-linux-64 /usr/local/sbin/ -r
//添加配置信息
export JAVA_HOME=/usr/local/sbin/openlogic-openjdk-8u262-b10-linux-64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.11.配置交換空間
- 給虛擬機(jī)提供的內(nèi)存是12.5g,配置一下交換空間。在控制臺(tái)直接cv即可,不用考慮位置(第一步要是出現(xiàn)報(bào)錯(cuò)就直接從第三步開(kāi)始)。
#停用交換文件
swapoff /swapfile
#刪除文件
rm /swapfile
#新建swap空間,個(gè)人設(shè)置的是20G
fallocate -l 20G /swapfile
#設(shè)置文件權(quán)限
chmod 600 /swapfile
#掛載
mkswap /swapfile
#激活啟用
swapon /swapfile
#安裝vim(可選)
apt-get install vim
#接下來(lái),需要將交換信息寫(xiě)入系統(tǒng)配置
#打開(kāi)配置文件
vim /etc/fstab
#在最末尾處插入(輸入i進(jìn)行插入,ctrl + shift + v是粘貼,如果不能實(shí)現(xiàn)粘貼,自行搜索處理一下,esc退出編輯,輸入wq進(jìn)行保存)
/swapfile swap swap defaults 0 0
#更改交換空間大小
vim /etc/sysctl.conf
#在最末尾處插入
vm.min_free_kbytes=1500000
四.下載環(huán)節(jié)
- 在準(zhǔn)備工作做好之后,重啟一下再執(zhí)行下載和編譯相關(guān)的工作;
mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
chmod +x ~/bin/repo
- 在~/.bashrc中配置以下信息(別忘記同步:source ~/.bashrc)
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
PATH=~/bin:$PATH
- 初始化倉(cāng)庫(kù),-b 指示分支,這里使用android10
mkdir ~/android-10.0.0_r41
cd ~/android-10.0.0_r41
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r41
五.編譯環(huán)境
- 編譯Android10請(qǐng)用Python2,前面選擇了Python3,最后出現(xiàn)了報(bào)錯(cuò)。
source build/envsetup.sh
lunch aosp_x86_64-eng
//r5 4600u是十二線程的,這里就選擇了j6
make -j6
-
出現(xiàn)報(bào)錯(cuò)(切換成Python2繼續(xù)編譯,重新執(zhí)行上面三行代碼)
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-708054.html
-
編譯成功,啟動(dòng)模擬器
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-708054.html
六.總結(jié)
- 建議使用文章開(kāi)頭提及的Kali鏡像(版本選擇很重要)。嘗試用過(guò)“Kali-linux-2022.3-vmware-amd64.7z”和“Kali-linux-2023.3-vmware-amd64.7z”,前者出現(xiàn)了不能啟動(dòng)模擬器,說(shuō)是虛擬化被占用。后者出現(xiàn)過(guò)依賴方面的問(wèn)題。
- Ubuntu環(huán)境編譯aosp請(qǐng)參考:Ubuntu20編譯Android12(車(chē)載環(huán)境搭建)
七.參考資料
- 解決了Kali2022.3找不到lib32ncurses5-dev安裝依賴包的問(wèn)題,借助https://pkgs.org/download/lib32ncurses5-dev找到Debian11對(duì)應(yīng)的lib32ncurses5-dev是lib32ncurses-dev。
- https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/
- https://mirrors.tuna.tsinghua.edu.cn/help/kali/
到了這里,關(guān)于Kali2022.3虛擬機(jī)編譯AOSP(從Kali安裝到完成Aosp編譯詳細(xì)記錄)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!