Как да ръчно тематизирате потребителския интерфейс на системата Android

и други подобни въпроси, свързани с потребителския интерфейс на Android. Някои марки позволяват това чрез тематични магазини, но пробегът може да варира по отношение на това какви точно теми могат да се променят.



До какво се свежда обаче всичко това е SystemUI.apk - и ще ви покажа стъпка по стъпка за редактиране на ресурсите в този .apk, за да персонализирате потребителския интерфейс на Android, както ви харесва. Моля, обърнете внимание, че това ръководство е за основно базирани на AOSP ROM - и препратките към файлове в SystemUI.apk може да са различни от това, което имате, в зависимост от производителя на вашия телефон. Но ако случаят е такъв, пак можете да постигнете това, което правим, с малко проби и грешки.

Тъй като това ръководство се върти около редактиране на системни файлове на Android и персонализиране на ROM, трябва да видите и следните ръководства на Appual:



Изисквания:

  • Вкоренено устройство ( търсете Appual’s за Ръководства за Android корен )
  • Инструменти за ADB и Fastboot ( вижте ръководството на Appual Как да инсталирам ADB на Windows )
  • Java SDK
  • APKTool или APKMultiTool
  • NotePad ++ ( или друг удобен за код текстов редактор за редактиране на XML и Smali редове )
  • Софтуер за редактиране на изображения като GIMP или Photoshop
  • 7-Zip или Winrar

Забележка: В това ръководство ще използвам APKTool като референция - ако вместо това сте използвали APKMultiTool, първоначалният процес на настройка и декомпилиране / прекомпилиране може да е различен, но като цяло стъпките са едни и същи.



Освен това може да помислите за инсталиране на ROM на вашето устройство в Android емулатор на вашия компютър, така че да можете да тествате и визуализирате промените в SystemUI, преди да ги заредите на вашето устройство.



