Содержание
Многие пользователи форума Android задают такие вопросы, как «как изменить цвет панели уведомлений Android?», «Как изменить значки быстрых настроек Android?» И другие подобные вопросы, связанные с пользовательским интерфейсом Android. Некоторые бренды допускают это через тематические магазины, но пробег может варьироваться в зависимости от того, что именно могут изменить темы.
Однако все это сводится к тому, SystemUI.apk — и я собираюсь показать вам шаг за шагом редактирование ресурсов внутри этого .apk, чтобы настроить пользовательский интерфейс Android так, как вам нравится. Обратите внимание, что это руководство предназначено в основном для ПЗУ на основе AOSP, а ссылки на файлы внутри SystemUI.apk могут отличаться от имеющихся у вас, в зависимости от производителя вашего телефона. Но если это так, вы можете добиться того, что мы делаем, с небольшим методом проб и ошибок.
Поскольку это руководство посвящено редактированию системных файлов Android и настройке вашего ПЗУ, вы также должны увидеть следующие руководства Appual:
- Как декомпилировать и тематические Android APK
- Как собрать собственное Android ROM из исходного кода
- Как собрать пользовательское ПЗУ Android из Source pt. 2
Требования:
- Устройство с рутом (поиск в Appual для корневых руководств Android)
- АБР Инструменты Fastboot (см. Руководство по применению Как установить ADB в Windows)
- Java SDK
- APKTool или APKMultiTool
- NotePad ++ (или другой удобный текстовый редактор для редактирования строк XML и Smali)
- Программное обеспечение для редактирования изображений, такое как GIMP или Photoshop
- 7-Zip или Winrar
Примечание. В этом руководстве я буду использовать APKTool в качестве справочного материала. Если вместо этого вы использовали APKMultiTool, процесс начальной настройки и декомпиляции / перекомпиляции может отличаться, но в целом шаги одинаковы.
Кроме того, вы можете рассмотреть возможность установки ПЗУ вашего устройства в эмулятор Android на вашем компьютере, чтобы вы могли протестировать и просмотреть изменения SystemUI перед их загрузкой на ваше устройство.
APKTool Настройка для Windows
- Скачать скрипт оболочки Windows (правый клик, сохранить ссылку как apktool.bat)
- Скачать apktool-2 (найти самое новое здесь)
- Переименовать скачанный jar в apktool.jar
- Переместить оба файла (apktool.jar apktool.bat) в каталог Windows (обычно C: // Windows)
- Если у вас нет доступа к C: // Windows, вы можете поместить эти два файла где угодно и затем добавить этот каталог в переменную PATH System Variables System.
- Попробуйте запустить apktool через командную строку
APKTool Настройка для Linux
- Загрузите скрипт-обертку для Linux (щелкните правой кнопкой мыши, Сохранить ссылку как apktool)
- Скачать apktool-2 (найти самое новое здесь)
- Переименовать скачанный jar в apktool.jar
- Переместить оба файла (apktool.jar apktool) в / usr / local / bin (требуется root)
- Убедитесь, что оба файла являются исполняемыми (chmod + x)
- Попробуйте запустить apktool через cli
APKTool Setup для Mac OS X
- Загрузите скрипт-обертку для Mac (щелкните правой кнопкой мыши, Сохранить ссылку как apktool)
- Скачать apktool-2 (найти самое новое здесь)
- Переименовать скачанный jar в apktool.jar
- Переместить оба файла (apktool.jar apktool) в / usr / local / bin (требуется root)
- Убедитесь, что оба файла являются исполняемыми (chmod + x)
- Попробуйте запустить apktool через cli
Декомпиляция SystemUI.Apk с APKTool
- После установки APKTool нам нужно вытащить файл фреймворка с вашего устройства через ADB. Общий файл инфраструктуры AOSP называется «framework-res.apk», который находится в пути / system / framework на вашем устройстве, но большинство производителей включают свои собственные файлы инфраструктуры в дополнение к платформе AOSP.
- Это может быть сложно, потому что вам нужно выяснить, что производитель назвал файл ресурсов фреймворка на вашем устройстве. Обычно они находятся в / system / framework, но иногда их можно скрыть в / data / system-framework или / system / priv-app. Сами файлы обычно имеют в именах файлов «ресурсы», «res» или «framework».
- После того, как вы нашли файл фреймворка, вытяните его вместе с файлом SystemUI.apk через консоль ADB. Вы бы сделали это с помощью команды:
- adb pull /system/framework/framework-res.apk (при необходимости измените путь и выполните ту же команду для SystemUI.apk)
- Вы найдете извлеченные файлы в основной папке установки ADB на вашем компьютере.
- Теперь мы собираемся установить их в APKTool. Поэтому в командной строке введите:
- Apktool, если так, например, apktool, если C: \ ADB \ framework-res.apk
- Повторите вышеуказанное для SystemUI.apk
- Теперь мы собираемся декомпилировать SystemUI.apk, поэтому введите в командное окно: apktool d SystemUI.apk
- Это распакует весь SystemUI.apk в ряд папок.
Редактирование иконок и цветов интерфейса
Итак, теперь вам нужно выяснить DPI вашего телефона, потому что вы будете иметь такие папки, как SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi и т. Д. Вот как это работает:
- ldpi (низкий) ~ 120 dpi
- т / д (средний) ~ 160 т / д
- HDI (высокий) ~ 240 точек на дюйм
- xhdpi (сверхвысокий) ~ 320 точек на дюйм
- xxhdpi (экстра-экстра-высокий) ~ 480dpi
- xxxhdpi (экстра-экстра-экстра-высокий) ~ 640 точек на дюйм
Поэтому для редактирования ресурсов SystemUI вам необходимо выяснить, к какой категории относится ваш экран.
Внутри папки вы увидите почти все файлы .png, используемые для системного интерфейса пользователя, — все, от значков панели уведомлений, значков панели быстрых настроек и т. Д. Фактические имена файлов могут различаться в зависимости от производителя, но AOSP- основанные ПЗУ обычно должны иметь файлы с такими именами:
- Notification_panel_bg.9 (ваш фон строки состояния)
- ic_qs _ ####. png (значки панели быстрых настроек)
- stat_syst _ ####. png (значки в строке состояния)
Но ваш производитель может не следовать этим правилам именования, поэтому вам просто нужно внимательно посмотреть на файлы .png, чтобы точно определить, для чего они предназначены.
Важное замечание: Если вы столкнулись с файлами .9.png, не пытайтесь редактировать их непосредственно в GIMP или Photoshop без предварительного обучения. Это файлы 9Patch .png, которые имеют видимые границы при редактировании изображений, но эти границы становятся невидимыми в пользовательском интерфейсе Android через специальную технику (слишком длинную для объяснения), и существует специальный метод для манипулирования ими. Вы должны использовать Инструмент Draw 9-Patch из 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 Удачного моддинга!