Where is the Android source located?

Guide til Androids kildekode: Download & Byg

26/02/2016

Rating: 3.94 (1166 votes)

At dykke ned i Androids kildekode kan virke som en skræmmende opgave, men det åbner en verden af muligheder for udviklere, entusiaster og virksomheder, der ønsker at tilpasse eller forstå kernen i verdens mest populære mobiloperativsystem. Android Open Source Project (AOSP) er den åbne kildekode-softwarestak, som de fleste Android-enheder er baseret på. Kildekoden er tilgængelig i en samling af Git-repositories, som hostes af Google. Denne artikel vil guide dig trin for trin gennem processen med at opsætte dit udviklingsmiljø, downloade koden og bygge din egen version af Android.

How do I build the Android source files?
To build the Android source files, you will need to use Linux or Mac OS. Building under Windows is not currently supported. The Android build is routinely tested in house on recent versions of Ubuntu (10.04 and later), but most distributions should have the required build tools available.
Indholdsfortegnelse

Forberedelse af dit udviklingsmiljø

Før du kan downloade og bygge AOSP, skal du sikre dig, at din computer opfylder de nødvendige krav. Byggeprocessen understøttes officielt kun på Linux og Mac OS. Windows understøttes på nuværende tidspunkt ikke. Hver fuld kildekode-checkout og efterfølgende build kan kræve op til 300 GB diskplads eller mere, så sørg for at have rigeligt med plads.

Opsætning på Linux (Ubuntu)

Android-teamet tester jævnligt byggeprocessen på nyere versioner af Ubuntu. For at forberede et 64-bit Ubuntu-system skal du installere en række nødvendige pakker. Java Development Kit (JDK) er en af de vigtigste komponenter.

  • For Gingerbread (2.3.x) og nyere: JDK 8 er påkrævet.
  • For Froyo (2.2.x) og ældre: JDK 5 var nødvendigt.

Du kan installere de nødvendige værktøjer med en enkelt kommando i din terminal:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Det er afgørende at have den korrekte version af alle værktøjer for at undgå byggefejl.

Opsætning på Mac OS X

At bygge på en Mac kræver en Intel/x86-baseret maskine. En af de mest kritiske forudsætninger er, at du skal bygge på et filsystem, der skelner mellem store og små bogstaver (case-sensitive). Standard macOS-filsystemet (APFS eller HFS+) er typisk ikke case-sensitive.

Den nemmeste løsning er at oprette et case-sensitive disk image:

  1. Åbn 'Diskværktøj' (Disk Utility).
  2. Vælg 'Arkiv' > 'Nyt diskbillede' > 'Tomt diskbillede'.
  3. Giv det et navn (f.eks. "AOSP"), vælg en passende størrelse (mindst 250 GB anbefales), og vigtigst af alt, vælg "Mac OS udvidet (forskel på store og små bogstaver, journaled)" eller "APFS (forskel på store og små bogstaver)" som format.
  4. Gem diskbilledet. Når det er monteret, vil det fungere som et separat drev, hvor du kan udføre dit arbejde.

Du skal også installere Xcode og kommandolinjeværktøjerne samt MacPorts eller Homebrew for at installere pakker som `gmake`, `libsdl` og `git`.

Sammenligning af miljøopsætning

FunktionLinux (Ubuntu)Mac OS X
OS KravUbuntu 14.04+ (64-bit anbefales)macOS 10.8+ (Intel/x86)
FilsystemEnhver standard (ext4 er typisk)Kræver et case-sensitive filsystem (f.eks. via disk image)
Java (JDK)OpenJDK 8 (eller nyere afhængig af Android-version)Installeres via standardmetoder eller pakkehåndtering
Pakkehåndteringapt-getMacPorts eller Homebrew
Vigtige pakkergit, gnupg, flex, bison, gperf, build-essentialxcode-select --install, gmake, libsdl, git-core, gnupg

Download af Androids kildekode med Repo

Google har skabt et værktøj kaldet Repo for at gøre det lettere at arbejde med de mange Git-repositories, som AOSP består af. Repo er et Python-script, der initialiserer og synkroniserer alle de nødvendige repositories baseret på en manifest-fil.

Trin 1: Installer Repo

Først skal du oprette en `bin`-mappe i din hjemmemappe og tilføje den til din PATH. Derefter kan du downloade Repo-scriptet.

Where is the Android source located?
The Android source is located in a collection of Git repositories hosted by Google. The Git repository includes the entire history of the Android source, including changes to the source and when the changes were made. This page describes how to download the source.
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

Trin 2: Initialiser en Repo-klient

Nu hvor Repo er installeret, kan du initialisere din arbejdsmappe. Dette er det trin, hvor du vælger, hvilken version (gren) af Android du vil downloade.

  1. Opret en mappe til din kildekode: `mkdir aosp && cd aosp`
  2. Kør `repo init` for at hente den seneste manifest-fil og specificere en gren. Manifest-URL'en peger på den fil, der definerer, hvilke Git-projekter der skal downloades.

$ repo init -u https://android.googlesource.com/platform/manifest

