Kako ročno tematizirati uporabniški vmesnik sistema Android

in druga podobna vprašanja, povezana z uporabniškim vmesnikom za Android. Nekatere blagovne znamke to omogočajo v tematskih trgovinah, vendar se kilometrina lahko razlikuje glede na to, kaj točno se teme lahko spremenijo.



Vse to pa je odvisno od tega SystemUI.apk - in pokazal vam bom korak za korakom urejanje virov znotraj tega .apk, da prilagodite uporabniški vmesnik Android, kot želite. Upoštevajte, da je ta priročnik namenjen predvsem ROM-om, ki temeljijo na AOSP - in sklici na datoteke znotraj SystemUI.apk se lahko razlikujejo od tistih, ki jih imate, odvisno od proizvajalca telefona. Če pa je temu tako, lahko še vedno dosežete to, kar počnemo, z nekaj poskusi in napakami.

Ker se ta vodnik vrti okoli urejanja sistemskih datotek Android in prilagajanja ROM-a, bi morali videti tudi naslednja Appualova vodiča:



Zahteve:

  • Ukoreninjena naprava ( poiščite Appual’s Korenski vodniki za Android )
  • Orodja ADB in Fastboot ( glejte Appualov vodnik Kako namestiti ADB v sistem Windows )
  • Java SDK
  • APKOrodje ali APKMultiTool
  • NotePad ++ ( ali drug kodo prijazen urejevalnik besedil za urejanje vrstic XML in Smali )
  • Programska oprema za urejanje slik, kot sta GIMP ali Photoshop
  • 7-Zip ali Winrar

Opomba: V tem priročniku bom uporabil APKTool kot referenco - če ste namesto tega uporabili APKMultiTool, se lahko postopek začetne nastavitve in razstavljanja / ponovnega prevajanja razlikuje, vendar so koraki na splošno enaki.



Prav tako boste morda želeli razmisliti o namestitvi ROM-a naprave v emulator Android v računalniku, da boste lahko pred nalaganjem v svojo napravo preizkusili in predogledali spremembe sistema.



