• Към основното навигационно
  • Прескочи на основното съдържание
  • Към основното лента
  • Към долния колонтитул

TechLila

Bleeding Edge, винаги

  • Начало
  • Информация
  • Контакти
  • Сделки и оферти
Лого на Techlila
Сподели
Tweet
Сподели
щифт
42 Акции
анахрония
Следва

Последните разработки на RuneScape от 2019 г

Компилирайте Android ROM от изходния код

TechLila подвижен Андроид

Направи си сам: Компилирайте Android ROM от изходния код

Аватар на Шонак Гухарай Шонак Гухарай
Последна актуализация на: Януари 9, 2022

Android е най-широко използваната мобилна операционна система в света. И най-добрата част е, че е напълно с отворен код, което казано от лаици означава, че изходният код, действителната програма е достъпна открито за всеки, който може да изтегля, персонализира и изгражда свои собствени ROM.

Има много персонализирани Android дистрибуции, налични там, като популярните са CyanogenMod, SlimROM, Paranoid Android, AOKP, Liquid Smooth, MIUI, Xylon, Ice Cold Jelly и др.

За днешното ръководство ще компилираме CyanogenMod 10.2, най-популярният ROM за вторично пазаруване на Android. Процедурата е 99% еднаква за всички персонализирани ROM-ове, така че това ръководство може да се използва като препратка за компилиране и на други ROM.

Предварителни условия

  1. Телефон с Android с лесно достъпен източник на ядро ​​и устройство, вече руутиран и с инсталирано персонализирано възстановяване.
  2. 64-битова дистрибуция на Linux (предпочитаме Ubuntu).
  3. Най-малко 100 GB безплатно на вашия твърд диск.
  4. Работни познания по Linux терминални команди.
  5. Достатъчно бърза интернет връзка.

Обърнете внимание: 64-битовата Linux OS е задължителна и тя трябва да бъде собствена инсталация, а не виртуална машина.

Настройте вашата машина за изграждане

1. Инсталирайте Linux OS по ваш избор: 64 битова версия, според официалните инструкции. (Ръководството ще приеме, че работим с Ubuntu 13.04). Поддържайте дял от поне 100GB с 16GB Swap дял.

2. Инсталирайте следния списък с пакети: Отворете приложението Terminal и въведете

[html]sudo apt-get install [/html]

натиснете Enter и той ще ви подкани за вашата парола.

Пакет Списък

[html]
git-core
gnupg
шнур
бизон
питон
RAR
оригинален-awk
дангалак
p7zip-пълен
gperf
libsdl1.2-dev
libesd0-dev
libwxgtk2.6-dev
скуош-инструменти
изграждане на-важно
цип
Curl
libncurses5-dev
zlib1g-dev
pngcrush
schedtool
libc6-dev
x11proto-core-dev
libx11-dev
libg11-mesa-dev
mingw32
тофродос
python-markdown
libxml2-полезни програми
g++-multilib
lib32z1-dev
ia32-libs
lib32ncurses5-dev
lib32readline-gplv2-dev
gcc-multilib
g++-multilib
xsltproc
[/ html]

3. Инсталирайте Java JDK 1.6 за 64-битов Linux: Името на файла трябва да бъде jdk-6u##-linux-x64.bin, ## са номерата на версиите. Преместете изтегления пакет във вашата домашна директория. Отворете приложението Terminal и изпълнете следния набор от команди:

[html]
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
sudo mkdir –p /opt/java/64/
sudo cp jdk-6u##-linux-x64.bin /opt/java/64
на юг -
cd /opt/java/64
chmod a+x jdk-6u##-linux-x64.bin
./jdk-6u##-linux-x64.bin
изход
[/ html]

Сега трябва да добавим JDK път към .bashrc

[html]
sudo gedit ~ / .bashrc
[/ html]

Добавете тези редове в края на текстовия файл

[html]
# Път на Java
експортиране JAVA_HOME=/opt/java/64/jdk1.6.0_##
експортиране ПЪТ=$ПЪТ:$JAVA_HOME/bin
[/ html]

4. Инсталирайте Android SDK: Отворете приложението Terminal

[html]
CD ~
mkdir android && cd android
mkdir sdk
[/ html]

Изтеглете Android SDK от http://developer.android.com/sdk/index.html. Извлечете съдържанието на пакета в ~/android/sdk Трябва да добавим пътя на Android SDK към .bashrc

