Az Android rendszer felhasználói felületének kézi megtervezése

és az Android felhasználói felületével kapcsolatos egyéb hasonló kérdések. Egyes márkák ezt a témaboltokon keresztül engedélyezik, de a futásteljesítmény változhat abban, hogy pontosan mely témák változhatnak.



Amiben mindez azonban felforr, az az SystemUI.apk - és lépésről lépésre megmutatom Önnek az .apk belsejében lévő erőforrások szerkesztését az Android felhasználói felület tetszés szerinti testreszabásához. Felhívjuk figyelmét, hogy ez az útmutató főként AOSP-alapú ROM-okra vonatkozik - és a SystemUI.apk fájljaira való hivatkozások eltérhetnek a telefonjától, a telefon gyártójától függően. De ha ez a helyzet, akkor is elérheti, amit csinálunk, egy kis próbával és hibával.

Mivel ez az útmutató az Android rendszerfájlok szerkesztésével és a ROM testreszabásával foglalkozik, az Appual következő útmutatóit is meg kell látnia:



Követelmények:

  • Gyökeres eszköz ( keresés Appual's for Android gyökér útmutatók )
  • ADB & Fastboot Tools ( lásd az Appual útmutatóját Az ADB telepítése a Windows rendszerre )
  • Java SDK
  • APKTool vagy APKMultiTool
  • NotePad ++ ( vagy más kódbarát szövegszerkesztő az XML és Smali sorok szerkesztéséhez )
  • Képszerkesztő szoftverek, például GIMP vagy Photoshop
  • 7-Zip vagy Winrar

Megjegyzés: Ehhez az útmutatóhoz az APKTool-ot fogom használni referenciaként - ha inkább az APKMultiTool programmal járt, akkor a kezdeti beállítási és visszafejtési / újrafordítási folyamat eltérő lehet, de a lépések összességében megegyeznek.



Fontolja meg az eszköz ROM-jának telepítését a számítógép Android Emulátorába, így tesztelheti és megtekintheti a SystemUI módosításait, mielőtt betöltené őket az eszközre.



APKTool Setup for Windows

  1. Töltse le a Windows rendszert burkoló szkript (Jobb klikk, Link mentése másként apktool.bat)
  2. Letöltés apktool-2 ( itt találja a legújabbat )
  3. A letöltött jar átnevezése apktool.jar fájlra
  4. Helyezze át mindkét fájlt (apktool.jar és apktool.bat) a Windows könyvtárába (általában C: // Windows)
  5. Ha nincs hozzáférése a C: // Windows rendszerhez, a két fájlt bárhová elhelyezheti, majd hozzáadhatja azt a könyvtárat a Környezeti változók rendszer PATH változójához.
  6. Próbálja meg futtatni az apktool parancssoron keresztül

APKTool telepítő Linuxhoz

  1. Töltse le a Linuxot burkoló szkript (Jobb klikk, Link mentése másként apktool)
  2. Letöltés apktool-2 ( itt találja a legújabbat )
  3. A letöltött jar átnevezése apktool.jar fájlra
  4. Helyezze át mindkét fájlt (apktool.jar és apktool) a / usr / local / bin könyvtárba (root szükséges)
  5. Győződjön meg arról, hogy mindkét fájl futtatható (chmod + x)
  6. Próbálja futtatni az apktool-t a cli-n keresztül

APKTool Setup for Mac OS X

  1. Töltse le a Mac-et burkoló szkript (Jobb klikk, Link mentése másként apktool)
  2. Letöltés apktool-2 ( itt találja a legújabbat )
  3. A letöltött jar átnevezése apktool.jar fájlra
  4. Helyezze át mindkét fájlt (apktool.jar és apktool) a / usr / local / bin könyvtárba (root szükséges)
  5. Győződjön meg arról, hogy mindkét fájl futtatható (chmod + x)
  6. Próbálja futtatni az apktool-t a cli-n keresztül

A SystemUI.Apk visszafejtése az APKTool segítségével

  1. Az APKTool telepítése után az ADB-n keresztül ki kell vonnunk a keretrendszerfájlt az eszközéről. A általános AOSP a keretfájl neve: framework-res.apk ’ találhatók / system / framework elérési útját az eszközén, de a legtöbb gyártó az AOSP keretrendszer mellett saját keretrendszer-fájlokat is tartalmaz.
  2. Ez bonyolult lehet, mert ki kell derítenie, hogy a gyártó megnevezte az eszközén a keretrendszer-erőforrások fájlt. Általában itt találhatók / system / framework , de néha el lehet rejteni őket / data / system-framework vagy / system / priv-app . Maguk a fájlok általában erőforrások' , 'marhahús' vagy „ keretrendszer' a fájlnevekben.
  3. Miután megtalálta a keretrendszer fájlját, húzza azt a SystemUI.apk fájljával együtt az ADB konzolon keresztül. Ezt a következő paranccsal tenné meg:
  4. adb pull /system/framework/framework-res.apk (szükség esetén változtassa meg az elérési utat, és hajtsa végre ugyanezt a parancsot a SystemUI.apk esetében)
  5. A kihúzott fájlokat a számítógép ADB telepítési mappájában találja meg.
  6. Most telepítjük őket az APKTool-ba. Tehát a parancssorba írja be:
  7. Apktool ha így például apktool, ha C: ADB framework-res.apk
  8. Ismételje meg a fentieket a SystemUI.apk fájlnál
  9. Most dekompiláljuk a SystemUI.apk fájlt, ezért írja be a parancsablakba: apktool d SystemUI.apk
  10. Ez kibontja a teljes SystemUI.apk fájlt egy sor mappába.

Ikonok és felhasználói felület színeinek szerkesztése

Tehát most meg kell találnia a telefon DPI-jét, mert a mappák kedvelik SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi stb. Így működik:



  • ldpi (alacsony) ~ 120dpi
  • mdpi (közepes) ~ 160dpi
  • hdpi (magas) ~ 240dpi
  • xhdpi (extra magas) ~ 320dpi
  • xxhdpi (extra-extra-magas) ~ 480dpi
  • xxxhdpi (extra-extra-extra-magas) ~ 640dpi

Tehát a SystemUI-erőforrások szerkesztéséhez meg kell találnia, hogy a képernyő melyik kategóriába tartozik.

A mappa belsejében nagyjából az összes .png fájl látható, amelyet a rendszer felhasználói felületéhez használ - az értesítési sáv ikonjaitól, a gyorsbeállítások panel ikonjaitól stb. A tényleges fájlnevek a gyártótól függően változhatnak, de az AOSP- alapú ROM-oknak általában ilyen nevű fájlokkal kell rendelkezniük:

  • Notification_panel_bg.9 ( az állapotsor háttere)
  • ic_qs _ ####. png ( gyorsbeállítások panel ikonjai)
  • stat_syst _ ####. png ( állapotsor ikonjai)

De előfordulhat, hogy a gyártója nem tartja be ezeket az elnevezési szokásokat, ezért csak alaposan meg kell vizsgálnia a .pngs-t, hogy kiderüljön, pontosan mire valók.

Fontos: Ha .9.png fájlokba ütközik, akkor ne próbáljon először oktatóanyag nélkül szerkeszteni őket a GIMP vagy a Photoshop alkalmazásban. Ezek olyan 9Patch .png fájlok, amelyek látható szegéllyel rendelkeznek a képek szerkesztésekor, de ezek a szegélyek speciális technikával láthatatlanná válnak az Android felhasználói felületén ( túl sokáig elmagyarázni), és van egy speciális módszer azok manipulálására. Használnia kell a Rajzoljon 9-javító eszközt az Android Studio alkalmazásból, vagy megtanulhatja, hogyan kell megfelelően szerkeszteni / létrehozni a 9Patch képeket a Photoshop / GIMP alkalmazásban.

Magának a gyorsbeállítások panelnek a tényleges háttérszínének szerkesztéséhez meg kell nyitnia /res/values/colors.xml és ennek megfelelően szerkessze a sorokat. A sorokat magyarázatokkal kell magyarázni, vagy legalábbis könnyen érthető névadási szokásokat kell megfogalmazni. Ezért javasoltam egy Android Emulator használatát az előnézet megtekintéséhez és módosításához.

Szövegszínek szerkesztése

Ellenőrizze a /res/layout/tw_statusbar.xml fájlt ezeken a sorokon:

Akkumulátor ikon szövegének színe ( ha az akkumulátor szöveges százalékban jelenik meg)

Óra szövegének színe:

Ellenőrizze a /res/layout/tw_status_bar_expanded_header.xml fájlt ezeken a sorokon:

Lehúzható óra színe

Dátum színe

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

Olyan sok dolgot kell testre szabni a SystemUI-ban, ebben az útmutatóban nem tudok minden apró dolgot elmagyarázni - találhat egy SystemUI téma útmutatót, amely elmagyarázza az .XML fájlok minden egyes sorát, de jó lesz, ha csak előnézeti a változtatásokat egy Android emulátorban, és módosíthatja, ahogy halad.

A módosított rendszer újrafordítása és telepítéseUI.Apk

  1. Írja be a parancsablakba: apktool b SystemUI
  2. Ez létrehoz egy új .apk mappát a Dist mappa a dekompilált APK könyvtárban. Tehát nézz be / systemUI / dist az új SystemUI.apk fájlhoz.
  3. Most valami olyasmit kell használnia, mint a 7-Zip a META-INF mappa és az AndroidManifest.XML másolásához és cseréjéhez a eredeti APK bele új APK, majd fordítsd újra.
  4. Most felvillanthatja az új SystemUI.apk fájlt eszközére.

Boldog moddolást!

5 perc olvasás