APK Orodje za Windows

  1. Prenesite Windows ovojni skript (Z desno miškino tipko shrani povezavo kot apktool.bat)
  2. Prenesite apktool-2 ( najdi najnovejše tukaj )
  3. Preimenovani kozarec preimenujte v apktool.jar
  4. Premaknite obe datoteki (apktool.jar in apktool.bat) v svoj imenik Windows (običajno C: // Windows)
  5. Če nimate dostopa do C: // Windows, lahko dve datoteki postavite kamor koli, nato pa dodate ta imenik v spremenljivko PATH sistema spremenljivk okolja.
  6. Poskusite zagnati apktool prek ukaznega poziva

APK Orodje za Linux

  1. Prenesite Linux ovojni skript (Desni klik, shrani povezavo kot apktool)
  2. Prenesite apktool-2 ( najdi najnovejše tukaj )
  3. Preimenujte preneseni kozarec v apktool.jar
  4. Premaknite obe datoteki (apktool.jar in apktool) v / usr / local / bin (potreben je root)
  5. Prepričajte se, da sta obe datoteki izvedljivi (chmod + x)
  6. Poskusite zagnati apktool prek cli

APK Orodje za Mac OS X

  1. Prenesite Mac ovojni skript (Desni klik, shrani povezavo kot apktool)
  2. Prenesite apktool-2 ( najdi najnovejše tukaj )
  3. Preimenovani kozarec preimenujte v apktool.jar
  4. Premaknite obe datoteki (apktool.jar in apktool) v / usr / local / bin (potreben je root)
  5. Prepričajte se, da sta obe datoteki izvedljivi (chmod + x)
  6. Poskusite zagnati apktool prek cli

Razstavljanje SystemUI.Apk z APKTool

  1. Po namestitvi APKTool moramo iz ADB-ja potegniti vašo ogrodje iz naprave. The generični AOSP Datoteka ogrodja se imenuje framework-res.apk “ Najdeno v / sistem / ogrodje pot v vaši napravi, vendar večina proizvajalcev poleg ogrodja AOSP vključuje tudi lastne datoteke ogrodja.
  2. To je lahko težavno, ker boste morali ugotoviti, da je proizvajalec v vaši napravi poimenoval datoteko z okvirnimi viri. Običajno jih najdemo v / sistem / ogrodje , včasih pa jih je mogoče skriti v / data / system-framework ali / system / priv-app . Datoteke same imajo običajno virov “ , 'govedina' , ali „ okvir “ v imenih datotek.
  3. Ko najdete svojo ogrodno datoteko, jo potegnite skupaj s sistemom SystemUI.apk prek konzole ADB. To bi naredili z ukazom:
  4. adb pull /system/framework/framework-res.apk (po potrebi spremenite pot in naredite enak ukaz za SystemUI.apk)
  5. Izvlečene datoteke boste našli v svoji glavni namestitveni mapi ADB v računalniku.
  6. Zdaj jih bomo namestili v APKTool. Torej v ukazni poziv vnesite:
  7. Apktool, če tako na primer apktool, če je C: ADB framework-res.apk
  8. Ponovite zgornje za SystemUI.apk
  9. Zdaj bomo razstavili SystemUI.apk, zato v ukazno okno vnesite: apktool d SystemUI.apk
  10. To bo izvleklo celoten SystemUI.apk v vrsto map.

Urejanje ikon in barv uporabniškega vmesnika

Zdaj morate ugotoviti DPI v telefonu, ker vam bodo mape všeč SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi itd. Tako deluje:



  • ldpi (nizko) ~ 120 dpi
  • mdpi (srednje) ~ 160 dpi
  • hdpi (visoko) ~ 240 dpi
  • xhdpi (zelo visoko) ~ 320 dpi
  • xxhdpi (zelo zelo visoko) ~ 480 dpi
  • xxxhdpi (ekstra-ekstra-ekstra-visoko) ~ 640 dpi

Torej, če želite urediti svoje vire SystemUI, boste morali ugotoviti, pod katero kategorijo spada vaš zaslon.

V mapi boste videli skoraj vse datoteke .png, ki se uporabljajo za sistemski uporabniški vmesnik - vse od ikon v vrstici z obvestili, ikon s ploščami za hitre nastavitve itd. Dejanska imena datotek se lahko razlikujejo glede na proizvajalca, vendar AOSP- na osnovi ROM-ov naj bi bile datoteke, imenovane tako:

  • Notification_panel_bg.9 ( ozadje vrstice stanja)
  • ic_qs _ ####. png ( ikone plošče za hitre nastavitve)
  • stat_syst _ ####. png ( ikone v vrstici stanja)

Toda vaš proizvajalec morda ne bo upošteval teh pravil o poimenovanju, zato boste morali natančno pogledati .png, da natančno ugotovite, čemu služijo.

Pomembno: Če naletite na datoteke .9.png, jih ne poskušajte neposredno urejati v GIMP ali Photoshop brez vadnice. To so datoteke 9Patch .png, ki imajo ob urejanju slik vidne obrobe, vendar te meje v uporabniškem vmesniku Android s posebno tehniko postanejo nevidne ( predolgo za razlago), in obstaja posebna metoda za njihovo manipulacijo. Moral bi uporabiti Nariši 9-obliž orodje iz Android Studio ali pa se naučite pravilno urejati / ustvarjati slike 9Patch v Photoshopu / GIMP.

Če želite urediti dejansko barvo ozadja same plošče za hitre nastavitve, jo morate odpreti /res/values/colors.xml in ustrezno uredite vrstice. Vrstice je treba dejansko komentirati z razlagami ali vsaj dokaj enostavnimi za razumevanje konvencij o poimenovanju. Zato sem priporočil uporabo emulatorja Android za predogled in prilagajanje med potekom.

Urejanje barv besedila

Za te vrstice preverite /res/layout/tw_statusbar.xml:

Barva besedila ikone baterije ( če je vaša baterija prikazana kot odstotek besedila)

Barva besedila ure:

Preverite /res/layout/tw_status_bar_expanded_header.xml za te vrstice:

Barva spustne ure

Barva datuma

“@ Style / TextAppearance.StatusBar.Expanded.Date” android: textColor = '# nekaj'

V SystemUI je toliko stvari, ki jih lahko prilagodite, v tem priročniku ne morem razložiti vsake malenkosti - lahko najdete vodnik po temah SystemUI, ki razloži vsako vrstico v datotekah .XML, vendar boste v redu, če samo naredite predogled sprememb v emulatorju za Android in prilagajanje med potekom.

Ponovno prevajanje in namestitev vašega spremenjenega SystemUI.Apk

  1. V ukazno okno vnesite: apktool b SystemUI
  2. To bo ustvarilo novo mapo .apk v Razd v razstavljenem imeniku APK. Torej poglejte noter / systemUI / dist za novo datoteko SystemUI.apk.
  3. Zdaj morate uporabiti nekaj podobnega 7-Zip za kopiranje in zamenjavo mape META-INF in AndroidManifest.XML iz izvirni APK v nov APK, nato znova prevedite.
  4. Zdaj lahko novo SystemUI.apk bliskate v svojo napravo.

Srečno spreminjanje!

5 minut branja