Андроид је најраспрострањенији мобилни оперативни систем на свету. И најбољи део, потпуно је отвореног кода, што у лаичком смислу значи да је изворни код, стварни програм, доступан свима за преузимање, прилагођавање и прављење сопствених РОМ-ова.
Постоји много прилагођених Андроид дистрибуција које су доступне, а популарне су ЦианогенМод, СлимРОМ, Параноид Андроид, АОКП, Ликуид Смоотх, МИУИ, Ксилон, Ице Цолд Јелли, итд.
За данашњи водич компајлираћемо ЦианогенМод 10.2, најпопуларнији Андроид РОМ. Процедура је 99% иста за све прилагођене РОМ-ове, тако да се овај водич може користити као референца за компајлирање других РОМ-ова.
Предуслови
- Андроид телефон са лако доступним извором кернела и уређаја, који је већ укорењен и са инсталираним прилагођеним опоравком.
- 64-битна Линук дистрибуција (ми више волимо Убунту).
- Најмање 100 ГБ бесплатно на вашем чврстом диску.
- Радно познавање Линук терминалских команди.
- Прилично брза интернет веза.
Напомена: 64-битни Линук ОС је неопходан и мора бити изворна инсталација, а не виртуелна машина.
Подесите своју машину за прављење
1. Инсталирајте Линук ОС по вашем избору: 64-битна верзија, према званичним упутствима. (Водич ће претпоставити да користимо Убунту 13.04). Чувајте партицију од најмање 100 ГБ са 16 ГБ заменљивом партицијом.
2. Инсталирајте следећу листу пакета: Отворите апликацију Терминал и откуцајте
[хтмл]судо апт-гет инсталл [/хтмл]
притисните ентер и од вас ће се тражити да унесете лозинку.
Листа Пакет
[хтмл]
гит-цоре
гнупг
напрегнути
бизон
питон
ави
оригинал-авк
гавк
п7зип-фулл
гперф
либсдл1.2-дев
либесд0-дев
либвкгтк2.6-дев
скуасхфс-тоолс
битна за изградњу
рар
Цурл
либнцурсес5-дев
злиб1г-дев
пнгцрусх
сцхедтоол
либц6-дев
к11прото-цоре-дев
либк11-дев
либг11-меса-дев
мингв32
тофродос
питхон-маркдовн
либкмл2-утилс
г++-мултилиб
либ32з1-дев
иа32-либс
либ32нцурсес5-дев
либ32реадлине-гплв2-дев
гцц-мултилиб
г++-мултилиб
кслтпроц
[/ хтмл]
3. Инсталирајте Јава ЈДК 1.6 за Линук 64-бит: Име датотеке треба да буде јдк-6у##-линук-к64.бин, ## су бројеви верзија. Преместите преузети пакет у свој кућни директоријум. Отворите апликацију Терминал и покрените следећи скуп команди:
[хтмл]
судо апт-гет пурге опењдк-\* ицедтеа-\* ицедтеа6-\*
судо мкдир –п /опт/јава/64/
судо цп јдк-6у##-линук-к64.бин /опт/јава/64
југ -
цд /опт/јава/64
цхмод а+к јдк-6у##-линук-к64.бин
./јдк-6у##-линук-к64.бин
излаз
[/ хтмл]
Сада морамо додати ЈДК путању у .басхрц
[хтмл]
судо гедит ~ / .басхрц
[/ хтмл]
Додајте ове редове на крај текстуалне датотеке
[хтмл]
# Јава путања
извоз ЈАВА_ХОМЕ=/опт/јава/64/јдк1.6.0_##
екпорт ПАТХ=$ПАТХ:$ЈАВА_ХОМЕ/бин
[/ хтмл]
4. Инсталирајте Андроид СДК: Отворите апликацију Терминал
[хтмл]
ЦД ~
мкдир андроид && цд андроид
мкдир сдк
[/ хтмл]
Преузмите Андроид СДК са http://developer.android.com/sdk/index.html. Извуците садржај пакета у ~/андроид/сдк Морамо додати путању за Андроид СДК у .басхрц
[хтмл]
судо гедит ~ / .басхрц
[/ хтмл]
Додајте ове редове на крај текстуалне датотеке:
[хтмл]
# Путања за Андроид СДК
екпорт ПАТХ=$ПАТХ:~/андроид/сдк
екпорт ПАТХ=$ПАТХ:~/андроид/сдк/платформ-тоолс
екпорт ПАТХ=$ПАТХ:~/андроид/сдк/тоолс
[/ хтмл]
Сада инсталирајте Андроид СДК алатке тако што ћете укуцати
[хтмл]
андроид
[/ хтмл]
5. Подесите свој гитхуб налог и удаљени репо: Можете прескочити овај корак ако ЦианогенМод званично подржава ваш телефон. Идите на гитхуб.цом и направите налог за себе. За овај водич, ваше корисничко име сматрам 'корисником'.
Посетите „гитхуб.цом/ЦианогенМод/андроид“, притисните Форк. Удаљени манифест ће бити рачваст и доступан у вашем личном репо-у.
Сада идите на „гитхуб.цом/усер/андроид“. Отворите датотеку дефаулт.кмл, притисните Едит. Пронађите ову линију:
[хтмл]
[/ хтмл]
И замените ово са
[хтмл]
[/ хтмл]
Сматрам да извор кернела вашег уређаја, извор уређаја и библиотеке добављача за Андроид 4.3 буду на
[хтмл]
гитхуб.цом/усер2/кернел_соурце
гитхуб.цом/усер2/девице_соурце
гитхуб.цом/усер2/девице-цоммон_соурце
гитхуб.цом/усер2/вендор
[/ хтмл]
Претпостављам да се грана зове 'јб4.3'. Тачан назив можете пронаћи у стварном репо-у. Затим, на крају датотеке, додајте ове редове, мењајући их у складу са изворним кодом вашег уређаја.
[хтмл]
[/ хтмл]
Укључите своје промене. Ваш удаљени манифест је спреман за примену.
6. Инсталирајте Репо команду: Отворите Терминал и откуцајте
[хтмл]
ЦД ~
мкдир ~ / бин
цурл хттпс://дл-ссл.гоогле.цом/дл/гооглесоурце/гит-репо/репо > ~/бин/репо
цхмод а+к ~/бин/репо
[/ хтмл]
Морамо додати Репо путању у .басхрц
[хтмл]
судо гедит ~ / .басхрц
[/ хтмл]
Додајте ову линију на крај текстуалне датотеке
[хтмл]
извоз ПАТХ=$ПАТХ:~/бин
[/ хтмл]
7. Преузмите изворни код РОМ-а: Отворите Терминал и откуцајте
[хтмл]
мкдир ~/андроид/цм
цд ~/андроид/цм
[/ хтмл]
Ако вам је потребан корак 5, откуцајте
[хтмл]
репо инит –у гит://гитхуб.цом/усер/андроид.гит –б цм-10.2
[/ хтмл]
Ако ваш уређај званично подржава ЦианогенМод 10.2, откуцајте
[хтмл]
репо инит –у гит://гитхуб.цом/ЦианогенМод/андроид.гит –б цм-10.2
[/ хтмл]
Сад трчи
[хтмл]
репо синхронизација –ј16
[/ хтмл]
Иди на кафу, или на оброк, дуго ће потрајати. Изворни код је већи од 10 ГБ, тако да ће требати доста времена.

