január 18, 2022

DIY: fordítsd Android ROM forráskód

Android a legszélesebb körben használt mobil operációs rendszer a világon. És a legjobb az egészben, hogy teljesen nyílt forráskódú, ami laikus értelemben azt jelenti, hogy a forráskód, a tényleges program nyíltan elérhető mindenki számára, hogy letölthesse, testre szabhassa és elkészíthesse saját ROM-ját.

rengeteg egyedi Android disztribúció érhető el, a népszerűek a CyanogenMod, a SlimROM, a Paranoid Android, az AOKP, a Liquid Smooth, a MIUI, a Xylon, a Ice Cold Jelly stb.

a mai útmutatóhoz összeállítjuk a CyanogenMod 10.2-t, a legnépszerűbb Android Utángyártott ROM-ot. Az eljárás 99% – ban megegyezik az összes egyedi ROM-mal, így ez az útmutató referenciaként használható más ROM-ok összeállításához is.

előfeltételek

  1. egy Android telefon, amely könnyen elérhető kernellel és Eszközforrással rendelkezik, már gyökerezik és egyéni helyreállítással telepítve.
  2. 64 bites Linux disztribúció (mi inkább Ubuntu).
  3. legalább 100 GB szabad a merevlemezen.
  4. Linux terminál parancsok ismerete.
  5. viszonylag gyors internetkapcsolat.

megjegyzés: a 64 bites Linux operációs rendszer kötelező, és natív telepítésnek kell lennie, nem virtuális gépnek.

Állítsa Be A Build Gépet

1. Telepítse a választott Linux operációs rendszert: 64 bites verzió, a hivatalos utasításoknak megfelelően. (Az útmutató feltételezi, hogy Ubuntu 13.04-et futtatunk). Tartson legalább 100 GB-os partíciót 16 GB-os Swap partícióval.

2. Telepítse a következő csomaglistát: Nyissa meg a terminál alkalmazást, és írja be

sudo apt-get install <Csomagnév>

nyomja meg az enter billentyűt, és kérni fogja a jelszavát.

Csomaglista

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. Nyissa meg a terminál alkalmazást, és futtassa a következő parancsokat:

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.kuka
./ jdk-6u# # – linux-x64.bin
kilépés

most hozzá kell adnunk a JDK elérési útját .bashrc

sudo gedit ~/.bashrc

adja hozzá ezeket a sorokat a szövegfájl végéhez

# Java elérési út
export JAVA_HOME= / opt/java / 64 / jdk1.6. 0_##
exportálási útvonal=$elérési út:$JAVA_HOME / kuka

4. Telepítse az Android SDK-t: nyissa meg a terminál alkalmazást

cd ~
mkdir android && cd android
mkdir sdk

töltse le az Android SDK-t http://developer.android.com/sdk/index.html – ből. Bontsa ki a csomag tartalmát a ~/android/sdk fájlba, amelyhez hozzá kell adnunk az Android SDK elérési útját .bashrc

sudo gedit ~/.bashrc

adja hozzá ezeket a sorokat a szövegfájl végéhez:

# Android SDK elérési út
exportálási út=$elérési út:~ / android / sdk
exportálási út=$elérési út:~ / android / sdk / platform-eszközök
exportálási út=$elérési út:~ / android / sdk / eszközök

most telepítse az Android SDK eszközöket a

android beírásával

5. Állítsa be github-fiókját és távoli repo-ját: ezt a lépést kihagyhatja, ha a CyanogenMod hivatalosan támogatja a telefont. Tovább github.com és készíts magadnak egy számlát. Ebben az útmutatóban a felhasználónevét felhasználónak tekintem.

látogatás ‘github.com/CyanogenMod/android’, nyomja meg a villát. A távoli jegyzék lesz villás, és elérhető a személyes repo.

most menj a ‘github.com/user/android’. nyissa meg a fájlt alapértelmezett.xml, nyomja meg a Szerkesztés gombot. Keresse meg ezt a sort:

<Projekt elérési útja= “android” name= “CyanogenMod / android” />

és helyettesítsd ezt a

<Projekt elérési útja= “android” név= “felhasználó / android” />

