Kaip sukurti pasirinktinį ROM iš „Android“ atvirojo kodo projekto

šaltinis žinomas kaip AOSP („Android“ atvirojo kodo projektas) .



Dabar AOSP yra tas, kad grynas šaltinio kodas neapima konkretaus įrenginio aparatinės įrangos nuosavybės. Kalbant paprastai, aparatinė įranga, tokia kaip jūsų kamera ir GPU, neveiks „iš dėžės“, kai kuriate su AOSP. Tiesą sakant, jūsų įrenginys net nebus paleistas be šių aparatūros dvejetainių failų.

Jei kuriate „Google“ prekės ženklo telefoną („Pixel“, „Nexus“ ir kt.), Galite rasti aparatūros dvejetainius failus tiesiogiai iš „Google“ , ir šis vadovas padės jums juos gauti ir įdėti į savo ROM. Tačiau, jei kuriate firminio telefono („Sony“, „Samsung“ ir kt.) ROM, na, palaiminkite savo širdį, nes laukiate pasivažinėjimo.



Kai kurie gamintojai turi savo atvirojo kodo projektus arba leidžia kūrimo įrankius būsimiems kūrėjams, o kiti gamintojai griežtai laikosi savo nuosavų kodų. Čia pateikiamas trumpas populiaresnių gamintojų atviro kodo projektų sąrašas:



„Samsung“ atvirojo kodo išleidimo centras
„Sony“ kūrėjų pasaulis
„Lenovo“ palaikymas
„Huawei“ atvirojo kodo išleidimo centras
„Motorola“ kūrėjai



Jei to nepadarysime, tęskime prielaidą, kad kuriame „Google Pixel“ įrenginiui ROM, skirtą paprasčiausiam, vanilės „Android“ įrenginiui. Turėdami šias žinias po diržu galėsite savarankiškai išsišakoti ir pradėti kurti pritaikytas konkretaus gamintojo ROM versijas.

Šio vadovo reikalavimai:

  • „Android“ atvirojo kodo projektas
  • „Pixel XL“ telefonas arba „Android“ emuliatorius, skirtas „Linux“
  • 64 bitų „Linux“ operacinė sistema - „Ubuntu“ arba „Linux Mint“ yra labiausiai naujokams palankios distros, tuo tarpu BBQLinux buvo sukurtas specialiai atsižvelgiant į „Android“ kūrėjus.
  • „Python“
  • Gaivus kompiuteris (kompiliuojant kodą reikia daug atminties ir vietos!)

Savo aplinkos kūrimas

Pradėkime nuo „Android“ emuliatoriaus nustatymo „Linux“ kompiuteryje. Nesvarbu, ar turite „Google Pixel XL“ įrenginį, visada saugiausia išbandyti naują ROM „Android“ emuliatoriuje prieš tai mirksi prie savo prietaiso. Mano asmeninis mėgstamiausias yra „Genymotion“, todėl aš padėsiu jums įdiegti būtent tą emuliatorių. Tačiau taip pat galite peržiūrėti šį vadovą “ Geriausi „Android“ emuliatoriai “, Nes dauguma jų taip pat turi suderinamumą su„ Linux “.

Eikite į „Genymotion“ svetainė , užregistruokite paskyrą, patikrinkite ją el. paštu ir atsisiųskite vykdomąjį failą į savo „Linux“ darbalaukį.



Dabar atidarykite „Linux“ terminalą ir įveskite:

Chmod + x genymotion-xxxxx.bin (pakeiskite xxxx failo pavadinimo versijos numeriu)
./genymotion-xxxxxx.bin

Paspauskite IR sukurti „Genymotion“ katalogą. Dabar įveskite terminalą:

CD genymotion && ./genymotion

Dabar jis paprašys pradėti diegimo procesą, todėl tiesiog spustelėkite Toliau, kol pateksite į langą Pridėti virtualius įrenginius. Parinktyje „Device Model“ pasirinkite „Pixel XL“ ir baigkite diegimą. Jei norite, galite išbandyti virtualųjį įrenginį. Tai iš esmės bus kaip „Pixel XL“ telefono darbalaukyje.

Dabar nustatykime „Python“:

$ apt-get install python

