Kaip rankiniu būdu kurti „Android“ sistemos vartotojo sąsają

ir kiti panašūs klausimai, susiję su „Android“ vartotojo sąsaja. Kai kurie prekės ženklai tai leidžia per temines parduotuves, tačiau rida gali skirtis, ką tiksliai temos gali pakeisti.



Vis dėlto tai yra viskas SystemUI.apk - ir aš jums parodysiu žingsnis po žingsnio, kaip redaguoti šio .apk viduje esančius išteklius, kad galėtumėte tinkinti „Android“ vartotojo sąsają taip, kaip jums patinka. Atkreipkite dėmesį, kad šis vadovas skirtas daugiausia AOSP pagrįstiems ROM, o nuorodos į failus sistemoje „SystemUI.apk“ gali skirtis nuo turimų, atsižvelgiant į jūsų telefono gamintoją. Bet jei taip yra, vis tiek galite pasiekti tai, ką darome, šiek tiek išbandydami.

Kadangi šis vadovas skirtas redaguoti „Android“ sistemos failus ir pritaikyti jūsų ROM, taip pat turėtumėte pamatyti šiuos „Appual“ vadovus:



Reikalavimai:

  • Įsišaknijęs įrenginys ( ieškoti „Appual“ „Android“ šakniniai vadovai )
  • ADB ir greito įkrovimo įrankiai ( žr. „Appual“ vadovą Kaip įdiegti ADB sistemoje Windows )
  • „Java SDK“
  • APKTool arba APK „MultiTool“
  • „NotePad ++“ ( ar kitas kodui tinkamas teksto redaktorius, skirtas redaguoti XML ir „Smali“ eilutes )
  • Vaizdo redagavimo programinė įranga, pvz., GIMP ar „Photoshop“
  • „7-Zip“ arba „Winrar“

Pastaba: Šiame vadove aš naudosiu „APKTool“ kaip nuorodą - jei pasirinkote „APKMultiTool“, pradinis nustatymo ir dekompiliavimo / perkompiliavimo procesas gali būti kitoks, tačiau iš esmės veiksmai yra tokie patys.



Taip pat galite apsvarstyti galimybę įdiegti savo įrenginio ROM į „Android“ emuliatorių savo kompiuteryje, kad galėtumėte išbandyti ir peržiūrėti „SystemUI“ pakeitimus prieš įkeldami juos į savo įrenginį.



