18 tammikuun, 2022

DIY: Käännä Android ROM lähdekoodista

Android on maailman käytetyin mobiilikäyttöjärjestelmä. Ja mikä parasta, se on täysin avoimen lähdekoodin, mikä maallikon termein tarkoittaa, että lähdekoodi, varsinainen ohjelma on avoimesti kaikkien saatavilla ladata, muokata ja rakentaa omia Rom.

on olemassa paljon mukautettuja Android-jakeluja, joista suosittuja ovat CyanogenMod, SlimROM, Paranoid Android, AOKP, Liquid Smooth, MIUI, Xylon, Ice Cold Jelly jne.

tämän päivän oppaaseen kokoamme CyanogenMod 10.2: n, joka on suosituin Androidin jälkimarkkinarom. Menettely on 99% sama kaikille custom ROM siellä, joten tämä opas voidaan käyttää viitteenä kääntää muita rom Too.

ennakkoedellytykset

  1. Android-puhelin, jossa on helposti saatavilla ydin ja Laitelähde, jo juurtunut ja mukautettu palautuslaite asennettu.
  2. 64-bittinen Linux-jakelu (suosimme Ubuntua).
  3. Vähintään 100 Gt ilmaiseksi kiintolevyllä.
  4. Työosaaminen Linux-Päätekomennoista.
  5. kohtuullisen nopea internet-yhteys.

Point to note: 64-bittinen Linux-käyttöjärjestelmä on must, ja sen täytyy olla natiivi-asennus, ei virtuaalikone.

Set Up Your Build Machine

1. Asenna valitsemasi Linux-käyttöjärjestelmä: 64-bittinen versio virallisten ohjeiden mukaan. (Opas olettaa, että käytämme Ubuntu 13.04: ää). Pidä osio vähintään 100GB kanssa 16gb Swap osio.

2. Asenna seuraava pakettiluettelo: Avaa Terminaalisovellus ja kirjoita

sudo apt-get install <package-name>

paina enter ja se kysyy salasanasi.

pakkausluettelo

git-core
gnupg
flex
bison
python
rar
original-awk
gawk
p7zip-full
gperf
libsdl1.2-dev
libesd0-dev
libwxgtk2.6-dev
squashfs-tools
build-essential
zip
curl
libncurses5-dev
zlib1g-dev
pngcrush
schedtool
libc6-dev
x11proto-core-dev
libx11-dev
libg11-mesa-dev
mingw32
tofrodos
python-markdown
libxml2-utils
g++-multilib
lib32z1-dev
ia32-libs
lib32ncurses5-dev
lib32readline-gplv2-dev
gcc-multilib
g++-multilib
xsltproc

3. Install Java JDK 1.6 for Linux 64-bit: File name should be jdk-6u##-linux-x64.bin, ## are version numbers. Move the downloaded package to your home directory. Avaa Terminal-sovellus ja suorita seuraavat komennot:

sudo apt-get purge openjdk – \ * icedtea-\* icedtea6 – \*
sudo mkdir-p /opt/java/64/
sudo cp jdk-6u##-linux-x64.bin/opt/java /64
sudo su –
cd/opt/java / 64
chmod a+x JDK-6U##-linux-x64.bin
./ JDK-6U## – linux-x64.bin
exit

Now, we must add JDK Path to .bashrc

sudo gedit ~/.bashrc

lisää nämä rivit tekstitiedoston loppuun

# Java Path
export JAVA_HOME = / opt / java / 64 / jdk1. 6. 0_# #
export PATH = $PATH:$ JAVA_KOTI / Roskakori

4. Asenna Android SDK: Open Terminal App

cd ~
mkdir android &&cd android
mkdir sdk

Lataa Android SDK http://developer.android.com/sdk/index.html. Pura paketin sisältö ~ / android / sdk meidän täytyy lisätä Android SDK polku .bashrc

sudo gedit ~/.bashrc

lisää nämä rivit tekstitiedoston loppuun:

# Android SDK Path
export PATH = $PATH:~ / android / sdk
export PATH = $PATH:~ / android / sdk/platform-tools
export PATH = $PATH:~ / android / sdk / tools

now, install Android SDK Tools by typing

android

5. Määritä GitHub-tili ja Remote repo: voit ohittaa tämän vaiheen, jos CyanogenMod tukee puhelintasi virallisesti. Siirry github.com ja tee itsellesi tili. Tämän oppaan, olen harkitsee käyttäjätunnuksesi ”käyttäjä”.

käynti ”github.com/CyanogenMod/android’, paina haarukkaa. Etäluettelo haarautuu, ja se on saatavilla henkilökohtaisessa repossasi.