[html]
sudo gedit ~ / .bashrc
[/ html]

Добавете тези редове към края на текстовия файл:

[html]
# Път на Android SDK
експортиране ПЪТ=$ПЪТ:~/android/sdk
експортиране PATH=$PATH:~/android/sdk/platform-tools
експортиране PATH=$PATH:~/android/sdk/tools
[/ html]

Сега инсталирайте Android SDK Tools, като напишете

[html]
андроид
[/ html]

5. Настройте вашия акаунт в github и отдалечено репо: Можете да пропуснете тази стъпка, ако CyanogenMod поддържа официално вашия телефон. Отидете на github.com и направете акаунт за себе си. За това ръководство разглеждам вашето потребителско име като „потребител“.

Посетете 'github.com/CyanogenMod/android', натиснете Fork. Отдалеченият манифест ще бъде разклонен и ще бъде достъпен във вашето лично репо.

Сега отидете на „github.com/user/android“. Отворете файла default.xml, натиснете Edit. Намерете този ред:

[html]

[/ html]

И заменете това с

[html]

[/ html]

Обмислям източника на ядрото на вашето устройство, източника на устройството и библиотеките на доставчика за Android 4.3 да бъдат на

[html]
github.com/user2/kernel_source
github.com/user2/device_source
github.com/user2/device-common_source
github.com/user2/vendor
[/ html]

Предполагам, че клонът ще бъде наречен 'jb4.3'. Можете да намерите точното име в действителното репо. След това в края на файла добавете тези редове, като ги модифицирате според изходния код на вашето устройство.

[html]




[/ html]

Завършете промените си. Вашият отдалечен манифест е готов за внедряване.

6. Инсталирайте Repo команда: Отворете терминала и въведете

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

Трябва да добавим Repo път към .bashrc

[html]
sudo gedit ~ / .bashrc
[/ html]

Добавете този ред в края на текстовия файл

[html]
експортиране ПЪТ=$ПЪТ:~/bin
[/ html]

7. Извадете изходния код на ROM: Отворете терминала и въведете

[html]
mkdir ~/android/cm
cd ~/android/cm
[/ html]

Ако имате нужда от стъпка 5, въведете

[html]
repo init –u git://github.com/user/android.git –b cm-10.2
[/ html]

Ако вашето устройство поддържа официално CyanogenMod 10.2, тогава въведете

[html]
repo init –u git://github.com/CyanogenMod/android.git –b cm-10.2
[/ html]

Сега тичай

[html]
репо синхронизация –j16
[/ html]

Вземете кафе или хапнете, ще отнеме много време. Изходният код е с размер над 10 GB, така че ще отнеме доста време.

Извличане на източник

8. Настройте специфичните за устройството неща: Ако вашето устройство поддържа официално CyanogenMod 10.2, отворете Terminal и въведете

[html]
cd ~/android/cm
. build/envsetup.sh && закуска
[/ html]

Ще отнеме известно време, източникът на устройството е с размер около 3GB. След това трябва да имате инсталиран официален CM10.2 на вашия телефон, да го свържете към вашия компютър в режим USB отстраняване на грешки и да изпълните следните команди:

[html]
adb корен
cd ~/android/cm/устройство/ / /
./extract-files.sh
[/ html]

Ако вашето устройство не поддържа официално CyanogenMod 10.2, тогава нямате какво да правите в тази стъпка, източниците вече ви очакват.

9. Изтеглете предварително изградени неща и настройте Toolchain: Отворете терминала и въведете

[html]
cd ~/android/cm/доставчик/cm
sh ./get-prebuilts
[/ html]

Сега трябва да добавим пътеката на Toolchain към ./bashrc

[html]
cd ~/android/cm
sudo gedit ~ / .bashrc
[/ html]

Добавете тези редове в края на текстовия файл

[html]
# Android Toolchain
експортиране ARCH=рамо
експортиране CCOMPILE=$CROSS_COMPILE
експортиране CROSS_COMPILE=arm-eabi-
експортиране PATH=$PATH:~/android/cm/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
[/ html]

10. Създайте своя ROM: И така, всичко е наред и готово. Време е да изградим ROM. Отворете терминала и въведете

[html]
cd ~/android/cm
. build / envsetup.sh
брънч
[/ html]

