Paano Bumuo ng isang Pasadyang ROM mula sa Android Open Source Project

pinagmulan kilala bilang AOSP (Android Open Source Project) .



Ngayon ang bagay tungkol sa AOSP ay ang dalisay na source code hindi kasama pagmamay-ari ng hardware na tumutukoy sa aparato. Sa mga tuntunin ng layman, ang hardware tulad ng iyong camera at GPU ay hindi gagana 'out of the box' kapag bumubuo sa AOSP. Sa katunayan, ang iyong aparato ay hindi kahit na mag-boot nang wala ang mga hardware na binary.

Kung nagkakaroon ka para sa isang teleponong may brand na Google (Pixel, Nexus, atbp) mahahanap mo ang mga binary binary direkta mula sa Google , at gagabay sa iyo ang gabay na ito sa pamamagitan ng pagkuha at pagbuo ng mga ito sa iyong ROM. Gayunpaman, kung bumubuo ka ng isang ROM para sa isang teleponong may tatak (Sony, Samsung, atbp) ... mabuti, pagpalain ang iyong puso, dahil nasa isang pagsakay ka.



Ang ilan ang mga tagagawa ay may kani-kanilang mga open-source na proyekto o naglalabas ng mga tool sa pag-unlad para sa magiging mga developer, samantalang ang iba pang mga tagagawa ay pinapanatili ang isang mahigpit na takip sa kanilang pagmamay-ari na mga code. Narito ang isang maikling listahan ng mga proyektong bukas-mapagkukunan mula sa mga mas tanyag na tagagawa.



Samsung Open Source Release Center
Sony Developer World
Suporta ng Lenovo
Ang Huawei Open Source Release Center
Mga Nag-develop ng Motorola



Sa labas ng paraan, magpatuloy tayo sa ilalim ng palagay na nagtatayo kami ng isang ROM para sa pinaka-pangunahing, banilya na karanasan sa Android, para sa isang Google Pixel device. Sa kaalamang ito sa ilalim ng iyong sinturon, magagawa mong mag-branch out sa iyong sarili at magsimulang bumuo ng mga na-customize na bersyon ng mga ROM ng partikular na tagagawa.

Mga kinakailangan para sa Gabay na ito:

  • Android Open Source Project
  • Pixel XL phone o isang Android emulator para sa Linux
  • 64-bit Linux Operating System - Ubuntu o Linux Mint ay ang pinaka-bagong-bagong distrito na distros, samantalang BBQLinux partikular na binuo sa pag-iisip ng mga developer ng Android.
  • Sawa
  • Isang malakas na computer (ang pag-aayos ng code ay tumatagal ng maraming memorya at puwang!)

Pag-set up ng Iyong Kapaligiran sa Build

Magsimula tayo sa pamamagitan ng pag-set up ng Android emulator sa iyong Linux machine. Kung mayroon kang isang Google Pixel XL aparato o hindi, palaging pinakaligtas na subukan ang iyong bagong ROM sa isang emulator ng Android dati pa flashing ito sa iyong aparato. Ang aking personal na paborito ay ang Genymotion, kaya't lalakayan kita sa pamamagitan ng pag-install ng partikular na emulator. Gayunpaman, maaari mo ring suriin ang gabay na ito na ' Pinakamahusay na Mga Android Emulator ”, Dahil ang karamihan sa kanila ay mayroon ding pagiging tugma sa Linux.

Tumungo sa Website ng Genymotion , magrehistro ng isang account, i-verify ito sa pamamagitan ng email, at i-download ang maipapatupad sa iyong Linux desktop.



Ngayon buksan ang isang terminal ng Linux, at i-type:

Chmod + x genymotion-xxxxx.bin (palitan ang xxxx ng numero ng bersyon sa filename)
./genymotion-xxxxxx.bin

Pindutin AT upang likhain ang direktoryo ng Genymotion. Mag-type ngayon sa terminal:

cd genymotion && ./genymotion

Hihilingin sa iyo ngayon na simulan ang proseso ng pag-install, kaya't panatilihin lamang ang pag-click sa Susunod hanggang makarating ka sa window ng Magdagdag ng Mga Virtual na Device. Piliin ang 'Pixel XL' sa ilalim ng pagpipiliang Model Model, at pagkatapos ay kumpletuhin ang pag-install. Maaari mong subukan ang virtual na aparato kung nais mo, ito ay magiging katulad ng pagkakaroon ng isang Pixel XL na telepono sa iyong desktop.

I-set up natin ngayon ang Python:

$ apt-get install python

Ngayon kailangan naming i-setup ang Java Development Kit sa iyong Linux machine. Buksan ang terminal ng Linux at i-type ang mga sumusunod na utos:

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