now, go to ”github.com/user/android’. avaa tiedoston oletusarvo.XML, paina Edit. Etsi tämä rivi:

<project path= ”android” name= ”CyanogenMod / android” />

ja korvaa tämä

<project path= ”android” name= ”käyttäjä / android” />

harkitsen laitteesi ytimen lähdettä, laitteen lähdettä ja toimittajan libs Android 4.3: lle olevan

github.com/user2/kernel_source
github.com/user2/device_source
github.com/user2/device-common_source
github.com/user2/vendor

lähden siitä, että haaran nimeksi tulee ”jb4.3”. Tarkka nimi löytyy varsinaisesta reposta. Sitten, lopussa tiedoston, lisää nämä rivit, muokkaamalla niitä mukaan laitteen lähdekoodin.

<project path= ”kernel/your_company / your_device” name= ”user2 / kernel_source” remote= ”github” revision= ”jb4.3” />
<project path= ”device/your_company / your_device” name= ”user2 / device_source” remote= ”github” revision= ”jb4.3” />
<project path=” device/your_company/your_device-common”name=” user2/device-common_source”remote=” github”revision =” jb4.3″ />
<project path= ”vendor/your_company” name= ”user2 / vendor” remote= ”github” revision= ”jb4.3” />

toimita muutokset arkistoon. Etäluettelosi on valmiina käyttöön.

6. Install Repo Command: Open Terminal and type

cd ~
mkdir ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo >~/bin/repo
chmod a+x ~/bin/repo

on lisättävä Repopolku .bashrc

sudo gedit ~/.bashrc

Lisää tämä rivi tekstitiedoston loppuun

export PATH=$PATH:~ / bin

7. Nouda ROM-lähdekoodi: Avaa pääte ja kirjoita

mkdir ~ / android / cm
cd ~ / android / cm

jos tarvitset vaiheen 5, Kirjoita

repo init-u git:/ / github. com / user / android. git –B cm-10.2

jos laitteesi tukee CyanogenMod 10.2: ta virallisesti, Kirjoita

repo init –u githttps://github.com/CyanogenMod/android.git –B cm-10.2

nyt juokse

repo sync –j16

mene kahville tai syömään, siinä menee kauan. Lähdekoodi on kooltaan reilusti yli 10 Gt, joten se vie aikaa.

Noudetaan Lähdettä

8. Määritä laitekohtaiset jutut: jos laite tukee CyanogenMod 10.2: ta virallisesti, avaa pääte ja kirjoita

cd ~/android/cm
. build/envsetup.sh & & aamiainen < laite_koodinimi>

se kestää jonkin aikaa, laitteen lähde on noin 3GB kooltaan. Sitten, sinun täytyy olla virallinen CM10.2 asennettu puhelimeen, liitä se tietokoneeseen USB-testaus tilassa, ja suorita seuraavat komennot:

adb juuri
cd ~/android/cm/device/<your_company>/<your_device>/
./extract-files.sh

jos laitteesi ei tue CyanogenMod 10.2: ta virallisesti, sinulla ei ole mitään tekemistä tässä vaiheessa, lähteet odottavat jo sinua.

9. Lataa valmiiksi kootut jutut ja aseta Työkaluketju: avaa pääte ja kirjoita

cd ~ / android/cm/vendor / cm
Sh ./ get-prebuilds

nyt, meidän täytyy lisätä Toolchain polku ./bashrc

cd ~ / android / cm
sudo gedit ~/.bashrc

lisää nämä rivit tekstitiedoston loppuun

# Android Toolchain
export ARCH=arm
export CCOMPILE=$CROSS_COMPILE
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:~/android/cm/prebuild/linux-x86/toolchain/arm-eabi-4.4.3 / bin

10. Rakenna ROM: niin, kaikki on kunnossa ja valmis. On aika rakentaa ROM. Avoin Pääte ja tyyppi

cd ~ / android / cm
. build/envsetup.sh
Brunssi < device_codename>

aika ottaa nokoset. Kestää ziljoona vuotta rakentaa ROM keskimääräinen tietokone. No, se oli liioittelua, mutta minun kotitietokone (Core i5 2nd gen 8GB RAM), se kestää yli 3 tuntia rakentaa tyhjästä. Toivottavasti virheitä ei tule, ja rakennus valmistuu hienosti. Saat lähtö paketti sisään

~/android/cm/out/target/product/<your_device>/cm-10.2-something-UNOFFICIAL-<your_device>.zip

