Однако все это сводится к SystemUI.apk - и я покажу вам пошаговые инструкции по редактированию ресурсов внутри этого .apk, чтобы настроить пользовательский интерфейс Android так, как вам нравится. Обратите внимание, что это руководство предназначено в основном для ПЗУ на основе AOSP - и ссылки на файлы внутри SystemUI.apk могут отличаться от имеющихся у вас, в зависимости от производителя вашего телефона. Но если это так, вы все равно можете добиться того, что мы делаем, с помощью небольших проб и ошибок.
Поскольку это руководство посвящено редактированию системных файлов Android и настройке вашего ПЗУ, вам также следует ознакомиться со следующими руководствами Appual:
- Как декомпилировать APK-файлы для Android
- Как создать собственный Android ROM из исходного кода
- Как создать собственный Android ROM из исходного кода pt. 2
Требования:
- Устройство с root-доступом ( искать в Appual’s по Руководства для Android root )
- Инструменты ADB и Fastboot ( см. руководство Appual Как установить ADB в Windows )
- Java SDK
- APKTool или же APKMultiTool
- Блокнот ++ ( или другой удобный текстовый редактор для редактирования строк XML и Smali )
- Программное обеспечение для редактирования изображений, такое как GIMP или Photoshop
- 7-Zip или Winrar
Примечание. В этом руководстве я буду использовать APKTool в качестве справочника - если вы выбрали APKMultiTool, начальная настройка и процесс декомпиляции / перекомпиляции могут отличаться, но в целом шаги будут такими же.
Кроме того, вы можете рассмотреть возможность установки ПЗУ вашего устройства в эмулятор Android на вашем компьютере, чтобы вы могли протестировать и просмотреть изменения в SystemUI перед их загрузкой на устройство.
APKTool Setup для Windows
- Скачать Windows сценарий оболочки (Щелкните правой кнопкой мыши, сохранить ссылку как apktool.bat)
- Скачать apktool-2 ( найди здесь самое новое )
- Переименуйте загруженный jar в apktool.jar
- Переместите оба файла (apktool.jar и apktool.bat) в каталог Windows (обычно C: // Windows)
- Если у вас нет доступа к C: // Windows, вы можете разместить два файла в любом месте, а затем добавить этот каталог в системную переменную PATH переменных среды.
- Попробуйте запустить apktool через командную строку
APKTool Setup для Linux
- Скачать Linux сценарий оболочки (Щелкните правой кнопкой мыши, сохранить ссылку как apktool)
- Скачать apktool-2 ( найди здесь самое новое )
- Переименуйте загруженный jar в apktool.jar
- Переместите оба файла (apktool.jar и apktool) в / usr / local / bin (необходим корень)
- Убедитесь, что оба файла исполняемые (chmod + x)
- Попробуйте запустить apktool через cli
APKTool Setup для Mac OS X
- Скачать Mac сценарий оболочки (Щелкните правой кнопкой мыши, сохранить ссылку как apktool)
- Скачать apktool-2 ( найди здесь самое новое )
- Переименуйте загруженный jar в apktool.jar
- Переместите оба файла (apktool.jar и apktool) в / usr / local / bin (необходим корень)
- Убедитесь, что оба файла исполняемые (chmod + x)
- Попробуйте запустить apktool через cli
Декомпиляция SystemUI.Apk с помощью APKTool
- После установки APKTool нам нужно вытащить ваш файл фреймворка с вашего устройства через ADB. В общий AOSP файл framework называется ‘ framework-res.apk ’ найти в / system / framework путь на вашем устройстве, но большинство производителей включают свои собственные файлы фреймворка в дополнение к фреймворку AOSP.
- Это может быть сложно, потому что вам нужно будет выяснить, что производитель назвал файл ресурсов фреймворка на вашем устройстве. Обычно их можно найти в / system / 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 вашего телефона, потому что вам нужны папки Системный интерфейс / res / вытяжка-hdpi, SystemUI / res / xhdpi и т. д. Вот как это работает:
- ldpi (низкое) ~ 120 точек на дюйм
- mdpi (средний) ~ 160 точек на дюйм
- hdpi (высокое) ~ 240 точек на дюйм
- xhdpi (сверхвысокое) ~ 320 точек на дюйм
- xxhdpi (сверхвысокое) ~ 480 точек на дюйм
- 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 = «# something»
В SystemUI можно настроить так много вещей, что я не могу объяснить каждую мелочь в этом руководстве - вы можете найти руководство по теме SystemUI, которое объясняет каждую строку в файлах .XML, но все будет в порядке, если вы просто сделаете просмотрите свои изменения в эмуляторе Android и настройте их по мере продвижения.
Перекомпиляция и установка модифицированного SystemUI.Apk
- В командном окне введите: apktool b SystemUI
- Это создаст новую папку .apk в Dist в папке декомпилированного APK. Так что загляни в / systemUI / dist для нового файла SystemUI.apk.
- Теперь вам нужно использовать что-то вроде 7-Zip, чтобы скопировать и заменить папку META-INF и AndroidManifest.XML из оригинальный APK в новый APK, затем снова перекомпилируйте.
- Теперь вы можете прошить новый SystemUI.apk на свое устройство.
Удачного моддинга!
5 минут на чтение