Building Environment
tässä osiossa kuvataan, miten paikallinen työympäristö luodaan Android-lähdekooditiedostojen rakentamiseksi. Sinun on käytettävä Linuxia tai macOS: ia; Windows-rakentamista ei tällä hetkellä tueta.
yleiskatsaus koko koodin tarkistamiseen ja päivittämiseen on ohjeaiheessa laastarin elämä.
haaran valitseminen
jotkin rakennusympäristön vaatimukset määräytyvät sen lähdekoodin version mukaan, jonka aiot koota. Täydellinen luettelo käytettävissä olevista haaroista on ohjeaiheessa Rakennusnumerot. Voit myös ladata ja rakentaa uusimman lähdekoodin (nimeltään master
), jolloin jätät haaramäärityksen pois alustaessasi arkiston.
kun olet valinnut haaran, määritä rakennusympäristösi alla olevien ohjeiden mukaisesti.
Linux-rakennetun ympäristön perustaminen
nämä ohjeet koskevat kaikkia haaroja, mukaan lukien master
.
Android-rakennetta testataan rutiininomaisesti Housessa Ubuntu LTS (14.04) – ja Debian-testauksessa. Useimmissa muissa jakeluissa pitäisi olla tarvittavat rakentamistyökalut käytettävissä.
piparkakkujen (2.3.x) ja uudemmat versiot, mukaan lukien master
haara, vaaditaan 64-bittinen ympäristö. Vanhemmat versiot voidaan kääntää 32-bittisille järjestelmille.
tarvittavien pakettien asentaminen(Ubuntu 18.04)
tarvitset Ubuntusta 64-bittisen version.
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
tarvittavien pakettien asentaminen(Ubuntu 14.04)
tarvitset 64-bittisen version Ubuntusta (suositellaan 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
tarvittavien pakettien asentaminen (Ubuntu 12.04)
voit käyttää Ubuntu 12.04: ää vanhempien Android-versioiden rakentamiseen. Versiota 12.04 ei tueta master
tai viimeaikaisia julkaisuja.
tarvittavien pakettien asentaminen (Ubuntu 10.04-11.10)
Ubuntu 10.04-11.10: n rakentaminen ei ole enää tuettua, mutta se voi olla hyödyllinen AOSP: n vanhempien julkaisujen rakentamisessa.
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-yhteyden määrittäminen
Asenna yhteisön ylläpitämä oletusjoukko udev
säännöt kaikille Android-laitteille noudattamalla ohjeita Laitteen asettamisesta kehitystyötä varten.
käyttämällä erillistä lähdekansiota
oletuksena kunkin lähdekansion tuotos tallennetaan vastaavan lähdepuun alikansioon out/
.
joissakin koneissa, joissa on useita tallennuslaitteita, käännökset ovat nopeampia tallennettaessa lähdetiedostoja ja ulostuloa erillisille taltioille. Lisätehoa, lähtö voidaan tallentaa tiedostojärjestelmän optimoitu nopeus sijaan kaatumisen kestävyys, koska kaikki tiedostot voidaan uudistaa, jos tiedostojärjestelmä on vioittunut.
voit määrittää tämän viemällä OUT_DIR_COMMON_BASE
muuttujan osoittamaan paikkaan, johon tulostehakemistosi tallennetaan.
export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>
kunkin erillisen lähdepuun lähdehakemisto on nimetty lähdepuuta pitävän hakemiston mukaan. Esimerkiksi jos on lähdehakemistoja /source/master1
ja /source/master2
ja jos OUT_DIR_COMMON_BASE
on asetettu /output
, lähtöhakemistot ovat /output/master1
ja /output/master2
.
Vältä useiden lähdepuiden tallentamista samannimisiin hakemistoihin, koska lähdepuut päätyisivät jakamaan lähdehakemiston arvaamattomin tuloksin. Tätä tukee vain Jelly Bean (4.1) ja uudempi, mukaan lukien master
haara.
macOS build environment
oletusasennuksessa macOS toimii kirjainkokoisella, mutta kirjainherkkä tiedostojärjestelmä. Tämän tyyppinen tiedostojärjestelmä ei ole GIT: n tukema ja aiheuttaa sen, että jotkin git-komennot (kuten git status
) käyttäytyvät epänormaalisti. Tämän vuoksi suosittelemme, että työskentelet aina AOSP-lähdetiedostojen kanssa kirjainkokoisessa tiedostojärjestelmässä. Tämä voidaan tehdä melko helposti käyttämällä levykuvaa, jäljempänä.
kun oikea tiedostojärjestelmä on käytettävissä, master
haaran rakentaminen nykyaikaisessa macOS-ympäristössä on yksinkertaista. Aikaisemmat haarat vaativat joitakin lisätyökaluja ja SDK: ta.
luodaan kirjainherkkä levykuva
voit luoda kirjainherkkä tiedostojärjestelmä olemassa olevaan macOS-ympäristöön levykuvan avulla. Voit luoda kuvan käynnistämällä Levyapuohjelman ja valitsemalla uuden levykuvan. Koko 250 GB on minimi loppuun rakentaa; enemmän tilaa on parasta tulevaa kasvua. Harvojen kuvien käyttö säästää tilaa ja mahdollistaa kasvun tarpeen mukaan. Valitse kirjainkoko, joka on tallennettu taltiomuotona.
tiedostojärjestelmän voi luoda myös komentotulkilta seuraavalla komennolla:
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 250g ~/android.dmg.sparseimage
Tämä Luo .dmg.sparseimage
tiedoston, joka asennettuna toimii Android-kehitykseen vaadittavalla muotoilulla varustettuna asemana.
Jos tarvitset myöhemmin suuremman äänenvoimakkuuden, voit muuttaa harvaan levykuvan kokoa seuraavalla komennolla:
hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage
levykuvalle, jonka nimi on android.dmg.sparseimage
, voit lisätä helper-toimintoja ~/.bash_profile
:
- kuvan asentaminen suoritettaessa
mountAndroid
# mount the android file imagemountAndroid() { hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android; }
- kuvan irrottaminen suoritettaessa
umountAndroid
# unmount the android file imageumountAndroid() { hdiutil detach /Volumes/android; }
/ul>
kun olet asentanut android
volume, teet kaikki työsi siellä. Voit poistaa sen (irrottaa sen) aivan kuten ulkoisen aseman.
Xcode-ja muiden pakettien asentaminen
- Asenna Xcode-komentorivityökalut:
xcode-select --install
vanhemmissa macOS-versioissa (10.8 tai alempi) Xcode on asennettava Applen kehittäjäsivustolta. Jos et ole rekisteröitynyt Applen kehittäjäksi, sinun on luotava Apple ID ladattavaksi.
- Asenna joko MacPorts tai Homebrew paketinhallintaa varten.
- varmista, että liittyvä hakemisto on polkusi sisällä
~/.bash_profile
tiedosto:- MacPorts –
/opt/local/bin
täytyy näkyä ennen/usr/bin
export PATH=/opt/local/bin:$PATH
- homebrew –
/usr/local/bin
export PATH=/usr/local/bin:$PATH
- MacPorts –
- macports, Issue:
POSIXLY_CORRECT=1 sudo port install git gnupg
- homebrew, Issue:
brew install git gnupg2
asetettaessa tiedostokuvausrajaa
macOS-käyttöjärjestelmässä samanaikaisten avoimien tiedostokuvausten oletusraja on liian alhainen ja hyvin rinnakkainen rakentamisprosessi voi ylittää tämän rajan. Koron nostamiseksi ~/.bash_profile
:
# set the number of open files to be 1024ulimit -S -n 1024