Articles

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; }
  • aumountAndroid
    # 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

  1. 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.

  2. telepítse a MacPorts vagy Homebrew csomagot.
  3. annak Biztosítása, hogy a kapcsolódó könyvtár az utat belül a ~/.bash_profile fájl:
    1. MacPorts – /opt/local/bin kell, hogy jelenjen meg a /usr/bin
      export PATH=/opt/local/bin:$PATH
    2. Homebrew – /usr/local/bin
      export PATH=/usr/local/bin:$PATH
  4. A MacPorts, kérdés:
    POSIXLY_CORRECT=1 sudo port install git gnupg
  5. 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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük