vytvoření prostředí sestavení
tato část popisuje, jak nastavit místní pracovní prostředí pro vytváření zdrojových souborů systému Android. Musíte použít Linux nebo macOS; budova pod Windows není aktuálně podporována.
přehled celého procesu revize kódu a aktualizace kódu naleznete v části životnost opravy.
výběr větve
některé požadavky na prostředí sestavení jsou určeny verzí zdrojového kódu, který chcete kompilovat. Úplný seznam dostupných poboček naleznete v části čísla sestavení. Můžete si také vybrat, zda chcete stáhnout a vytvořit nejnovější zdrojový kód (nazvaný master
), v takovém případě jednoduše vynecháte specifikaci větve při inicializaci úložiště.
po výběru větve postupujte podle příslušných pokynů níže a nastavte prostředí sestavení.
Nastavení Linux buildenvironment
Tyto pokyny platí pro všechny pobočky, včetně master
.
sestavení Androidu je rutinně testováno v domě na Ubuntu LTS (14.04) a testování Debianu. Většina ostatních distribucí by měla mít k dispozici požadované nástroje pro sestavení.
pro perníčky (2.3 .x) a vyšší verze, včetně větve master
, je vyžadováno 64bitové prostředí. Starší verze lze kompilovat na 32bitových systémech.
instalace požadovaných balíčků (Ubuntu 18.04)
potřebujete 64bitovou verzi Ubuntu.
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
instalace požadovaných balíčků (Ubuntu 14.04)
potřebujete 64bitovou verzi Ubuntu (doporučuje se 14.04).
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
instalace požadovaných balíčků (Ubuntu 12.04)
k sestavení starších verzí systému Android můžete použít Ubuntu 12.04. Verze 12.04 není podporována na master
nebo v posledních verzích.
Instalace potřebné balíčky (Ubuntu 10.04-11.10)
Budova na Ubuntu 10.04-11.10 již není podporován, ale může být užitečné pro budování starší verze AOSP.
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
Na Ubuntu 10.10:
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
Na Ubuntu 11.10:
sudo apt-get install libx11-dev:i386
Konfigurace USB přístup
Instalovat společenství zachována výchozí nastavení udev
pravidla pro všechny Android zařízení pomocí následujících pokynů Nastavte zařízení pro rozvoj.
pomocí samostatného outputdirectory
ve výchozím nastavení je výstup každého sestavení uložen v out/
podadresáři odpovídajícího zdrojového stromu.
na některých počítačích s více úložnými zařízeními jsou sestavení rychlejší při ukládání zdrojových souborů a výstupu na samostatné svazky. Pro další výkon, výstup mohou být uloženy na systému souborů optimalizované pro rychlost, místo havárie robustnost, protože všechny soubory mohou být obnoveny, pokud je systém souborů poškozen.
Chcete-li to nastavit, exportujte proměnnou OUT_DIR_COMMON_BASE
a přejděte na místo, kde budou uloženy vaše výstupní adresáře.
export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>
výstupní adresář pro každý samostatný zdrojový strom je pojmenován podle adresáře, který obsahuje zdrojový strom. Například, pokud máte zdroj stromy /source/master1
/source/master2
OUT_DIR_COMMON_BASE
je nastavena na /output
, výstupního adresáře /output/master1
/output/master2
.
Vyhněte se mají více zdrojových stromů uloženy v adresářích, které mají stejný název, jako zdroj stromy skončí sdílení výstupní adresář, s nepředvídatelnými výsledky. Toto je podporováno pouze na Jelly Bean (4.1) a vyšší, včetně větve master
.
Nastavení prostředí pro sestavení macOS
ve výchozí instalaci běží macOS na souborovém systému, který zachovává velká a malá písmena. Tento typ souborového systému není git podporován a způsobuje, že některé příkazy Git (například git status
) se chovají abnormálně. Z tohoto důvodu doporučujeme vždy pracovat se zdrojovými soubory AOSP v souborovém systému citlivém na velká a malá písmena. To lze provést poměrně snadno pomocí obrazu disku, který je popsán níže.
Když je k dispozici správný souborový systém, vytvoření větve master
v moderním prostředí macOS je jednoduché. Dřívější větve vyžadují některé další nástroje a sady SDK.
Vytvoření disku citlivého na velká a malá písmena
pomocí bitové kopie disku můžete vytvořit souborový systém citlivý na velká písmena ve Vašem stávajícím prostředí macOS. Chcete-li vytvořit obrázek, spusťte nástroj Disk Utility a vyberte nový obrázek. Velikost 250 GB je minimální pro dokončení sestavení; více místa je nejlepší pro budoucí růst. Použití řídkých obrazů šetří místo a zároveň umožňuje růst podle potřeby. Jako formát svazku vyberte možnost velká a velká písmena, žurnál.
můžete také vytvořit soubor systému z shellu příkazem:
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 250g ~/android.dmg.sparseimage
tím se vytvoří .dmg.sparseimage
soubor, který, když je namontován, se chová jako disk s vyžaduje formátování pro Android rozvoj.
Pokud potřebujete větší objem později, můžete změnit velikost řídké obrázek s následujícím příkazem:
hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage
Pro obraz disku s názvem android.dmg.sparseimage
uloženy ve vašem domovském adresáři, můžete přidat pomocné funkce na ~/.bash_profile
:
- připojit obraz při spuštění
mountAndroid
# mount the android file imagemountAndroid() { hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android; }
- odpojit to při spuštění
umountAndroid
# unmount the android file imageumountAndroid() { hdiutil detach /Volumes/android; }
Po připojení android
hlasitost, budete dělat všechnu svou práci. Můžete jej vysunout (odpojit) stejně jako externí disk.
Instalace Xcode a další balíčky
- Nainstalujte Xcode nástroje příkazového řádku:
xcode-select --install
Pro starší verze macOS (10.8 nebo nižší), musíte nainstalovat Xcode od Apple developer site. Pokud nejste registrováni jako vývojář Apple, musíte si ke stažení vytvořit Apple ID.
- nainstalujte buď MacPorts nebo Homebrew pro správu balíčků.
- Zajistit, že spojené adresář je v cestě ve vašem
~/.bash_profile
file:- MacPorts –
/opt/local/bin
musí objevit před/usr/bin
export PATH=/opt/local/bin:$PATH
- Homebrew –
/usr/local/bin
export PATH=/usr/local/bin:$PATH
- MacPorts –
- Pro MacPorts, problém:
POSIXLY_CORRECT=1 sudo port install git gnupg
- Pro Homebrew, problém:
brew install git gnupg2
Nastavení limit deskriptoru souboru
Na macOS, výchozí limit na počet současně otevřených popisovačů souboru je příliš nízká a vysoce paralelní proces sestavení může překročit tento limit. Chcete-li zvýšit limit, přidejte do svého ~/.bash_profile
:
# set the number of open files to be 1024ulimit -S -n 1024