Kako ručno tematizirati korisničko sučelje Android sustava

i druga slična pitanja u vezi s Android korisničkim sučeljem. Neke marke to dopuštaju putem tematskih trgovina, ali kilometraža može varirati u odnosu na točne teme.



Međutim, na što se sve ovo svodi SystemUI.apk - i pokazat ću vam korak po korak uređivanje resursa unutar ovog .apk-a kako biste prilagodili korisničko sučelje Androida kako želite. Imajte na umu da je ovaj vodič za ROM-ove koji se uglavnom temelje na AOSP-u - a reference na datoteke unutar SystemUI.apk mogu se razlikovati od onoga što imate, ovisno o proizvođaču telefona. Ali ako je to slučaj, i dalje možete postići ono što radimo, uz malo pokušaja i pogrešaka.

Budući da se ovaj vodič vrti oko uređivanja datoteka sustava Android i prilagodbe vašeg ROM-a, trebali biste vidjeti i sljedeće vodiče tvrtke Appual:



Zahtjevi:

  • Ukorijenjeni uređaj ( potražite Appual’s Vodiči za Android root )
  • ADB i Fastboot Alati ( pogledajte Appualov vodič Kako instalirati ADB na Windows )
  • Java SDK
  • APKTool ili APKMultiTool
  • NotePad ++ ( ili drugi uređivač teksta prilagođen kodu za uređivanje XML i Smali redaka )
  • Softver za uređivanje slika poput GIMP-a ili Photoshopa
  • 7-Zip ili Winrar

Napomena: U ovom vodiču koristit ću APKTool kao referencu - ako ste umjesto toga išli s APKMultiTool, postupak početne postavke i dekompiliranja / ponovnog sastavljanja može se razlikovati, ali sveukupno koraci su isti.



Također, možda biste trebali razmisliti o instaliranju ROM-a uređaja u Android emulator na računalu, tako da možete testirati i pregledati promjene SystemUI-ja prije nego što ih učitate na uređaj.