For at vælge en specifik gren, brug `-b` flaget. For eksempel, for at hente Android 13.0.0 Release 1:

$ repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r1

Vigtig note: Fra 27. marts 2025 anbefales det at bruge `android-latest-release` i stedet for `aosp-main` for at bygge og bidrage til AOSP.

Trin 3: Synkroniser kildekoden

Når din klient er initialiseret, er du klar til at downloade alle filerne. Dette gøres med kommandoen `repo sync`. Dette kan tage flere timer afhængigt af din internetforbindelse.

$ repo sync -c -j8

  • -c: Henter kun den nuværende manifest-gren for at spare tid og plads.
  • -j8: Bruger 8 parallelle tråde til at fremskynde processen. Du kan justere dette tal baseret på din computers CPU-kerner.

Håndtering af proprietære binære filer

AOSP alene kan køre i en emulator, men for at køre på fysisk hardware (som Google Pixel- eller Nexus-enheder) kræves yderligere hardwarespecifikke, proprietære binære filer. Disse inkluderer drivere til grafik, radio (mobilnetværk) og andre komponenter. Disse filer er ikke en del af AOSP, men Google stiller dem til rådighed for specifikke enheder.

  1. Find de korrekte filer: Gå til Googles side for 'Binaries for Nexus and Pixel Devices'.
  2. Download arkivet: Find den fil, der matcher din enhed og den build-version, du har downloadet.
  3. Udpak i roden af din kildekode: Arkivet indeholder et selvudpakkende script. Kør dette script fra roden af din `aosp`-mappe. Du skal acceptere licensbetingelserne, hvorefter scriptet automatisk placerer filerne i `vendor/`-mappen.

Uden disse filer vil du ikke være i stand til at bygge en fuldt funktionel version af Android til en fysisk enhed.

Bygning af kildekoden

Med kildekoden downloadet og de binære filer på plads, er du klar til at bygge. Byggeprocessen består af tre hovedkommandoer.

Trin 1: Opsæt bygge-miljøet

Kør `envsetup.sh`-scriptet for at initialisere dit shell med de nødvendige funktioner og miljøvariabler.

$ source build/envsetup.sh

Trin 2: Vælg et mål (Target)

Brug kommandoen `lunch` til at vælge, hvilken enhed og byggevariant du vil kompilere. Hvis du kører `lunch` uden argumenter, får du en menu med tilgængelige valg.

$ lunch

Et typisk valg kunne være `aosp_flame-userdebug` for en Pixel 4. 'aosp' angiver en ren AOSP-build, 'flame' er kodenavnet for enheden, og 'userdebug' er byggevarianten, som er god til udvikling med root-adgang.

How do I check the source code of Android Studio?
Download an install the repo tool to checkout the source of Android Studio. Check out the latest published source code using the following commands in a shell: You can call the top level directory whatever you want. Those of us who check out multiple branches prefer to name the directories after the branches.

Trin 3: Start byggeprocessen

Nu er det tid til at starte selve kompileringen med `make`-kommandoen. Dette er en ressourcekrævende proces, der kan tage flere timer.

$ make -j16

-j16 angiver, at `make` skal forsøge at køre op til 16 opgaver parallelt. En god tommelfingerregel er at bruge et tal, der er 1-2 gange antallet af CPU-kerner på din maskine.

Når byggeprocessen er færdig, vil de resulterende billedfiler (`system.img`, `boot.img`, etc.) ligge i mappen `out/target/product/<device_codename>/`.

Ofte Stillede Spørgsmål (OSS)

Hvad er AOSP?

AOSP står for Android Open Source Project. Det er den grundlæggende kildekode for Android-operativsystemet, som Google vedligeholder. Producenter som Samsung, OnePlus osv. tager denne kode og tilføjer deres egne drivere, apps og tilpasninger.

Hvorfor kan jeg ikke bygge Android på Windows?

Androids byggesystem er dybt afhængigt af værktøjer og filsystemfunktioner, der er native for Unix-lignende systemer som Linux og macOS. Selvom der findes løsninger som Windows Subsystem for Linux (WSL), er det officielt ikke understøttet og kan føre til uforudsete problemer.

Hvad er forskellen på AOSP og Android Studio's kildekode?

AOSP er kildekoden til selve Android-operativsystemet. Android Studio er Integrated Development Environment (IDE), som bruges til at udvikle apps til Android. Kildekoden til Android Studio er også open source og kan checkes ud ved hjælp af en lignende `repo`-proces, men med en anden manifest-URL, typisk en med `studio-` i navnet.

Skal jeg downloade proprietære binære filer?

Det afhænger af dit mål. Hvis du kun planlægger at køre din build i Android Emulator (f.eks. Cuttlefish), er det ikke nødvendigt. Hvis du vil installere og køre din custom Android-version på en fysisk Pixel- eller Nexus-enhed, er disse filer absolut nødvendige for, at hardwaren fungerer korrekt.

Hvis du vil læse andre artikler, der ligner Guide til Androids kildekode: Download & Byg, kan du besøge kategorien Sundhed.

Go up