Настройка на APKTool за Windows

  1. Изтеглете Windows обвивка скрипт (Щракнете с десния бутон върху Save Link As apktool.bat)
  2. Изтеглете apktool-2 ( намерете най-новото тук )
  3. Преименувайте изтегления буркан на apktool.jar
  4. Преместете двата файла (apktool.jar & apktool.bat) във вашата директория на Windows (обикновено C: // Windows)
  5. Ако нямате достъп до C: // Windows, можете да поставите двата файла навсякъде, след което да добавите тази директория към вашата променлива PATH System Variables Environment.
  6. Опитайте да стартирате apktool чрез командния ред

Настройка на APKTool за Linux

  1. Изтеглете Linux обвивка скрипт (Щракнете с десния бутон, Запазете връзката като apktool)
  2. Изтеглете apktool-2 ( намерете най-новото тук )
  3. Преименувайте изтегления буркан на apktool.jar
  4. Преместете двата файла (apktool.jar и apktool) в / usr / local / bin (необходим корен)
  5. Уверете се, че и двата файла са изпълними (chmod + x)
  6. Опитайте да стартирате apktool чрез cli

Настройка на APKTool за Mac OS X

  1. Изтеглете Mac обвивка скрипт (Щракнете с десния бутон, Запазете връзката като apktool)
  2. Изтеглете apktool-2 ( намерете най-новото тук )
  3. Преименувайте изтегления буркан на apktool.jar
  4. Преместете двата файла (apktool.jar и apktool) в / usr / local / bin (необходим корен)
  5. Уверете се, че и двата файла са изпълними (chmod + x)
  6. Опитайте да стартирате apktool чрез cli

Декомпилиране на SystemUI.Apk с APKTool

  1. След като инсталираме APKTool, трябва да изтеглим вашия рамков файл от вашето устройство чрез ADB. The родово AOSP рамковият файл е наречен „ framework-res.apk “ намерен в / система / рамка път на вашето устройство, но повечето производители включват собствени рамкови файлове в допълнение към AOSP рамката.
  2. Това може да е сложно, защото ще трябва да разберете, че производителят е нарекъл файла с рамковите ресурси на вашето устройство. Те обикновено се намират в / система / рамка , но понякога те могат да бъдат скрити в / data / system-framework или / system / priv-app . Самите файлове обикновено имат „ ресурси “ , 'говеждо месо' , или ' рамка “ в имената на файловете.
  3. След като намерите вашия рамков файл, издърпайте го заедно с вашия SystemUI.apk чрез ADB конзола. Бихте направили това с командата:
  4. adb pull /system/framework/framework-res.apk (променете пътя, ако е необходимо и направете същата команда за SystemUI.apk)
  5. Ще намерите изтеглените файлове в основната инсталационна папка на ADB на вашия компютър.
  6. Сега ще ги инсталираме в APKTool. Така че в командния ред въведете:
  7. Apktool ако така например apktool ако C: ADB framework-res.apk
  8. Повторете горното за SystemUI.apk
  9. Сега ще декомпилираме SystemUI.apk, така че въведете в командния прозорец: apktool d SystemUI.apk
  10. Това ще извлече целия SystemUI.apk в серия от папки.

Редактиране на икони и цветове на потребителския интерфейс

Така че сега трябва да разберете DPI на телефона си, защото папките ще ви харесат SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi и т.н. Ето как работи:



  • ldpi (ниско) ~ 120 dpi
  • mdpi (средно) ~ 160 dpi
  • hdpi (високо) ~ 240dpi
  • xhdpi (изключително високо) ~ 320 dpi
  • xxhdpi (изключително много високо) ~ 480 dpi
  • xxxhdpi (екстра-екстра-екстра-висока) ~ 640dpi

Така че, за да редактирате вашите ресурси на SystemUI, ще трябва да разберете под коя категория попада вашият екран.

Вътре в папката ще видите почти всички .png файлове, използвани за вашия потребителски интерфейс на системата - всичко от иконите на лентата за уведомяване, иконите на панела за бързи настройки и т.н. Действителните имена на файловете могат да варират в зависимост от производителя, но AOSP- базирани ROM обикновено трябва да имат файлове, наречени по този начин:

  • Notification_panel_bg.9 ( фона на лентата на състоянието ви)
  • ic_qs _ ####. png ( икони на панела за бързи настройки)
  • stat_syst _ ####. png ( икони в лентата на състоянието)

Но вашият производител може да не спазва тези конвенции за именуване, така че просто ще трябва да разгледате .png отблизо, за да разберете за какво точно са.

Важно: Ако се сблъскате с .9.png файлове, не се опитвайте да ги редактирате директно в GIMP или Photoshop без първоурок. Това са 9Patch .png файлове, които имат видими граници при редактиране на изображенията, но тези граници стават невидими в потребителския интерфейс на Android чрез специална техника ( твърде дълго за обяснение), и има специален метод за тяхното манипулиране. Трябва да използвате Начертайте 9-кръпен инструмент от Android Studio или научете как правилно да редактирате / създавате 9Patch изображения във Photoshop / GIMP.

За да редактирате действителния цвят на фона на самия панел за бързи настройки, ще трябва да отворите /res/values/colors.xml и редактирайте съответно редовете. Редовете всъщност трябва да бъдат коментирани с обяснения или поне доста лесни за разбиране конвенции за именуване. Ето защо препоръчах да използвате емулатор на Android, за да визуализирате и ощипвате, докато вървите.

Редактиране на текстови цветове

Проверете /res/layout/tw_statusbar.xml за тези редове:

Цвят на текста на иконата на батерията ( ако батерията ви се показва като процент на текста)

Цвят на текста на часовника:

Проверете /res/layout/tw_status_bar_expanded_header.xml за тези редове:

Цвят на падащия часовник

Цвят на датата

“@ Style / TextAppearance.StatusBar.Expanded.Date” android: textColor = '# нещо'

В SystemUI има толкова много неща, които можете да персонализирате, не мога да обясня всяко малко нещо в това ръководство - можете да намерите ръководство за тема SystemUI, което обяснява всеки ред в .XML файловете, но ще се оправите, ако просто направите визуализирайте промените си в Android емулатор и ощипвайте, докато вървите.

Прекомпилиране и инсталиране на вашия модифициран SystemUI.Apk

  1. В команден прозорец въведете: apktool b SystemUI
  2. Това ще създаде нова .apk папка в Разст папка в декомпилираната APK директория. Така че погледнете / systemUI / dist за новия файл SystemUI.apk.
  3. Сега трябва да използвате нещо като 7-Zip, за да копирате и замените папката META-INF и AndroidManifest.XML от оригинален APK в нов APK, след това прекомпилирайте отново.
  4. Вече можете да мигате новия SystemUI.apk на вашето устройство.

Честито модифициране!

5 минути четене