8. Подесите специфичне ствари за уређај: Ако ваш уређај званично подржава ЦианогенМод 10.2, отворите Терминал и откуцајте
[хтмл]
цд ~/андроид/цм
. буилд/енвсетуп.сх && доручак
[/ хтмл]
То ће потрајати, извор уређаја је величине око 3 ГБ. Затим морате да имате званични ЦМ10.2 инсталиран на вашем телефону, да га повежете са рачунаром у режиму УСБ отклањања грешака и покрените следеће команде:
[хтмл]
адб роот
цд ~/андроид/цм/уређај/ / /
./ектрацт-филес.сх
[/ хтмл]
Ако ваш уређај званично не подржава ЦианогенМод 10.2, онда немате шта да радите у овом кораку, извори вас већ чекају.
9. Преузмите унапред изграђене ствари и подесите Тоолцхаин: Отворите Терминал и откуцајте
[хтмл]
цд ~/андроид/цм/вендор/цм
сх ./гет-пребуилтс
[/ хтмл]
Сада морамо да додамо ПУТУ ланца алата у ./басхрц
[хтмл]
цд ~/андроид/цм
судо гедит ~ / .басхрц
[/ хтмл]
Додајте ове редове на крај текстуалне датотеке
[хтмл]
# Андроид ланац алата
извоз АРЦХ=рука
извоз ЦЦОМПИЛЕ=$ЦРОСС_ЦОМПИЛЕ
извоз ЦРОСС_ЦОМПИЛЕ=арм-еаби-
екпорт ПАТХ=$ПАТХ:~/андроид/цм/пребуилт/линук-к86/тоолцхаин/арм-еаби-4.4.3/бин
[/ хтмл]
10. Направите свој РОМ: Дакле, све је у реду и спремно. Време је да се направи РОМ. Отворите Терминал и откуцајте
[хтмл]
цд ~/андроид/цм
. буилд/енвсетуп.сх
маренда
[/ хтмл]
Време је да одемо на дремку. Биће потребно зилион година да се направи РОМ на просечном рачунару. Па, то је било претеривање, али на мом кућном рачунару (Цоре и5 2. генерације са 8 ГБ РАМ-а) потребно је више од 3 сата да се направи од нуле. Надамо се да неће бити грешака и да ће изградња бити у реду. Добићете излазни пакет
[хтмл]
~/андроид/цм/оут/таргет/продуцт/ /цм-10.2-нешто-НЕЗВАНИЧНО- .зип
[/ хтмл]
Време је да инсталирате свој новокомпајлиран РОМ на свој телефон. Преузмите Гоогле Аппс пакет са „ввв.гоо.им/гаппс“ за одговарајућу верзију Андроид-а. Ставите оба та пакета у свој телефон и флешујте их у режиму опоравка. Воила, ваш сопствени компајлирани РОМ сада покреће ваш уређај.
Па, научили сте како да саставите РОМ. И шта сад?
Ажурирајте свој изворни РОМ
Да бисте преузели нова ажурирања изворног кода вашег локално преузетог изворног кода, отворите Терминал и откуцајте
[хтмл]
цд ~/андроид/цм
репо синхронизација –ј16
[/ хтмл]
Да бисте направили свој РОМ, након ажурирања изворног кода, отворите терминал и откуцајте
[хтмл]
цд ~/андроид/цм
учинити инсталлцлеан
финд ./оут/ -наме 'буилд.проп' | каргс рм
финд ./оут/ -наме 'цм_ -таргет_филес-енг.*.зип' | каргс рм
. буилд/енвсетуп.сх
маренда
[/ хтмл]
Пошто не градите поново од нуле, већ поново градите како јесте, биће потребно знатно мање времена, у већини случајева само око 15-30 минута. Требало би да синхронизујете свој локални извор сваке недеље или тако нешто, да би ваш локални извор био свеж.
Очистите свој радни именик
Да бисте потпуно очистили свој радни директоријум (прочитајте: вратите изворну фасциклу у стање залиха), отворите Терминал и откуцајте следеће команде.
[хтмл]
цд ~/андроид/цм
учинити инсталлцлеан
направити клоббер
[/ хтмл]
Имајте на уму да ће након покретања ових команди сви ваши излазни подаци бити уклоњени, тако да ће следећа градња поново трајати 3-4 сата, пошто се све поново гради од нуле. Ако је ваша партиција чврстог диска мала, рецимо око 100 ГБ, требало би да очистите свој радни директоријум отприлике једном на сваке 4 градње, иначе ће вам понестати простора на чврстом диску.
Убрзајте своју изградњу помоћу ЦЦАЦХЕ-а
Изградња РОМ-а траје доста времена. Али време се може смањити за око 30-45% коришћењем ЦЦАЦХЕ. ЦЦАЦХЕ је скраћеница за кеш компајлера, он кешира излаз компилације из ваших ранијих верзија, тако да се може поново користити у каснијим верзијама.
Имајте на уму да је ЦЦАЦХЕ потребно пуно простора на вашем чврстом диску за кеширање садржаја, па се препоручује ако и само ако је ваша партиција чврстог диска негде у близини 200 ГБ или више. Да бисте подесили ЦЦАЦХЕ, отворите Терминал и укуцајте:
[хтмл]
цд ~/андроид/цм
извоз УСЕ_ЦЦАЦХЕ=1
извоз ЦАЦХЕ_ДИР=~/.ццацхе
пребуилтс/мисц/линук-к86/ццацхе/ццацхе –М 50Г
[/ хтмл]
Можете да промените максималну доделу величине за ЦЦАЦХЕ са 50ГБ на шта год желите, али за добре резултате треба користити минимум од око 30ГБ.
Преузми урезивање са других РОМ-ова
Можете одабрати карактеристике из других РОМ-ова изворног кода. Рецимо, на пример, желим да изаберем функцију А, са ИД-ом урезивања „12345“ из спремишта „гитхуб.цом/усер/репорепо“.
Дођите до пакета у вашем локалном изворном коду и покрените их у Терминалу.
[хтмл]
цд ~/
гит дохвати хттпс://гитхуб.цом/усер/репорепо
гит цхерри-пицк 12345
[/ хтмл]
Везе изворног кода познатих Андроид прилагођених РОМ дистрибуција
ЦианогенМод – хттпс://гитхуб.цом/ЦианогенМод
СлимРОМ – хттпс://гитхуб.цом/СлимРомс
Параноични Андроид – хттпс://гитхуб.цом/ПараноидАндроид
АОКП – хттпс://гитхуб.цом/АОКП
ЛикуидСмоотх – хттпс://гитхуб.цом/ликуидсмоотх
Ксилон РОМ -
Ице Цолд Јелли – хттпс://гитхуб.цом/ИцеЦолдЈелли
Дакле, изволите момци, једноставан, директан водич за компајлирање практично било ког Андроид АОСП заснованог РОМ-а у 10 једноставних корака. Док се мој водич фокусира на ЦианогенМод, можете компајлирати скоро сваки АОСП РОМ, само модификујући везе у спремишту. Или, можете само да изаберете функције, урезујете их, модификујете ствари и креирате сопствени персонализовани РОМ, можда и делите свој РОМ на мрежи?
висхваст
здраво хвала на овом чланку данас се овај андроид свет шири као епидемија, тако да је добар чланак
јурие ралес
Импресивни радови! Заиста желим да креирам сопствени код за своје апликације!
Џесика
Заиста волим да видим овај код, али неки део овог кода не могу да разумем.
Схиантан деб
здраво Шонак,
Андроид је заиста широко распрострањен у целом свету. и хвала на овом невероватном посту
Сусие Лампман
Сјајно. Сад кад бих само могао да разумем ове терминологије. Онда могу да компајлирам андроид РОМ