Build környezet létrehozása
Ez a szakasz leírja, hogyan állíthatja be a helyi munkakörnyezetet az Android forrásfájlok létrehozásához. Linuxot vagy macOS-t kell használnia; a Windows alatt történő építés jelenleg nem támogatott.
a teljes kód-felülvizsgálati és kódfrissítési folyamat áttekintéséhez lásd a javítás élettartamát.
ág kiválasztása
az építési környezetre vonatkozó egyes követelményeket a lefordítani kívánt forráskód verziója határozza meg. A rendelkezésre álló ágak teljes listáját lásd: számok készítése. A legfrissebb forráskódot is letöltheti és elkészítheti (az úgynevezett master
), ebben az esetben egyszerűen kihagyja az ág specifikációját az adattár inicializálásakor.
az ág kiválasztása után kövesse az alábbi utasításokat a build környezet beállításához.
Linux buildenvironment beállítása
ezek az utasítások minden ágra vonatkoznak, beleértve a master
.
az Android buildet rendszeresen tesztelik az Ubuntu LTS (14.04) és a Debian teszteken. A legtöbb más disztribúciónak rendelkeznie kell a szükséges építési eszközökkel.
mézeskalács esetében (2.3.x) és magasabb verziók, köztük a master
ág, 64 bites környezet szükséges. A régebbi verziók 32 bites rendszereken állíthatók össze.
szükséges csomagok telepítése (Ubuntu 18.04)
Az Ubuntu 64 bites verziójára van szüksége.
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
szükséges csomagok telepítése(Ubuntu 14.04)
Az Ubuntu 64 bites verziójára van szüksége (14.04 ajánlott).
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
szükséges csomagok telepítése (Ubuntu 12.04)
használhatja az Ubuntu 12.04-et az Android régebbi verzióinak felépítéséhez. A 12.04-es verzió nem támogatott a master
vagy a legutóbbi kiadásokon.
A szükséges csomagok telepítése (Ubuntu 10.04-11.10)
Az Ubuntu 10.04-11.10 verzióra való építés már nem támogatott, de hasznos lehet az AOSP régebbi kiadásainak felépítéséhez.
sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
Ubuntu 10.10:
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
Ubuntu 11.10:
sudo apt-get install libx11-dev:i386
USB-hozzáférés konfigurálása
telepítsen egy közösség által karbantartott alapértelmezett udev
szabályokat az összes Android-eszközre a fejlesztési eszköz beállítására vonatkozó utasítások betartásával.
egy külön outputdirectory
alapértelmezés szerint az egyes építmények kimenetét a out/
megfelelő forrásfa alkönyvtárában tárolja.
egyes, több tárolóeszközzel rendelkező gépeken az építmények gyorsabbak a forrásfájlok tárolásakor, a kimenet pedig külön köteteken. A további teljesítmény érdekében a kimenet a sebességre optimalizált fájlrendszerben tárolható az összeomlás robusztussága helyett, mivel az összes fájl regenerálható, ha a fájlrendszer sérült.
ennek beállításához exportálja a OUT_DIR_COMMON_BASE
változót arra a helyre, ahol a kimeneti könyvtárak tárolódnak.
export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>
minden egyes forrásfa kimeneti könyvtárát a forrásfát tartó könyvtár után nevezik el. Például, ha a forrás fák /source/master1
és /source/master2
és ha OUT_DIR_COMMON_BASE
van beállítva, hogy /output
, a kimeneti könyvtárak /output/master1
és /output/master2
.
Kerülje el, hogy több forrásfát tároljon az azonos nevű könyvtárakban, mivel a forrásfák végül megosztanak egy kimeneti könyvtárat, kiszámíthatatlan eredményekkel. Ez csak a Jelly Bean (4.1) vagy annál magasabb, beleértve a master
ágat.
macOS build Környezet beállítása
alapértelmezett telepítés esetén a macOS egy esetmegőrző, de esetérzékeny fájlrendszeren fut. Az ilyen típusú fájlrendszert a Git nem támogatja, ezért bizonyos Git parancsok (például git status
) rendellenesen viselkednek. Emiatt javasoljuk, hogy mindig dolgozzon az AOSP forrásfájlokkal egy eset-érzékeny fájlrendszeren. Ezt meglehetősen könnyen meg lehet tenni egy lemezkép segítségével, amelyet az alábbiakban tárgyalunk.
Ha a megfelelő fájlrendszer rendelkezésre áll, a master
ág felépítése egy modern macOS környezetben Egyszerű. A korábbi fióktelepek további eszközöket és SDK-kat igényelnek.
esetérzékeny lemezkép létrehozása
a meglévő macOS környezetén belül esetérzékeny fájlrendszert hozhat létre lemezkép segítségével. A kép létrehozásához indítsa el a lemez segédprogramot, majd válassza az új kép lehetőséget. A 250 GB-os méret a minimális az építés befejezéséhez; több hely a legjobb a jövőbeli növekedéshez. A ritka képek használata helyet takarít meg, miközben szükség szerint lehetővé teszi a növekedést. Válassza a case sensitive lehetőséget, naplózva, mint kötetformátum.
a fájlrendszert egy héjból is létrehozhatja a következő paranccsal:
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 250g ~/android.dmg.sparseimage
Ez létrehoz egy .dmg.sparseimage
fájlt, amely felszereléskor meghajtóként működik az Android fejlesztéséhez szükséges formázással.
ha később nagyobb kötetre van szüksége, átméretezheti a ritka képet a következő paranccsal:
hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage
egyandroid.dmg.sparseimage
az otthoni könyvtárban tárolt lemezképhez hozzáadhat segítő funkciókat a ~/.bash_profile
:
- a
mountAndroid
# mount the android file imagemountAndroid() { hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android; }
- a
umountAndroid
# unmount the android file imageumountAndroid() { hdiutil detach /Volumes/android; }
/ul>
a android
kötet felszerelése után az összes munkát ott végzi. Akkor kiadja azt (leválasztani), ahogy azt egy külső meghajtó.
Telepítése Xcode, illetve más csomagok
- Telepítse az Xcode parancssori eszközök:
xcode-select --install
a régebbi macOS (10.8 vagy alacsonyabb), telepítenie kell az Xcode az Apple fejlesztői oldalon. Ha nem regisztrált Apple fejlesztőként, létre kell hoznia egy Apple ID-t a letöltéshez.
- telepítse a MacPorts vagy Homebrew csomagot.
- annak Biztosítása, hogy a kapcsolódó könyvtár az utat belül a
~/.bash_profile
fájl:- MacPorts –
/opt/local/bin
kell, hogy jelenjen meg a/usr/bin
export PATH=/opt/local/bin:$PATH
- Homebrew –
/usr/local/bin
export PATH=/usr/local/bin:$PATH
- MacPorts –
- A MacPorts, kérdés:
POSIXLY_CORRECT=1 sudo port install git gnupg
- A Homebrew, kérdés:
brew install git gnupg2
fájlleírási határérték beállítása
macOS esetén az egyidejű megnyitott fájlleírók számának alapértelmezett korlátja túl alacsony, és egy nagyon párhuzamos építési folyamat meghaladhatja ezt a határértéket. A kupak növeléséhez adja hozzá a következő sorokat a ~/.bash_profile
:
# set the number of open files to be 1024ulimit -S -n 1024