figyelembe veszem, hogy az eszköz kernel forrása, az eszköz forrása és az Android 4.3 szállítói libsje

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

feltételezem, hogy az ág neve ‘jb4.3’. A pontos nevet a tényleges repóban találja meg. Ezután a fájl végén adja hozzá ezeket a sorokat, módosítva azokat az eszköz forráskódjának megfelelően.

<Projekt elérési útja= “kernel / your_company / your_device” name= “user2 / kernel_source” remote= “github” revision= “jb4.3” />
<Projekt elérési útja= “eszköz / saját cég/saját eszköz “name=” user2 / eszköz_forrás “remote=” github “revision=” jb4.3″ />
<Projekt elérési útja= “eszköz / saját cég/saját eszköz-közös” név=” user2/eszköz-közös forrás”remote=” github”revision=” jb4.3″ />
<project path= “szállító / your_company” name= “user2 / szállító” remote= “github” revision= “jb4.3” />

végezze el a változtatásokat. A távoli jegyzék készen áll a bevetésre.

6. Telepítse a Repo parancsot: nyissa meg a terminált, és írja be a

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

hozzá kell adnunk a Repo elérési útját .bashrc

sudo gedit ~/.bashrc

adja hozzá ezt a sort a szövegfájl végéhez

export elérési út=$elérési út:~ / bin

7. Szerezd meg a ROM forráskódját: Nyissa meg a terminált, és írja be a

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

ha az 5. lépésre van szüksége, írja be a

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

ha készüléke hivatalosan támogatja a CyanogenMod 10.2-t, akkor írja be

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

most fuss

repo sync –j16

menj fogj egy kávét, vagy egy étkezés, ez fog sokáig tartani. A forráskód jóval meghaladja a 10 GB-ot, így elég sok időt vesz igénybe.

Forrás Lekérése

8. Állítsa be az eszközspecifikus dolgokat: ha a készülék hivatalosan támogatja a CyanogenMod 10.2-t, akkor nyissa meg a terminált, és írja be a

cd ~/android/cm
parancsot. build/envsetup.sh && reggeli < eszköz_codename>

eltart egy ideig, az eszköz forrása körülbelül 3 GB méretű. Ezután telepítenie kell a hivatalos CM10. 2 – et a telefonjára, csatlakoztassa a számítógéphez USB hibakeresési módban, majd futtassa a következő parancsokat:

adb gyökér
cd ~/android/cm/device/<your_company>/<your_device>/
./extract-files.sh

ha készüléke hivatalosan nem támogatja a CyanogenMod 10.2-t, akkor ebben a lépésben nincs mit tennie, a források már várnak rád.

9. Töltse le az előre elkészített dolgokat és állítsa be az Eszközláncot: nyissa meg a terminált, és írja be a

cd ~/android/cm/vendor/cm
sh parancsot ./ get-prebuilts

most hozzá kell adnunk az Eszközlánc elérési útját ./bashrc

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

adja hozzá ezeket a sorokat a szövegfájl végéhez

# Android Toolchain
export ARCH=arm
export CCOMPILE=$CROSS_COMPILE
export CROSS_COMPILE=arm-EABI-
export elérési út=$elérési út:~/android/cm/előre elkészített/linux-x86/toolchain/arm-eabi-4.4.3 / bin

10. Építsd meg a ROM – ot: tehát minden rendben van és készen áll. Ideje Megépíteni a ROM-ot. Nyissa meg a terminált, és írja be a

cd ~/android/cm
parancsot. build/envsetup.sh
Villásreggeli < eszköz_codename>

ideje lepihenni. Ez lesz a zillion év építeni a ROM egy átlagos számítógép. Nos, ez túlzás volt, de az otthoni PC-n (Core i5 2nd gen 8GB RAM-mal) több mint 3 órát vesz igénybe a semmiből. Remélhetőleg nem lesznek hibák, és a felépítés rendben lesz. A kimeneti csomagot a

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