Време е да подремна. Ще са необходими милиони години, за да се изгради ROM на среден компютър. Е, това беше преувеличение, но на моя домашен компютър (Core i5 2-ро поколение с 8 GB RAM) отнема над 3 часа, за да се изгради от нулата. Надяваме се, че няма да има грешки и изграждането ще завърши добре. Ще получите изходния пакет

[html]
~/android/cm/out/target/product/ /cm-10.2-нещо-НЕОФИЦИАЛНО- .zip
[/ html]

Време е да инсталирате своя новокомпилиран ROM на телефона си. Изтеглете пакета на Google Apps от „www.goo.im/gapps“ за подходящата версия на Android. Поставете и двата пакета в телефона си и ги флашнете в режим на възстановяване. Voila, вашият собствен компилиран ROM вече работи с вашето устройство.

Е, така че научихте как да компилирате ROM. И сега какво?

Актуализирайте вашия изходен ROM

За да извлечете нови актуализации на изходния код на вашия локално изтеглен изходен код, отворете Terminal и въведете

[html]
cd ~/android/cm
репо синхронизация –j16
[/ html]

За да изградите своя ROM, след актуализиране на изходния код, отворете терминала и напишете

[html]
cd ~/android/cm
направи инсталацията чиста
find ./out/ -name 'build.prop' | xargs rm
намери ./out/ -име 'cm_ -target_files-eng.*.zip' | xargs rm
. build / envsetup.sh
брънч
[/ html]

Тъй като не строите отново от нулата, а престроявате както е, това ще отнеме значително по-малко време, само около 15-30 минути в повечето случаи. Трябва да синхронизирате вашия локален източник всяка седмица или така, за да поддържате локалния си източник свеж.

Вижте също
Устройството е руутнато? Какво да правим сега …

Почистете вашата работна директория

За да почистите напълно работната си директория (прочетете: върнете вашата изходна папка в налично състояние), отворете терминала и въведете следните команди.

[html]
cd ~/android/cm
направи инсталацията чиста
направи cobber
[/ html]

Имайте предвид, че след изпълнение на тези команди, всичките ви изходни данни ще бъдат премахнати, така че следващата компилация ще отнеме отново 3-4 часа, тъй като всичко се изгражда отново от нулата. Ако вашият дял на твърдия диск е малък, да речем около 100 GB, трябва да почистите работната си директория около веднъж на всеки 4 компилации, в противен случай ще ви свърши свободното място на твърдия диск.

Ускорете изграждането си чрез CCACHE

Изграждането на ROM отнема много време. Но времето може да бъде съкратено с около 30-45% чрез използване на CCACHE. CCACHE означава кеш на компилатора, той кешира изхода от компилацията от по-ранните ви компилации, така че да може да се използва повторно в по-късни компилации.

Имайте предвид, че CCACHE се нуждае от много място на вашия твърд диск за кеширане на съдържанието, така че се препоръчва, ако и само ако вашият дял на твърдия диск е някъде в близост до 200 GB или повече. За да настроите CCACHE, отворете терминала и въведете:

[html]
cd ~/android/cm
експортиране USE_CCACHE=1
експортиране CACHE_DIR=~/.ccache
предварително изградени/разни/linux-x86/ccache/ccache –M 50G
[/ html]

Можете да промените разпределението на максималния размер за CCACHE от 50GB на каквото искате, но трябва да се използва минимум около 30GB за добри резултати.

Извличане на ангажименти от други ROM

Можете да изберете функции от други изходни кодове на ROM. Да речем, например, искам да избера функция А, с идентификатор на комит „12345“ от хранилището „github.com/user/reporepo“.

Отивате до пакета във вашия локален изходен код и ги стартирате в терминала.

[html]
cd ~/
git извличане https://github.com/user/reporepo
git cherry-pick 12345
[/ html]

Вижте също
10 приложения, които трябва да имате за руутирани телефони с Android

Връзки с изходния код на известни потребителски ROM дистрибуции на Android

CyanogenMod – https://github.com/CyanogenMod
SlimROM – https://github.com/SlimRoms
Параноид Андроид – https://github.com/ParanoidAndroid
AOKP – https://github.com/AOKP
LiquidSmooth – https://github.com/liquidsmooth
Xylon ROM -
Ледено студено желе – https://github.com/IceColdJelly