Dabar jūsų „Linux“ kompiuteryje turime sukonfigūruoti „Java Development Kit“. Atidarykite „Linux“ terminalą ir įveskite šias komandas:

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

Dabar turėsite sukonfigūruoti „Linux“ sistemą, kad leistumėte pasiekti USB įrenginį. „Linux“ terminale paleiskite šį kodą:

Taip atsisiųsite reikiamą 51-android.txt failą, kuris leidžia pasiekti minėtą USB įrenginį. Atidarykite .txt failą ir pakeiskite jį, kad įtrauktumėte savo „Linux“ vartotojo vardą, tada įdėkite .txt failą į šią vietą: (kaip root vartotojas ). Dabar prijunkite savo įrenginį prie kompiuterio per USB, kad naujos taisyklės įsigaliotų automatiškai.

Atsisiunčiamas „Android“ šaltinis

AOSP yra talpinama „Git“, todėl bendraudami su „Git“ naudosime įrankį, vadinamą „Repo“.

Pirmiausia turime nustatyti / bin aplanką jūsų namų kataloge. Į „Linux“ terminalą įveskite šias komandas:

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

Dabar atsisiųsime „Repo“ įrankį, todėl įveskite „Linux“ terminalą:

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

Įdiegę „Repo“, dabar turime sukurti tuščią katalogą, kuriame bus jūsų darbo failai. Taigi įveskite tai į „Linux“ terminalą:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Dabar sukonfigūruosime „Git“ naudodami jūsų vardą ir el. Pašto adresą - naudokite reguliariai tikrinamą „Gmail“ adresą , kitaip negalėsite naudoti „Gerrit“ kodo peržiūros įrankio.

$ git config –global user.name „Jūsų vardas“
$ git config –pasaulinis vartotojo el. paštas
tu@gmail.com

Dabar pasakysime „Repo“, kad jis iš „Git“ ištrauktų naujausią pagrindinį AOSP manifestą:

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

Jei tai bus padaryta sėkmingai, gausite pranešimą, kad „Repo“ buvo inicijuota jūsų darbo kataloge. Taip pat rasite „ .repo “ katalogas kliento kataloge. Taigi dabar atsisiųsime „Android“ šaltinio medį su:

$ repo sinchronizavimas

„Android“ šaltinio kūrimas

Čia atsiranda šio vadovo pradžioje minimi aparatūros dvejetainiai failai. Pereikime prie AOSP tvarkyklės puslapį ir atsisiųskite „Pixel XL“ dvejetainius failus, skirtus „Android 7.1.0“ (NDE63P). Norite atsisiųsti tiekėjo vaizdą, tiek aparatūros komponentus. Jie pateikiami kaip suglaudinti archyvai, todėl ištraukite juos į darbalaukį ir paleiskite savaiminio išskyrimo scenarijų iš šakninio aplanko. Pasirinkite įdiegti dvejetainius failus anksčiau sukurtos WORKING_DIRECTORY šaknyje.

Dabar įveskite savo „Linux“ terminalą:

$ padaryti klobą
$ source build / envsetup.sh

Dabar mes pasirinksime tikslą, kurį norite sukurti, todėl įveskite:

$ pietūs aosp_marlin-userdebug
$ setpaths
$ make –j4

Ten mes dabar „sukūrėme“ „Android“ ROM iš šaltinio. Išbandykime jį emuliatoriuje, įvesdami terminalą:

$ emuliatorius

Taigi šiek tiek žaiskite emuliatoriuje. Kaip matote, grynai vanilinė „Android“ patirtis yra gana minimali, todėl gamintojai AOSP pritaiko savo poreikiams. Taigi tu galėjo jei norite, „flash“ šį ką tik sukurtą ROM į jūsų įrenginį, tačiau nepridėjus jokių patobulinimų, grynai vanilinė „Android“ patirtis iš tiesų būtų labai nuobodus dalykas.

Taigi, ką gamintojai paprastai darys naudodamiesi AOSP, tai šakutė, pridėkite savo nuosavų dvejetainių failų, pritaikykite vartotojo sąsają, pridėkite įkrovos logotipą ir tt .

Sekite naujienas, nes antroje šio vadovo dalyje bus pridėta šriftų, temų ir įkrovos animacijos į jūsų ROM!

5 minutes perskaityta