„APKTool“ sąranka, skirta „Windows“

  1. Atsisiųskite „Windows“ įvyniojimo scenarijus (Dešiniuoju pelės mygtuku spustelėkite, Išsaugoti nuorodą kaip apktool.bat)
  2. Atsisiųsti apktool-2 ( Čia rasite naujausią )
  3. Pervardykite atsisiųstą stiklainį į apktool.jar
  4. Perkelkite abu failus (apktool.jar ir apktool.bat) į savo „Windows“ katalogą (paprastai C: // Windows)
  5. Jei neturite prieigos prie C: // Windows, galite įdėti du failus bet kur, tada pridėkite tą katalogą prie savo aplinkos kintamųjų sistemos PATH kintamojo.
  6. Pabandykite paleisti apktool per komandų eilutę

„APKTool“ sąranka, skirta „Linux“

  1. Atsisiųskite „Linux“ įvyniojimo scenarijus (Dešiniuoju pelės mygtuku spustelėkite „Išsaugoti nuorodą kaip apktool“)
  2. Atsisiųsti apktool-2 ( Čia rasite naujausią )
  3. Pervardykite atsisiųstą stiklainį į apktool.jar
  4. Perkelkite abu failus (apktool.jar ir apktool) į / usr / local / bin (reikalinga root)
  5. Įsitikinkite, kad abu failai yra vykdomi (chmod + x)
  6. Pabandykite paleisti apktool per cli

„APKTool“ sąranka, skirta „Mac OS X“

  1. Atsisiųskite „Mac“ įvyniojimo scenarijus (Dešiniuoju pelės mygtuku spustelėkite „Išsaugoti nuorodą kaip apktool“)
  2. Atsisiųsti apktool-2 ( Čia rasite naujausią )
  3. Pervardykite atsisiųstą stiklainį į apktool.jar
  4. Perkelkite abu failus (apktool.jar ir apktool) į / usr / local / bin (reikalinga root)
  5. Įsitikinkite, kad abu failai yra vykdomi (chmod + x)
  6. Pabandykite paleisti apktool per cli

„SystemUI.Apk“ dekompiliavimas su „APKTool“

  1. Įdiegę „APKTool“, turime iš jūsų įrenginio ištraukti jūsų pagrindo failą per ADB. The bendras AOSP karkaso failas pavadintas „ framework-res.apk ’ rasti / sistema / sistema kelią jūsų įrenginyje, tačiau dauguma gamintojų be AOSP sistemos įtraukia ir savo pagrindinius failus.
  2. Tai gali būti keblu, nes turėsite išsiaiškinti, kad gamintojas jūsų įrenginyje pavadino pagrindų išteklių failą. Paprastai jie bus rasti / sistema / sistema , bet kartais juos galima paslėpti / data / system-framework arba / system / priv-app . Pačiuose failuose paprastai bus ištekliai “ , „jautiena“ arba sistema' failų pavadinimuose.
  3. Suradę pagrindų failą, traukite jį kartu su savo SystemUI.apk per ADB konsolę. Tai atliksite naudodami komandą:
  4. adb pull /system/framework/framework-res.apk (jei reikia, pakeiskite kelią ir atlikite tą pačią komandą sistemai „SystemUI.apk“)
  5. Ištrauktus failus rasite pagrindiniame savo kompiuterio ADB diegimo aplanke.
  6. Dabar mes juos įdiegsime į „APKTool“. Taigi komandinėje eilutėje įveskite:
  7. Apktool jei taip pvz apktool, jei C: ADB framework-res.apk
  8. Pakartokite aukščiau nurodytą sistemą SystemUI.apk
  9. Dabar mes dekompiliuosime SystemUI.apk, todėl įveskite į komandų langą: apktool d SystemUI.apk
  10. Tai išgaus visą SystemUI.apk į aplankų seriją.

Piktogramų ir vartotojo sąsajos spalvų redagavimas

Taigi dabar turite išsiaiškinti telefono DPI, nes jums patiks aplankai SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi ir tt Taip jis veikia:



  • ldpi (žemas) ~ 120 dpi
  • mdpi (vidutinis) ~ 160 dpi
  • HDPI (didelis) ~ 240 dpi
  • xhdpi (ypač didelis) ~ 320 dpi
  • xxhdpi (ypač didelis - ~ 480 dpi)
  • xxxhdpi (extra-extra-extra-high) ~ 640 dpi

Taigi, norėdami redaguoti „SystemUI“ išteklius, turėsite išsiaiškinti, į kurią kategoriją patenka jūsų ekranas.

Aplanke pamatysite beveik visus .png failus, naudojamus jūsų sistemos vartotojo sąsajoje - viską nuo pranešimų juostos piktogramų, greitųjų nustatymų skydelio piktogramų ir kt. Tikrieji failų pavadinimai gali skirtis priklausomai nuo gamintojo, tačiau AOSP- ROM paprastai turėtų turėti tokius failus:

  • Notification_panel_bg.9 ( jūsų būsenos juostos fonas)
  • ic_qs _ ####. png ( greitųjų nustatymų skydelio piktogramos)
  • stat_syst _ ####. png ( būsenos juostos piktogramos)

Tačiau jūsų gamintojas gali nesilaikyti šių pavadinimų suteikimo principų, todėl jums tereikės atidžiai pažvelgti į .pngs, kad tiksliai suprastumėte, kam jie skirti.

Svarbu: jei paleidžiate .9.png failus, nebandykite jų tiesiogiai redaguoti GIMP ar „Photoshop“ be pamokos. Tai yra „9Patch .png“ failai, kurie turi matomas kraštines redaguojant vaizdus, ​​tačiau šios sienos „Android“ vartotojo sąsajoje tampa nematomos naudojant specialią techniką ( per ilgai paaiškinti), ir yra specialus būdas jais manipuliuoti. Turėtumėte naudoti Lygiosios 9 pataisų įrankį iš „Android Studio“ arba sužinokite, kaip tinkamai redaguoti / kurti „9Patch“ vaizdus sistemoje „Photoshop“ / GIMP.

Norėdami redaguoti tikrąją sparčiųjų nustatymų skydelio fono spalvą, turėsite atidaryti /res/values/colors.xml ir atitinkamai redaguokite eilutes. Iš tikrųjų eilutės turėtų būti komentuojamos paaiškinimais arba bent jau gana lengvai suprantamos pavadinimų suteikimo tvarkos. Štai kodėl aš rekomendavau naudoti „Android Emulator“, kad galėtumėte peržiūrėti ir pakoreguoti.

Redaguoti teksto spalvas

Patikrinkite šias eilutes /res/layout/tw_statusbar.xml:

Baterijos piktogramos teksto spalva ( jei jūsų akumuliatorius rodomas procentais)

Laikrodžio teksto spalva:

Patikrinkite šias eilutes /res/layout/tw_status_bar_expanded_header.xml:

Nuleidžiama laikrodžio spalva

Datos spalva

'@ Style / TextAppearance.StatusBar.Expanded.Date' android: textColor = '# something'

„SystemUI“ yra tiek daug dalykų, kuriuos reikia pritaikyti, negaliu paaiškinti kiekvieno smulkmenos šiame vadove - galite rasti „SystemUI“ temos vadovą, kuriame paaiškinamos kiekvienos eilutės .XML failuose, bet jums bus gerai, jei tiesiog padarysite peržiūrėkite pakeitimus naudodami „Android“ emuliatorių ir pakoreguokite.

Modifikuotos sistemos perkompiliavimas ir diegimasUI.Apk

  1. Komandos lange įveskite: apktool b SystemUI
  2. Tai sukurs naują .apk aplanką Dist aplanką dekompiliuotame APK kataloge. Taigi pažvelk / systemUI / dist naujam SystemUI.apk failui.
  3. Dabar, norėdami nukopijuoti ir pakeisti aplanką META-INF ir „AndroidManifest.XML“, turite naudoti kažką panašaus į „7-Zip“. originalus APK į naujas APK, tada vėl sukompiliuokite.
  4. Dabar galite mirksinti naują „SystemUI.apk“ savo įrenginyje.

Laimingo modingo!

5 minutes perskaityta