И така, ето, момчета, просто и ясно ръководство за компилиране на практически всеки Android AOSP базиран ROM в 10 прости стъпки. Докато моето ръководство се фокусира върху CyanogenMod, можете да компилирате почти всеки AOSP ROM там, като просто модифицирате връзките към хранилището. Или можете просто да изберете функции, да ги ангажирате, да промените неща и да създадете свой собствен персонализиран ROM, може би да споделите своя ROM и онлайн?

Сподели
Tweet
Сподели
щифт
42 Акции

Разкриване на информация Съдържанието, публикувано в TechLila, се поддържа от читатели. Може да получим комисионна за покупки, направени чрез нашите партньорски връзки, без допълнителни разходи за вас. Прочетете нашите Страница за отказ от отговорност за да научите повече за нашето финансиране, редакционни политики и начини да ни подкрепите.

Споделянето е загриженост

Сподели
Tweet
Сподели
щифт
42 Акции
Аватар на Шонак Гухарай

Шонак Гухарай

Шонак Гухарай е Youtuber, конкурентен кодер и Android разработчик от Колката. Интересите му варират от всичко, свързано с мобилни телефони, компютри и игри.

категория

  • Андроид

Маркирания

Android Rom

Reader Взаимодействия

Какво казват хората

  1. Аватар на вишваствишваст

    здравейте, благодаря за тази статия днес този свят на Android се разпространява като епидемия, така че е хубава статия

    Отговор
  2. Аватар на jurie ralesизречения на съдебните заседатели

    Впечатляващи произведения! Наистина искам да създам свой собствен код за моите приложения!

    Отговор
  3. Аватар на ДжесикаДжесика

    Наистина обичам да виждам този код, но някои части от този код не мога да разбера.

    Отговор
  4. Аватар на Шиянтан дебШянтан деб

    здравей Шонак,
    Android е наистина широко разпространен в целия свят. и благодаря за тази невероятна публикация

    Отговор
  5. Аватар на Сузи ЛампманСузи Лампман

    Страхотен. Сега само ако можех да разбера тези терминологии. След това мога да компилирам Android ROM

    Отговор

Добавете Вашия коментар Отказване на отговора

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *

Основно Sidebar

Популярен

Как да увеличите скоростта на широколентовия достъп в Windows

10-те най-добри устройства за стартиране на Android за 2021 г

Какво да направите след инсталиране на Windows 10 – Windows 10 съвети и трикове

Топ 10 търсачки, които можете да използвате за частно търсене в мрежата

55 интересни факта за компютъра, които ще ви поразят

Какво да търсите, когато купувате лаптоп – Ръководство за закупуване на лаптоп

Fusion Drive срещу SSD – неща, които никой не ви казва за Fusion срещу SSD съхранение

Полезни инструменти

• Grammarly – Безплатна проверка на граматиката
• SEMrush – Най-добрият SEO инструмент, доверен от експерти
• Setapp – Абонамент на едно гише за Mac и iOS

Актуални теми

  • Андроид
  • Интернет
  • iPhone
  • Linux
  • Мушама
  • Сигурност
  • Социална медия
  • Технологии
  • Windows

Струва си да се провери

10-те най-добри звукови еквалайзери за Windows 10 (издание 2022 г.!)

14 най-добри VLC скина, които са силно препоръчителни и безплатни

Лого на фона Лого на текста в долния колонтитул

Footer

Информация

Здравейте и добре дошли в TechLila, известният технологичен блог, където можете да намерите находчиви статии за овладяване на основите и извън него.

В TechLila нашата основна цел е да предоставим уникална информация, като съвети и трикове за качество, уроци, ръководства с практически инструкции за Windows, Macintosh, Linux, Android, iPhone, сигурност и няколко различни подтеми, като рецензии.

Връзки

  • Информация
  • Контакти
  • Отказ от отговорност
  • Политика за Поверителност
  • условия

Следвай ни

Персонализирана тема с помощта на Genesis Framework

Облачен хостинг от Cloudways

език

en English
bg Българскиzh-CN 简体中文nl Nederlandsen Englishtl Filipinofr Françaisde Deutschid Bahasa Indonesiait Italianoja 日本語pl Polskipt Portuguêsro Românăru Русскийsr Српски језикes Españolsv Svenskatr Türkçeuk Українськаvi Tiếng Việt

© Авторско право 2012–2023 TechLila. Всички права запазени.