on aika asentaa vastakääntynyt ROM puhelimeen. Lataa Google Apps-paketti kohdasta ” www.Goo.im/gapps ” asianmukaiselle Android-versiolle. Laita molemmat paketit puhelimeen, ja flash ne palautustilassa. Voila, oma käännetty ROM on nyt käynnissä laitteen.

No, niin opittiin kokoamaan ROM. Mitä nyt?

Päivitä lähdekoodisi

hakeaksesi uusia lähdekoodipäivityksiä paikallisesti ladattuun lähdekoodiisi, avoimeen päätelaitteeseen, ja kirjoita

cd ~/android/cm
repo sync –j16

rakentaaksesi ROM-versiosi, kun olet päivittänyt lähdekoodin, avoimen päätelaitteen ja tyypin

cd ~/Android/cm
make installclean
find ./ out / – name ’build.prop ’ | xargs rm
etsi ./ out/ – name ” cm_< your_device> – target_files-eng.*.zip ’ | xargs rm
. build/envsetup.sh
Brunssi < your_device>

koska et rakenna uudelleen tyhjästä, vaan rakennat uudelleen sellaisenaan, se vie huomattavasti vähemmän aikaa, vain noin 15-30 minuuttia useimmissa tapauksissa. Paikallista lähdettä kannattaa synkronoida noin viikon välein, jotta paikallinen lähde pysyy tuoreena.

Puhdista Työhakemistosi

puhdistaaksesi työhakemistosi kokonaan (Lue: palauta lähdekansio varastotilaan), avaa pääte ja kirjoita seuraavat komennot.

cd ~/android/cm
make installclean
make clobber

pidä mielessä, että näiden komentojen suorittamisen jälkeen kaikki tulostustietosi poistetaan, joten seuraava rakentaminen kestää 3-4 tuntia uudelleen, koska kaikki rakennetaan uudelleen tyhjästä. Jos kiintolevyosio on pieni, sanoa noin 100GB, sinun pitäisi puhdistaa työhakemisto noin kerran 4 rakentaa, tai muuten, sinun loppuu kiintolevytilaa.

Speed up your build by CCACHE

ROM-levyn rakentaminen vie paljon aikaa. CCACHEN avulla aikaa voi kuitenkin lyhentää noin 30-45 prosenttia. CCACHE on lyhenne sanoista compiler cache, se kätkee aikaisemman käännöstuloksen, jotta sitä voidaan käyttää uudelleen myöhemmissä rakennuksissa.

huomaa, että CCACHE tarvitsee paljon tilaa kiintolevylläsi sisällön välimuistiin tallentamiseen, joten se on suositeltavaa, jos ja vain jos Kiintolevyosiosi on jossain 200 Gt: n tai korkeamman läheisyydessä. CCACHEN määrittäminen, avaa pääte ja kirjoita:

cd ~/android/cm
export USE_CCACHE=1
export CACHE_DIR=~/.ccache
prebuilds / misc/linux-x86/ccache / ccache –M 50g

voit muuttaa CCACHEN maksimikokojaon 50 Gt: stä miksi haluat, mutta noin 30 Gt: n minimiä tulisi käyttää hyviin tuloksiin.

nouda toimituksia muista Rom-versioista

voit cherry-pick-ominaisuuksia muista Rom-lähdekoodeista. Esimerkiksi haluan valita ominaisuuden a, toimitustunnuksella ”12345” arkistosta ”github.com/user/reporepo”.

navigoit pakettiin paikallisessa lähdekoodissa ja suoritat nämä päätteessä.

cd ~ / <path_to_reporepo_pakkaukset>
git nouto https://github.com/user/reporepo
git cherry-pick 12345

Source Code Links of Famous Android Custom ROM Distributions

CyanogenMod – https://github.com/CyanogenMod
SlimROM – https://github.com/SlimRoms
ParanoidAndroid – https://github.com/ParanoidAndroid
AOKP – https://github.com/AOKP
LiquidSmooth – https://github.com/liquidsmooth
Xylon ROM –
Ice Cold Jelly– https://github.com/IceColdJelly

niin, siellä menee kaverit, yksinkertainen, yksinkertainen opas kääntää lähes kaikki Android AOSP perustuu ROM 10 yksinkertaisia ohjeita. Vaikka oppaani keskittyy CyanogenMod, voit kääntää lähes kaikki AOSP ROM siellä, vain muokkaamalla arkiston linkkejä. Tai, voit vain valita ominaisuuksia, sitouttaa ne, muokata juttuja ja luoda oman henkilökohtaisen ROM, ehkä jakaa ROM verkossa liian?

Vastaa

Sähköpostiosoitettasi ei julkaista.