仮想マシン vware ubuntu aosp をダウンロードして Android9 Android12 をコンパイルし、エミュレーターを起動します。

最初のステップは、最初に vware と ubuntu のミラー環境を構成することです.ubuntu には 18 を使用することをお勧めします.この手順については言及しません.プラットフォームが完成したら、最初にダウンロードおよびコンパイル環境を構成します
.

python3.9 をダウンロード

1、sudo apt update
2、sudo apt install software-properties-common
3、sudo add-apt-repository ppa:deadsnakes/ppa
4、sudo apt install python3.9

//查看python版本号,确认是否安装成功
5、python3.9 -V

更换为3.9
sudo ln -s /usr/bin/python3.9 /usr/bin/python 

gitをインストールする

sudo apt-get upgrade
sudo apt-get install git
git config --global user.email "[email protected]"
git config --global user.name "xxxxx"

カールをインストールする

sudo apt-get install curl

レポをインストールする

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

ソースを変更

ソースを外部ネットワークではなくTsinghuaミラーに変更. もちろん, 外部ネットワークにアクセスできる場合はこのステップを無視しても構いません. コードをプルダウンできれば, で作成したbinフォルダ下のrepoファイルを開くことができます
.前のステップ。

REPO_URL = 'https://gerrit.googlesource.com/git-repo'

と取り換える

REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

インストールとコンパイルに必要:

sudo apt-get install bc bison build-essential curl flex g++-multilib gcc-multilib git gnupg gperf libxml2 lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk3.0-gtk3-dev imagemagick git lunzip lzop schedtool squashfs-tools xsltproc zip zlib1g-dev openjdk-8-jdk perl xmlstarlet virtualenv xz-utils rr jq libncurses5 pngcrush lib32ncurses5-dev git-lfs libxml2 openjdk-11-jdk-headless aapt curl fastboot adb 
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib 
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential  
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib 
sudo apt-get install libc6-dev-i386 
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev 
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache bison

この時点で、すべての環境が構成されており、Android 9 のダウンロードとコンパイルを開始します。

**Android 9 のダウンロードとコンパイルに関する最初の説明**

ファイルを作成する

mkdir android9
cd android9

清華ミラー配下のAndroid9指定ブランチを初期化

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-9.0.0_r9

同期コードダウン

repo sync -c -j32

-c は現在のブランチを同期することを意味し、-j32 はコンピューターの CPU に応じて設定された 32 のスレッドを開くことを意味します。

コンパイルを開始

source build/envsetup.sh
lunch aosp_x86_64-eng //我的电脑cpu是intel的。这里选择的是编译目标要根据自己的电脑cpu配置,选择构建目标跟下文编译成功启动模拟器时要对应,否则会出错
make -j32

コンパイルが成功したら、エミュレーターを起動します。

source build/envsetup.sh
lunch aosp_x86_64-eng
emulator -gpu off -partition-size 3048  //这里的大小3048根据情况而定

エミュレータの起動時に発生した問題
ここに画像の説明を挿入

仮想マシンの電源がオンになっているかどうかを確認し、オンになっていない場合は、電源をオンにして仮想マシンを再起動します
ここに画像の説明を挿入

それでも解決しない場合:

コンピューターが仮想マシンをサポートしているかどうかを確認する

egrep -c '(vmx|svm)' /proc/cpuinfo

0 が表示されている場合はサポートされていないことを意味し、それ以外の数字はサポートされていることを意味します

使用 root 权限执行以下三条命令后注销当前用户或者直接重启电脑即可
	(本例子中当前登录图形界面的用户是 zjs)
	groupadd kvm
	usermod -G kvm -a zjs
	echo 'KERNEL=="kvm",GROUP="kvm",MODE="0660"' >> /etc/udev/rules.d/androidUseKVM.rules 
	这三条命令的作用分别是:
	#创建用户组kvm
	#将用户sman添加到kvm用户组
	#开机时自动赋予用户组kvm拥有0660的权限

次に、仮想マシンを再起動します

source build/envsetup.sh
lunch aosp_x86_64-eng
emulator -gpu off -partition-size 3048

Android 12 をダウンロードしてコンパイルする

上記の Android12 と Android9 のダウンロード操作は基本的に違いはありませんが、
コードをプルする際に選択した Android12 です。

mkdir android12
cd android12

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.0.0_r9 
repo sync -c -j32
选择的分支是  android-12.0.0_r9  这个分支

後でエミュレーターをコンパイルして実行すると、いくつかの違いがあります。

実行するとデバイス上で

source build/envsetup.sh
lunch aosp_x86_64-eng 
make -j32

コンパイルはできるのですが、エミュレータを動かしてみると立ち上がりません ランチのネット検索によると、選択したターゲットは sdk_phone_x86_64 です

あれは

source build/envsetup.sh
lunch sdk_phone_x86_64  
make -j32

コンパイルする最後のことは、エミュレーターを起動することです

source build/envsetup.sh
lunch sdk_phone_x86_64  
emulator -gpu off -partition-size 3048

このエラーが発生しました

エミュレータ: エラー: AdbHostServer.cpp:102: ポート: 5037 で adb デーモンに接続できません

adb ツールがまだ実行されていないことを示します。crtl + C でエミュレータを終了します

次に実行

adb start-server

この時点で再実行

emulator -gpu off -partition-size 3048

シミュレーターが立ち上がった
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43836998/article/details/129411486