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
- 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.
- 64 bites Linux disztribúció (mi inkább Ubuntu).
- legalább 100 GB szabad a merevlemezen.
- Linux terminál parancsok ismerete.
- 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.
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?