itt az ideje, hogy telepítse az újonnan összeállított ROM-ot a telefonjára. Töltse le a Google Apps csomagot a ” www.ragacs.im / gapps ” a megfelelő Android verzióhoz. Tegye mindkét csomagot a telefonjába, és flash őket helyreállítási módban. Voila, a saját összeállított ROM most fut a készülék.

Nos, így megtanulta, hogyan kell összeállítani egy ROM-ot. És most mi lesz?

frissítse a forrás ROM –ot

új forráskód-frissítések letöltéséhez a helyileg letöltött forráskódhoz nyissa meg a terminált, és írja be a

cd ~/android/cm
repo sync-j16

a ROM felépítéséhez a forráskód frissítése után nyissa meg a terminált, és írja be a

CD ~/Android/cm
az installclean
keresése ./ ki / – Név ‘ build.prop | / xargs rm
talál ./ ki / -Név ‘cm_<your_device>-target_files-eng.*.zip | / xargs rm
. build/envsetup.sh
Villásreggeli < your_device>

mivel nem a semmiből épít újra, hanem úgy épít újra, ahogy van, lényegesen kevesebb időt vesz igénybe, a legtöbb esetben csak körülbelül 15-30 percet vesz igénybe. Körülbelül hetente szinkronizálnia kell a helyi forrást, hogy a helyi forrás friss maradjon.

tisztítsa meg a munkakönyvtárat

a munkakönyvtár teljes tisztításához (olvassa el: állítsa vissza a forrásmappát a készlet állapotába), nyissa meg a terminált, és írja be a következő parancsokat.

cd ~/android/cm
make installclean
make clobber

ne feledje, hogy ezeknek a parancsoknak a futtatása után az összes kimeneti adat eltávolításra kerül, így a következő felépítés ismét 3-4 órát vesz igénybe, mivel minden újra felépül a semmiből. Ha a merevlemez-partíció kicsi, mondjuk körülbelül 100 Gb, akkor tisztítsa meg a munkakönyvtárat körülbelül 4 buildenként, különben elfogy a merevlemez-terület.

gyorsítsa fel a build by CCACHE

épület egy ROM sok időt vesz igénybe. De az idő körülbelül 30-45% – kal csökkenthető a CCACHE használatával. A CCACHE a fordító gyorsítótárát jelenti, gyorsítótárazza a korábbi buildek fordítási kimenetét, így a későbbi buildekben újra felhasználható.

vegye figyelembe, hogy a CCACHE-nak sok helyre van szüksége a merevlemezen a tartalom gyorsítótárazásához, ezért csak akkor ajánlott, ha a merevlemez-partíció valahol 200 GB vagy annál nagyobb közelében van. A CCACHE beállításához nyissa meg a terminált, majd írja be:

cd ~/android/cm
USE_CCACHE exportálása=1
cache_dir exportálása=~/.ccache
prebuilts/misc/linux-x86/ccache/ccache –M 50g

meg lehet változtatni a maximális méret allokáció CCACHE 50GB, amit akarsz, de legalább körülbelül 30GB kell használni a jó eredményeket.

Fetch elköveti más ROM-ok

akkor cherry-pick funkciók más ROM forráskód. Mondjuk, például, azt akarom, hogy vegye Feature a, A elkövetni ID “12345” a repository “github.com/user/reporepo”.

a helyi forráskódban navigál a csomaghoz, és futtatja azokat a terminálon.

cd ~ / < path_to_reporepo_packages>
git fetch https://github.com/user/reporepo
Git cherry-pick 12345

forráskód linkek híres Android egyedi ROM disztribúciók

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 –
jéghideg zselé– https://github.com/IceColdJelly

így, tessék srácok, egy egyszerű, egyszerű útmutató gyakorlatilag bármilyen Android AOSP alapú ROM összeállításához 10 egyszerű lépések. Míg az útmutatóm a CyanogenMod-ra összpontosít, nagyjából minden AOSP ROM-ot összeállíthat, csak a tároló linkjeinek módosításával. Vagy csak kiválaszthatja a funkciókat, elkötelezheti őket, módosíthatja a dolgokat, és létrehozhatja saját személyre szabott ROM-ját, esetleg megoszthatja ROM-ját online is?

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

Az e-mail-címet nem tesszük közzé.