Postavljanje APKTool-a za Windows

  1. Preuzmite Windows omot skripta (Desni klik, Spremi vezu kao apktool.bat)
  2. Preuzmi apktool-2 ( naći najnovije ovdje )
  3. Preimenujte preuzetu jar u apktool.jar
  4. Premjestite obje datoteke (apktool.jar i apktool.bat) u svoj Windows direktorij (obično C: // Windows)
  5. Ako nemate pristup C: // Windows, možete smjestiti dvije datoteke bilo gdje, a zatim dodajte taj direktorij u svoju varijablu PATH sustava varijabli okruženja.
  6. Pokušajte pokrenuti apktool putem naredbenog retka

Postavljanje APKTool-a za Linux

  1. Preuzmite Linux omot skripta (Desni klik, Spremi vezu kao apktool)
  2. Preuzmi apktool-2 ( naći najnovije ovdje )
  3. Preimenujte preuzetu jar u apktool.jar
  4. Premjestite obje datoteke (apktool.jar i apktool) u / usr / local / bin (potreban je root)
  5. Provjerite jesu li obje datoteke izvršne (chmod + x)
  6. Pokušajte pokrenuti apktool putem cli-a

Postavljanje APKTool-a za Mac OS X

  1. Preuzmite Mac omot skripta (Desni klik, Spremi vezu kao apktool)
  2. Preuzmi apktool-2 ( naći najnovije ovdje )
  3. Preimenujte preuzetu jar u apktool.jar
  4. Premjestite obje datoteke (apktool.jar i apktool) u / usr / local / bin (potreban je root)
  5. Provjerite jesu li obje datoteke izvršne (chmod + x)
  6. Pokušajte pokrenuti apktool putem cli-a

Dekompiliranje SystemUI.Apk s APKTool

  1. Nakon instalacije APKTool-a, moramo povući vašu datoteku okvira s vašeg uređaja putem ADB-a. The generički AOSP datoteka okvira naziva se ' framework-res.apk ' nađeno u / sustav / okvir putanju na vašem uređaju, ali većina proizvođača pored AOSP okvira uključuje i vlastite datoteke okvira.
  2. To može biti nezgodno jer ćete morati shvatiti da je proizvođač imenovao datoteku okvirnih resursa na vašem uređaju. Obično će se naći u / sustav / okvir , ali ponekad se mogu sakriti u / data / system-framework ili / system / priv-app . Datoteke će obično imati ' resursi' , 'govedina' , ili ' okvir' u imenima datoteka.
  3. Nakon što pronađete svoju okvirnu datoteku, povucite je zajedno sa svojim SystemUI.apk putem ADB konzole. To biste učinili naredbom:
  4. adb pull /system/framework/framework-res.apk (ako je potrebno promijenite put i učinite istu naredbu za SystemUI.apk)
  5. Izvučene datoteke pronaći ćete u glavnoj instalacijskoj mapi ADB na računalu.
  6. Sada ćemo ih instalirati u APKTool. Dakle, u naredbeni redak upišite:
  7. Apktool ako tako na primjer apktool ako je C: ADB framework-res.apk
  8. Ponovite gore za SystemUI.apk
  9. Sada ćemo dekompilirati SystemUI.apk, pa upišite u naredbeni prozor: apktool d SystemUI.apk
  10. To će izvući cijeli SystemUI.apk u niz mapa.

Uređivanje ikona i boja korisničkog sučelja

Dakle, sada morate shvatiti DPI broja telefona, jer će vam se mape svidjeti SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi itd. Evo kako to funkcionira:



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

Dakle, da biste uredili svoje resurse SystemUI-a, morat ćete otkriti u koju kategoriju spada vaš zaslon.

Unutar mape vidjet ćete gotovo sve datoteke .png koje se koriste za korisničko sučelje sustava - sve od ikona na traci obavijesti, ikona na pločama brzih postavki itd. Stvarni nazivi datoteka mogu se razlikovati ovisno o proizvođaču, ali AOSP- temeljeni ROM-ovi obično bi trebali imati datoteke nazvane ovako:

  • Notification_panel_bg.9 ( pozadina vaše statusne trake)
  • ic_qs _ ####. png ( ikone ploče s brzim postavkama)
  • stat_syst _ ####. png ( ikone trake stanja)

Ali vaš se proizvođač možda neće pridržavati tih pravila imenovanja, pa ćete jednostavno morati pažljivo pogledati .png da biste točno utvrdili čemu služe.

Važno: Ako naletite na .9.png datoteke, nemojte ih pokušavati izravno uređivati ​​u GIMP-u ili Photoshopu bez podučavanja. Riječ je o 9Patch .png datotekama koje imaju vidljive obrube pri uređivanju slika, ali ove granice postaju nevidljive u korisničkom sučelju Androida posebnom tehnikom ( predugo za objašnjenje), a postoji posebna metoda za manipulaciju njima. Trebali biste koristiti Nacrtajte alat s 9 zakrpa iz Android Studija ili naučite kako pravilno urediti / stvoriti 9Patch slike u Photoshopu / GIMP-u.

Da biste uredili stvarnu boju pozadine same ploče brzih postavki, morat ćete otvoriti /res/values/colors.xml i u skladu s tim uredite retke. Redke bi zapravo trebalo komentirati s objašnjenjima ili barem prilično lako razumljivim konvencijama imenovanja. Zbog toga sam preporučio upotrebu Android Emulatora za pregled i dotjerivanje tijekom kretanja.

Uređivanje boja teksta

Prijavite se /res/layout/tw_statusbar.xml za ove retke:

Boja teksta ikone baterije ( ako je vaša baterija prikazana kao postotak teksta)

Boja teksta sata:

Prijavite se /res/layout/tw_status_bar_expanded_header.xml za ove retke:

Boja spuštajućeg sata

Boja datuma

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

U SystemUI-u postoji toliko stvari koje možete prilagoditi, ne mogu objasniti svaku sitnicu u ovom vodiču - mogli biste pronaći vodič za teme SystemUI-a koji objašnjava svaki redak u .XML datotekama, ali bit ćete u redu ako samo napravite pregledajte svoje promjene na Android emulatoru i dotjerujte ih tijekom kretanja.

Ponovno kompiliranje i instaliranje vašeg modificiranog SystemUI.Apk

  1. U naredbeni prozor upišite: apktool b SystemUI
  2. Ovo će stvoriti novu .apk mapu u Dist mapa u dekompiliranom APK direktoriju. Pa pogledajte unutra / systemUI / dist za novu datoteku SystemUI.apk.
  3. Sada morate upotrijebiti nešto poput 7-Zip za kopiranje i zamjenu mape META-INF i AndroidManifest.XML iz izvorni APK u novi APK, zatim ponovno prevesti.
  4. Sada možete instalirati novi SystemUI.apk na svoj uređaj.

Sretna modifikacija!

5 minuta čitanja