Hoe u de gebruikersinterface van het Android-systeem handmatig kunt thematiseren

en andere soortgelijke vragen met betrekking tot de Android-gebruikersinterface. Sommige merken laten dit toe via themawinkels, maar het aantal kilometers kan variëren met betrekking tot welke thema's precies kunnen veranderen.



Waar dit echter allemaal op neerkomt, is SystemUI.apk - en ik ga je stap voor stap laten zien hoe je de bronnen in deze .apk kunt bewerken om de Android UI naar wens aan te passen. Houd er rekening mee dat deze handleiding voornamelijk voor AOSP-gebaseerde ROM's is - en verwijzingen naar bestanden in de SystemUI.apk kunnen verschillen van wat je hebt, afhankelijk van de fabrikant van je telefoon. Maar als dat het geval is, kunt u nog steeds bereiken wat we doen, met een beetje vallen en opstaan.

Omdat deze handleiding draait om het bewerken van Android-systeembestanden en het aanpassen van uw ROM, zou u ook de volgende Appual-handleidingen moeten lezen:



Vereisten:

  • Een geroot apparaat ( zoek in Appual's naar Android-rootgidsen )
  • ADB & Fastboot-tools ( zie Appual's gids Hoe ADB op Windows te installeren )
  • Java SDK
  • APKTool of APKMultiTool
  • Kladblok ++ ( of een andere codevriendelijke teksteditor voor het bewerken van XML- en Smali-regels )
  • Beeldbewerkingssoftware zoals GIMP of Photoshop
  • 7-Zip of Winrar

Opmerking: voor deze handleiding gebruik ik APKTool als referentie - als je in plaats daarvan met APKMultiTool ging, kunnen de initiële installatie en het decompileer- / hercompileerproces verschillen, maar over het algemeen zijn de stappen hetzelfde.



U kunt ook overwegen de ROM van uw apparaat te installeren in een Android-emulator op uw computer, zodat u uw SystemUI-wijzigingen kunt testen en bekijken voordat u ze op uw apparaat laadt.



APKTool Setup voor Windows

  1. Windows downloaden wrapper-script (Klik met de rechtermuisknop, Link opslaan als apktool.bat)
  2. Apktool-2 downloaden ( vind de nieuwste hier )
  3. Hernoem de gedownloade jar naar apktool.jar
  4. Verplaats beide bestanden (apktool.jar & apktool.bat) naar uw Windows-directory (meestal C: // Windows)
  5. Als u geen toegang hebt tot C: // Windows, kunt u de twee bestanden ergens plaatsen en vervolgens die map toevoegen aan uw omgevingsvariabelen System PATH-variabele.
  6. Probeer apktool uit te voeren via de opdrachtprompt

APKTool Setup voor Linux

  1. Linux downloaden wrapper-script (Klik met de rechtermuisknop, Link opslaan als apktool)
  2. Apktool-2 downloaden ( vind de nieuwste hier )
  3. Hernoem de gedownloade jar naar apktool.jar
  4. Verplaats beide bestanden (apktool.jar & apktool) naar / usr / local / bin (root nodig)
  5. Zorg ervoor dat beide bestanden uitvoerbaar zijn (chmod + x)
  6. Probeer apktool uit te voeren via cli

APKTool Setup voor Mac OS X

  1. Mac downloaden wrapper-script (Klik met de rechtermuisknop, Link opslaan als apktool)
  2. Apktool-2 downloaden ( vind de nieuwste hier )
  3. Hernoem de gedownloade jar naar apktool.jar
  4. Verplaats beide bestanden (apktool.jar & apktool) naar / usr / local / bin (root nodig)
  5. Zorg ervoor dat beide bestanden uitvoerbaar zijn (chmod + x)
  6. Probeer apktool uit te voeren via cli

SystemUI.Apk decompileren met APKTool

  1. Na het installeren van APKTool, moeten we uw framework-bestand via ADB van uw apparaat halen. De generiek AOSP framework-bestand heet ‘ framework-res.apk ' gevonden in / systeem / framework pad op uw apparaat, maar de meeste fabrikanten nemen naast het AOSP-framework ook hun eigen framework-bestanden op.
  2. Dit kan lastig zijn omdat u erachter moet komen dat de fabrikant het framework-bronnenbestand op uw apparaat een naam heeft gegeven. Ze zijn meestal te vinden in / systeem / framework , maar soms kunnen ze worden verborgen in / data / system-framework of / systeem / priv-app . De bestanden zelf hebben meestal ‘ middelen' , 'rundvlees' , of ‘ kader' in de bestandsnamen.
  3. Zodra u uw framework-bestand heeft gevonden, trekt u het samen met uw SystemUI.apk via de ADB-console. Je zou dit doen met het commando:
  4. adb pull /system/framework/framework-res.apk (verander het pad indien nodig en voer hetzelfde commando uit voor de SystemUI.apk)
  5. U vindt de getrokken bestanden in uw hoofdinstallatiemap van ADB op uw computer.
  6. Nu gaan we ze in APKTool installeren. Typ dus in een opdrachtprompt:
  7. Apktool als dus bijvoorbeeld apktool als C: ADB framework-res.apk
  8. Herhaal het bovenstaande voor de SystemUI.apk
  9. Nu gaan we de SystemUI.apk decompileren, dus typ in het opdrachtvenster: apktool d SystemUI.apk
  10. Hiermee wordt de volledige SystemUI.apk uitgepakt in een reeks mappen.

Pictogrammen en UI-kleuren bewerken

Dus nu moet je de DPI van je telefoon achterhalen, want je zult mappen leuk vinden SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi , etc. Dit is hoe het werkt:



  • ldpi (laag) ~ 120dpi
  • mdpi (gemiddeld) ~ 160dpi
  • hdpi (hoog) ~ 240 dpi
  • xhdpi (extra hoog) ~ 320 dpi
  • xxhdpi (extra-extra-hoog) ~ 480 dpi
  • xxxhdpi (extra-extra-extra-hoog) ~ 640 dpi

Dus om uw SystemUI-bronnen te bewerken, moet u uitzoeken in welke categorie uw scherm valt.

In de map ziet u vrijwel alle .png-bestanden die voor uw systeeminterface worden gebruikt - alles van de pictogrammen op de meldingsbalk, pictogrammen op het paneel met snelle instellingen, enz. De werkelijke bestandsnamen kunnen variëren, afhankelijk van de fabrikant, maar AOSP- op basis van ROM's zouden doorgaans bestanden met de volgende naam moeten hebben:

  • Notification_panel_bg.9 ( uw statusbalkachtergrond)
  • ic_qs _ ####. png ( pictogrammen op het paneel met snelle instellingen)
  • stat_syst _ ####. png ( statusbalkpictogrammen)

Maar het is mogelijk dat uw fabrikant die naamgevingsconventies niet volgt, dus u hoeft alleen maar goed naar de PNG-bestanden te kijken om erachter te komen waar ze precies voor dienen.

Belangrijk: Als u .9.png-bestanden tegenkomt, probeer ze dan niet rechtstreeks in GIMP of Photoshop te bewerken zonder eerst een zelfstudie. Dit zijn 9Patch .png-bestanden die zichtbare randen hebben bij het bewerken van de afbeeldingen, maar deze randen worden onzichtbaar in de Android-gebruikersinterface door middel van een speciale techniek ( te lang om uit te leggen), en er is een speciale methode om ze te manipuleren. U moet de Teken de 9-patch-tool vanuit Android Studio, of leer hoe u 9Patch-afbeeldingen correct bewerkt / maakt in Photoshop / GIMP.

Om de werkelijke achtergrondkleur van het paneel met snelle instellingen zelf te bewerken, moet u openen /res/values/colors.xml en bewerk de regels dienovereenkomstig. De regels moeten eigenlijk worden becommentarieerd met uitleg of op zijn minst redelijk gemakkelijk te begrijpen naamgevingsconventies. Daarom raad ik aan om een ​​Android-emulator te gebruiken, om voorbeelden te bekijken en aan te passen terwijl je doorgaat.

Tekstkleuren bewerken

Check /res/layout/tw_statusbar.xml voor deze regels:

Tekstkleur batterijpictogram ( als uw batterij wordt weergegeven als een tekstpercentage)

Tekstkleur klok:

Check /res/layout/tw_status_bar_expanded_header.xml voor deze regels:

Kleur van de neerklapbare klok

Datum kleur

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

Er zijn zoveel dingen om aan te passen in de SystemUI, ik kan niet alles in deze handleiding uitleggen - je zou een SystemUI-themagids kunnen vinden die elke regel in de .XML-bestanden uitlegt, maar het komt wel goed als je het gewoon maakt bekijk een voorbeeld van uw wijzigingen in een Android-emulator en pas ze gaandeweg aan.

Hercompileren en installeren van uw gewijzigde SystemUI.Apk

  1. Typ in een opdrachtvenster: apktool b SystemUI
  2. Hiermee wordt een nieuwe .apk-map gemaakt in een Dist map in de gedecompileerde APK-map. Dus kijk naar binnen / systemUI / dist voor het nieuwe SystemUI.apk-bestand.
  3. Nu moet je zoiets als 7-Zip gebruiken om de META-INF-map en AndroidManifest.XML te kopiëren en te vervangen vanuit de originele APK in de nieuwe APK, compileer vervolgens opnieuw.
  4. U kunt nu de nieuwe SystemUI.apk op uw apparaat flashen.

Veel plezier met modding!

5 minuten gelezen