Ngayon kakailanganin mong i-configure ang Linux system upang payagan ang pag-access ng USB aparato. Patakbuhin ang sumusunod na code sa terminal ng Linux:

I-download nito ang kinakailangang 51-android.txt file na nagbibigay-daan sa nabanggit na pag-access ng USB device. Buksan ang .txt file at baguhin ito upang isama ang iyong username sa Linux, pagkatapos ay ilagay ang .txt file sa sumusunod na lokasyon: (tulad ng root ng gumagamit ). Ngayon isaksak ang iyong aparato sa iyong computer sa pamamagitan ng USB para sa mga bagong patakaran upang awtomatikong magkabisa.

Pagda-download ng Android Source

Ang AOSP ay naka-host sa Git, kaya gagamit kami ng isang tool na tinatawag na Repo upang makipag-usap kay Git.

Una kailangan naming mag-setup ng isang / bin folder sa iyong direktoryo ng Home. I-type ang mga sumusunod na utos sa terminal ng Linux:

$ mkdir ~ / basurahan
$ PATH = ~ / bin: $ PATH

Ngayon ay mai-download namin ang tool na Repo, kaya't mag-type sa Linux terminal:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

Matapos mai-install ang Repo, dapat na kaming lumikha ng isang walang laman na direktoryo upang i-hold ang iyong mga file sa trabaho. Kaya i-type ito sa Linux terminal:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Ngayon ay iko-configure namin ang Git sa iyong pangalan at email address - gumamit ng isang Gmail address na regular mong suriin , kung hindi man ay hindi mo magagamit ang tool na repasuhin ang code ng Gerrit.

$ git config –global user.name “Iyong Pangalan”
$ git config –global user.email
you@gmail.com

Ngayon sasabihin namin sa Repo na hilahin ang pinakabagong master manifest ng AOSP mula sa Git:

$ repo init -u https://android.googlesource.com/platform/manifest

Kung matagumpay na nagawa, makakatanggap ka ng isang mensahe na ang Repo ay naisimula sa iyong gumaganang direktoryo. Mahahanap mo rin ang isang ' .repo ' direktoryo sa loob ng direktoryo ng client. Kaya i-download namin ngayon ang puno ng mapagkukunan ng Android kasama ang:

$ repo sync

Pagbuo ng Android Source

1

Dito naglalaro ang mga binary binary ng hardware na nabanggit sa simula ng gabay na ito. Tumungo na tayo sa Mga driver ng AOSP pahina at i-download ang Pixel XL binary para sa Android 7.1.0 (NDE63P). Nais mong i-download ang parehong imahe ng vendor at mga bahagi ng hardware. Ito ay dumating bilang mga naka-compress na archive, kaya kunin ang mga ito sa iyong desktop at patakbuhin ang script ng self-extracting mula sa root folder. Piliin na i-install ang mga binary sa ugat ng WORKING_DIRECTORY na nilikha namin kanina.

Mag-type ngayon sa iyong Linux terminal:

$ gumawa ng clobber
$ source build / envsetup.sh

Pipiliin namin ngayon ang target na itatayo, kaya i-type ang:

$ tanghalian aosp_marlin-userdebug
$ setpaths
$ make –j4

Doon, 'binuo' namin ngayon ang isang Android ROM mula sa mapagkukunan. Kaya't subukan natin ito sa emulator, sa pamamagitan ng pagta-type sa terminal:

$ emulator

Kaya't maglaro nang kaunti sa emulator. Tulad ng nakikita mo, ang isang pulos karanasan sa Android na banilya ay medyo minimal, at ito ang dahilan kung bakit ipinasadya ng mga tagagawa ang AOSP sa kanilang mga pangangailangan. Kaya ikaw maaari i-flash ang ROM na ito na itinayo lamang namin sa iyong aparato kung nais mo, ngunit nang walang pagdaragdag ng anumang mga pagpapahusay, ang isang pulos banilya na karanasan sa Android ay magiging isang napakainip na bagay.

Kaya't kung ano ang karaniwang gagawin ng mga tagagawa sa AOSP ay tinidor ito, magdagdag ng kanilang sariling pagmamay-ari na mga binary, ipasadya ang UI, magdagdag ng isang boot logo, atbp. Karaniwan na pintura lamang ng tagagawa ang stock Android ROM, at sa gayon iyon ang magiging susunod mong layunin din .

Manatiling nakatutok, dahil ang pangalawang bahagi ng patnubay na ito ay dadaan sa pagdaragdag ng mga font, tema, at isang boot animasyon sa iyong ROM!

5 minuto basahin