1. Einleitung
Kompilieren Sie das Android-System mit Ubuntu20.04, um die Kompilierung des Android10-Quellcodes zu erstellen
2. Detaillierte Schritte
1. Laden Sie VMware Workstation Pro herunter
Als Beispiel dient hier die neueste Version von VMware Workstation Pro 16. Die Download-Adresse der offiziellen Website lautet: Windows Virtual Machine | Workstation Pro | VMware | CN Wählen Sie die Testversion
Der Installationsprozess ist relativ einfach, hier ist eine ausführliche Einführung.
2. Laden Sie Ubuntu20.04 herunter
Hier wird die Version 20.04 verwendet, und die offizielle Downloadadresse lautet: Ubuntu system download | Ubuntu
Finden Sie die entsprechende Ubuntu-Version und laden Sie sie herunter
3. Installieren Sie Ubuntu20.04 auf der VM
1. Wählen Sie zum Erstellen einer neuen virtuellen Maschine auf der VM-Startseite, wie in der Abbildung unten gezeigt
2. Wählen Sie Typische Installation
3. Suchen Sie das heruntergeladene Ubuntu-System in der Installations-CD-Image-Datei, wie in der Abbildung unten gezeigt
4. Füllen Sie die Benutzerinformationen aus
5. Legen Sie den Festplattenspeicherort des Systems in der physischen Maschine fest
6. Legen Sie die Größe der Festplatte fest
Die empfohlene Größe der Festplatte beträgt 300 G. Der Quellcode des Android-Systems ist ziemlich groß (der Quellcode von Android 10, der damals heruntergeladen wurde, betrug fast 100 G), und die nachfolgende Kompilierung wird etwa 200 G betragen, falls der Speicherplatz vorhanden ist unzureichend, was dazu führt, dass das Android-System nicht kompiliert werden kann.
7. Stellen Sie den Speicher und den Prozessor von Ubuntu ein
Stellen Sie den Speicher auf 16 GB ein (es wird empfohlen, den Speicher auf 16 GB einzustellen, wenn er zu klein ist, treten viele anormale Probleme wie Speicherüberlauf usw. und verschiedene seltsame Probleme auf), und der Prozessor hat 8 Kerne. Außerdem ist zu beachten, dass Sie auf dem Prozessor das virtualisierte VT ankreuzen müssen, da sonst nach erfolgreicher Kompilierung des Android-Systems der Android-Emulator nicht mit dem Emulator-Befehl gestartet werden kann.
Klicken Sie auf Finish, das Ubuntu-System kann auf der VM installiert werden
Nach erfolgreicher Installation stellt sich Ubuntu wie folgt dar. Damit ist die Installation von Ubuntu 20.04 auf der VM abgeschlossen.
4. Laden Sie den Android-Quellcode herunter
Bevor Sie den Android-Quellcode herunterladen, müssen Sie die Kompilierungsabhängigkeitsbibliothek und den Tool-Download installieren.
1. Git installieren
sudo apt-get install git
Überprüfen Sie nach erfolgreicher Installation die Git-Version
git --version
Die Git-Version wird angezeigt, dh die Installation ist erfolgreich
Richten Sie nach dem Herunterladen von Git ein Git-Konto ein
git config --global user.email "[email protected]"
git config --global user.name "xxxxx"
2. Installieren Sie jdk
sudo apt-get install openjdk-8-jdk
3. Konfigurieren Sie die Umgebungsvariable PATH
mkdir ~/bin
echo "PATH=~/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
4. Installieren Sie die Curl-Bibliothek
sudo apt-get install curl
5. Repo herunterladen und Berechtigungen festlegen
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
6. Python installieren
sudo apt-get install python
Überprüfen Sie die Python-Version
python --version
Wenn Sie die Python-Version sehen, war die Installation erfolgreich
Quellcode herunterladen
1. Erstellen Sie das Android-Quellcodeverzeichnis:
mkdir source
cd source
mkdir android_10
cd android_10
2. Stellen Sie die Adresse des Repos ein, der hier verwendeten Tanna-Quelle:
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
3. Lager initialisieren:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
4. Android-Version erstellen und initialisieren:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-10.0.0_r10
5. Starten Sie die Synchronisierung der Codequelle:
repo sync
Der Android-Quellcode ist sehr groß und muss lange synchronisiert werden. Wenn während des Synchronisierungsvorgangs eine Stelle längere Zeit hängen bleibt, können Sie mit Strg + Z die Synchronisierung unterbrechen und Repo synchronisieren, um zu synchronisieren
Kompilieren Sie den Quellcode
1. Installieren Sie Abhängigkeiten
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
sudo apt-get install libssl-dev
Bei den obigen Installationsabhängigkeiten treten zwei Probleme auf
(1) Bei der Installation von sudo apt-get install libesd0-dev wird der Fehler gemeldet, dass das Paket libesd0-dev nicht gefunden werden kann
Lösung:
sudo gedit /etc/apt/sources.list //在行尾添加如下两行的内容
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
(2) 安装 apt-get install lib32ncurses5-dev可能报"lib32ncurses5-dev : Hängt ab von: libncurses5-dev (= 6.0+20160213-1ubuntu1) Probleme können nicht behoben werden, Sie haben beschädigte Pakete."
Lösung:
1. Installieren Sie aptitude
sudo apt install aptitude
2. Installieren Sie lib32ncurses5-de
Es ist zu beachten, dass die Installation dieser lib32ncurses5-de auf root-Berechtigung umgestellt werden muss (die erste Installation von Ubuntu root-Passwort ist zufällig, Sie können sudo passwd root verwenden), um das Passwort einzugeben oder zu ändern
sudo passwd root
Verwenden Sie su zur Eingabe, um zum Root-Benutzer zu wechseln
su
Geben Sie einfach das Root-Passwort ein, in der Befehlszeile des Root-Benutzers steht ein #, dh wechseln Sie zum Superuser und installieren Sie lib32ncurses5-de
aptitude install lib32ncurses5-dev
Bei der Installation werden Sie gefragt, ob Sie die aktuelle Version behalten möchten, geben Sie zuerst n ein, und dann werden Sie gefragt, ob Sie ein Downgrade durchführen möchten, geben Sie y ein
Kompilieren beginnen
source build/envsetup.sh
lunch 21 (X86版本)
make -j8
Hier bedeutet -j8, dass 8 Threads an der Kompilierung teilnehmen dürfen Diese Zahl entspricht im Allgemeinen der Anzahl der CPU-Kerne * 2. Sie können zugehörige CPU-Informationen über cat /proc/cpuinfo anzeigen.
Die Kompilierung ist erfolgreich, wie unten gezeigt
Starten Sie den Emulator
emulator
Erfolgreich ausgeführt, das ist der von uns manuell kompilierte Android-Quellcode.