Что такое кастомные файлы
22:47 17 апр 2012 Usernokiamen Tue, 17 Apr 2012 22:47:41 +0400
Что такое кастомные прошивки – кастомные прошивки это видоизмененные, модифицированные прошивки как одним пользователем, так и группой пользователей( CyanogenMod и Miui ), то есть прошивка созданная не официальным производителем.
Зачем и кому и для чего нужна кастомная прошивка?
Начнем немного с предыстории об Android OS в целом. Android OS - это операционная система в которой содержится ядро Linux, которое предоставляет Вам очень широкие возможности к работе, творчеству и многофункциональности, именно этот аспект дает огромный плюс по сравнению с другими мобильными операционными системами. Как правило многие производители закладывают только базовый функционал в смартфон, чтобы в какой то момент подстегнуть покупателя на новую покупку, подчеркнув то что в старой модели этого нет а в новой есть.
Так все же что же представляет собой кастомная прошивка?
Изготовив кастомную прошивку или установив ее можно добиться вот чего
1. Сделать себя суперменом суперпользователем, то есть встроить Root изначально.
2. Если у Вас есть Root значит вы можете встроить туда firewall, который будет блокировать выбранные приложения к доступу в интернет, а это уже экономия трафика и экономия ресурсов и электроэнергии батареи.
3. Выбрать и установить свои шрифты
4. Улучшить чувствительность GPS чтобы быстро находились спутники.
5. Удалить и встроить Launcher (графическую оболочку). Например, если у Вас стоял TouchWiz или Sens и встроить Go Launcher или ADW Launcher.
6. Изменить всю графические элементы интерфейса и оповещения, сделать так чтобы смартфон был похож к примеру на Iphone или Windows Phone
7. Встроить какие либо скрипты чтобы воспроизводилось HD Video и смартофн при этом потреблял минимум энергии
8. Встроить свое ядро которое позволит Вам повысить производительность смартфона чтобы все работало очень быстро и Вам не приходилось долго ждать или наоборот понизить частоту процессора чтобы с экономить заряд батареи, либо комбинировать оба режима для получения производительного и в тоже время экономичного смартофна – это позволит Вам за один и тот же отрезок времени выполнить гораздо больше дел чем на старой прошивке.
9. Возможность установить или удалить приложения, ведь пока еще у многих очень дорогой трафик либо очень мало встроенной памяти для установки сторонних приложений. А заведомо удалив то что нам не нужно мы делаем себе огромную пользу экономим место и освобождаем ресурсы, так как многие приложения имеют процессы висят в фоне и отъедают энергию и оперативную память. Мне не очень нравится встроенный калькулятор и браузер и я устанавливаю то что мне нравится и подходит именно мне, а содержать на своем смартфоне всего по 2-ва по 3-ри схожих по функционалу приложения IMHO бред.
10. Возможность изначально задать в файле build.prop значения чтобы смартофн снимал видео и фото с максимальной возможностью или 3G интернет работал более быстрей, включить аппаратное ускорение, изменить язык на свой родной при установке прошивки.
11. Самое интересное это то, что можно на одном смартфоне с одержать две прошивки.
Это далеко не все что можно перечислить, только маленькая частичка что возможно сделать с прошивкой, все ограничивается Вашей фантазией.
Теперь о подводных камнях.
Устанавливая кастомную прошивку или изготавливая ее возможно могут возникнуть проблемы, а именно возможно что- то будет работать не корректно или вообще не работать – это могут быть как приложения так и функции смартфона. Но как правило сообщество Android пользователей быстро решает эту проблему, а возможно и саморучное допиливание. В самом худшем случае если Вам не подошла прошивка можно восстановить с помощью CWM который делает резервную копию прошивки со всеми установленными программами и настройками, а если подошла прошивка то восстановить все программы и данные можно с помощью Titanium Backup .
Терять абсолютно нечего, а получить большую отдачу от своего смартфона очень легко. Как когда то я писал, превратить Android смартофн крайне тяжело, сам лично превращал его в кирпич когда не удачно прошивал и также успешно оживлял его, будьте смелее и креативней!
Все существующие файлы условно можно разделить на две основные группы: системные и пользовательские. Очевидно, что системные файлы являются составляющими элементами самой системы, содержат в себе библиотеки, алгоритмы, команды, обеспечивающие работоспособность операционной системы. Пользовательские файлы являются виртуальным достоянием пользователя и для их чтения или редактирования требуются соответствующие программы.
Операционная система определяет тип файла по его расширению. Расширением называется последняя часть имени файла, которая следует после точки. Точек в названии может быть несколько, поэтому расширением считается часть имени файла, следующая за последней точкой в его названии. Пример: filename.txt
От расширения файла зависит — какой программой будет производиться чтение или редактирование данного файла.
Здесь возникает некоторая сложность в понимании для новичка. Дело в том, что операционная система, по умолчанию, настроена так, что известные системе расширения файлов не отображаются. В этом случае, пользователь видит только название самого файла. Видимо, создатели ОС посчитали, что пользователю нет смысла вдаваться в технические подробности.
Увы, без знания технических подробностей, полноценное взаимодействие с компьютером невозможно. По той причине, что расширения файлов остаются скрытыми, многие пользователи даже не подозревают о том, что в одной папке (каталоге) не может существовать двух файлов с одинаковыми названиями. Каждое название файла индивидуально для каждой конкретной папки.
Заблуждение возникает по той причине, что один файл может называться filename.txt, а второй файл может называться filename.jpg. Для системы, оба этих названия являются разными из-за разных расширений в имени, а пользователь, если расширения не отображаются, видит два одинаковых имени файла в одной папке и думает, что такое вполне возможно.
Рассмотрим типы пользовательских файлов. Условно их можно разделить на четыре основные группы:
1. Текстовый документ
Основным типом пользовательских файлов является текстовый документ. Данное утверждение не требует объемных доказательств, достаточно напомнить о том, что ни один сайт в интернете не обходится без текста. Кроме того, никакая электронная отчетность, ведение бухгалтерии, логистики, заключение договоров — тоже не могут обойтись без набора текстовых символов. Текст в компьютерном мире является, пусть не самым красочным, но самым основным источником информации. Графические изображения, как правило, являются дополнением к основному текстовому файлу, если содержат графики, чертежи, иллюстрации или фотографии.
Текстовый документ может содержать в себе обычный или форматированный текст. Если текстовый документ содержит неформатированный текст, такая запись, по сути, является единой строкой, содержащей определенный набор символов. Приложения, работающие с текстовыми документами, для удобства чтения автоматически располагают текст в окне в несколько строк, осуществляя перенос по словам.
Неформатированный текст содержит только основной набор символов, без указания типа и размера шрифта. Программы, работающие с текстом, отображают неформатированный текст размером и шрифтом выбранным пользователем. Таким образом, неформатированный текст, на двух разных компьютерах, может выглядеть совершенно по-разному, сохранится только основной логический смысл данного текста.
В операционной системе Windows, для чтения и создания простых текстовых файлов без форматирования, существует гениальное приложение "Блокнот". Данное приложение позволяет создавать простые текстовые файлы без форматирования. Кроме того, приложение позволяет открывать и редактировать некоторые системные файлы, содержащие техническую текстовую информацию. Также возможно создание или редактирование страниц интернета в формате HTM или HTML .
Форматированный текст имеет заданный и описанный в самом файле тип и размер шрифта, разбивку на абзацы, страницы, отступы текста от краев страницы, что подразумевает дальнейший вывод текста на печать с помощью принтера. Также форматированный текст может иметь таблицы, гипертекстовые ссылки, позволяющие осуществлять переход прямо из текстового документа на указанный ресурс в сети Интернет.
Наиболее известная программа, которая используется для работы с форматированным текстом, разработана компанией Microsoft и называется Word.
Некоторые пользователи полагают, что программа Word является неотъемлемой частью операционной системы Windows .
На самом деле, данное приложение является отдельным продуктом компании и устанавливается дополнительно. Приложение разработано специально для работников офиса, которым постоянно приходится работать с отчетами, сметами, счетами, договорами и другими аналогичными документами.
Текст без иллюстраций, фотографий или иконок выглядит слишком сухо и скучно. Иногда рисунки просто необходимы для наглядности. Все изображения, используемые в цифровой среде, можно разделить на две основных группы: растровая и векторная графика. Разница между этими двумя группами значительна и заключается в принципах построения, сохранения и чтения изображения.
Растровые изображения появились раньше и пока остаются наиболее популярными. Связано это с тем, что создавать и редактировать растровые изображения гораздо проще. На сегодняшний день существует множество различных программ, доступных широкому кругу пользователей, которые созданы для работы с растровой графикой.
Общий принцип растрового изображения заключается в том, что оно состоит из точек — пикселей. Такой принцип продиктован устройством самих мониторов, где также используются трехцветные пиксели. Каждый пиксель монитора состоит из трех ячеек, которым заданы базовые цвета: красный, зеленый и синий.
От яркости свечения каждой цветной ячейки, входящей в состав одного пикселя, зависит его общий суммарный цвет. Одинаковое свечение красного и зеленого порождают желтый цвет, одинаковое свечение зеленого и синего — дают голубой, а все три цвета в сумме дают белый. Разное процентное соотношение трёх базовых цветов — создает всю богатую палитру не только виртуального, но и окружающего мира.
Качество растрового изображения зависит от количества пикселей. Чем больше пикселей, тем выше может быть качество изображения. Пиксели в графическом рисунке образуют горизонтальные строки и вертикальные столбцы. Любое растровое изображение имеет четкий размер по ширине и высоте, который также указывается в пикселях.
Основной недостаток растрового изображения заключается в том, что изменение исходного размера изображения приводит к ухудшению качества. Связано это с тем, что при уменьшении изображения соседние пиксели суммируются и сливаются в один. При увеличении изображения добавляются новые пиксели, которым присваивается промежуточное значение соседних.
Если исходное изображение не уменьшать, а сразу увеличивать, то и в этом случае, за счет появления промежуточных пикселей теряется исходная четкость изображения. Наименьшие потери качества происходят при увеличении изображения на коэффициент кратный четырем: в два, в четыре, в восемь или шестнадцать раз.
В этих случаях, каждый пиксель просто увеличивается в четыре раза, либо в восемь, шестнадцать раз, но не появляются пиксели с промежуточными значениями.
Помимо растровой графики, существует векторная графика . Принцип построения векторного изображения заключается в том, что в исходном файле сохраняется сама форма каждого элемента изображения, в процентном соотношении от общей площади изображения. Подобное сохранение информации обеспечивает четкость изображения при любом изменении размера.
Векторное изображение, созданное на дисплее обычного компьютера, не потеряет своё качество даже в том случае, если его растянуть до размеров многоэтажного дома. Объем файла векторной графики зависит от количества элементов, используемых в рисунке.
Возможность воспроизведения звука на компьютере не является такой важной и необходимой составляющей, как текст или графическое изображение, но делает цифровой мир более совершенным и многогранным. Если же рассматривать техническую составляющую, компьютер, лишенный возможности работы со звуком, стал бы бесполезной игрушкой для композиторов, музыкантов, аранжировщиков и других специалистов, чья творческая или трудовая деятельность связана непосредственно со звуковыми файлами.
Для того чтобы понять структуру звукового файла, обратимся к базовым понятиям возникновения звука в природе. Известно, что любой звук это волна, которая порождается источником звука с помощью колебаний. От частоты колебаний источника звука зависит частота звуковой волны. Частота колебаний выражается в Герцах. Один Герц (Гц или Hz) означает одно колебание в секунду. Человеческое ухо способно слышать звуковые колебания в диапазоне от 20 колебаний в секунду (20 Гц) до 20 000 колебаний (20 кГц).
Некоторые источники утверждают, что человеческое ухо слышит не от 20, а от 30 Герц. Так или иначе, но всё, что ниже слышимого диапазона — принято считать инфразвуком, а диапазон свыше 20 000 Герц — принято считать ультразвуком.
Звуковой файл, по своей сути, это цифровая запись колебаний источника звука. При воспроизведении звукового файла, считывается запись колебаний, а сигнал, сгенерированный в соответствии с записью, подаётся на усилитель мощности, а уже затем воспроизводится динамиками звукового устройства.
Запись звука можно представить в виде графика. Для простоты восприятия, на графике изображена частота равная одному колебанию в секунду, что соответствует 1 Герц. Естественно, человеческое ухо не может услышать такую частоту, но на данном примере проще объяснить общий принцип звучания частот.
Когда мы слышим музыку, мы можем различать звучание множества различных музыкальных инструментов. Все они звучат на разных частотах, но запись подобного звучания выглядит в виде всего одной звуковой дорожки. Возникает вполне справедливый вопрос: Каким образом одна звуковая дорожка может содержать запись нескольких музыкальных инструментов?
Чтобы ответить на данный вопрос, воспользуемся двумя графиками. На одном графике изображена частота 1 Герц, на втором графике изображена частота 10 Герц. Как будет выглядеть график, если две этих частоты суммировать в один график?
Примитивная математика здесь бессильна и 1 плюс 10 Герц не будет равняться 11 Герцам. Полученный график будет сочетать в себе обе частоты, которые, при воспроизведении будут слышаться по отдельности. То есть, не сольются в единый звук. Однако, следует заметить, что суммируется громкость частот.
Подобным образом происходит наложение и слияние многих частот. В конце-концов, человеческое ухо — также имеет всего одну мембрану (барабанную перепонку), которая воспринимает всё многообразие звуков реального мира.
Видеофайлы являются наиболее "тяжелыми" по своему объему и наиболее сложными для воспроизведения на компьютере. Впрочем, для любого компьютера нет ничего страшнее, чем качественная видеоигра с трехмерной графикой и массой реалистичных эффектов: дым, туман, падающие тени от объектов и многие другие эффекты, которые создают максимальную нагрузку для видеокарты, заставляя её просчитывать весь виртуальный мир трёхмерной сцены.
Игровой режим с 3D-графикой наиболее опасен для ноутбуков потому, что система охлаждения обслуживает одновременно главный процессор и видеочип. Однако, скорость вращения кулера зависит от температуры главного процессора. Видеоигра может давать незначительную нагрузку для главного процессора при максимальной нагрузке видеочипа. В этом случае, кулер работает на пониженных оборотах, видеочип нагревается сильнее, чем главный процессор, но не получает достойного охлаждения, из-за чего значительно сокращается срок службы видеочипа.
Если учитывать нагрузку, которую создаёт трехмерная игра, то воспроизведение видеофайлов можно считать пустяком, который создаёт нагрузку процессора в пределах от 25-30% до 67-75%. Конечно, процент загрузки зависит ещё от мощности самого процессора. Чем мощнее процессор, тем проще ему работать. Для видеокарты-же нагрузка остается минимальной, поскольку, вся работа заключается в просчете плоского, двухмерного изображения, имеющего лишь ширину и высоту кадра.
Как говорилось ранее, видеофайл представляет собой серию последовательных, графических рисунков, сопровождающихся аудиодорожкой. Объем видеофайла напрямую зависит от размера и количества кадров. Правда, помимо этих параметров, существуют и такие, как интерлейсинг, битрейт, сжатие.
Известно, что человеческий глаз воспринимает движение на экране в том случае, если скорость смены кадров не ниже 24 кадров в секунду. Однако, некоторые цифровые форматы имеют настройку от шести с половиной кадров в секунду и выше. Как такое возможно?
Всё дело в том, что в подобных случаях смена кадра происходит так же быстро и резко, но время показа одного кадра на экране значительно увеличено. Конечно, чем больше кадров в секунду мы видим, тем плавнее воспринимается движение на экране.
Есть ещё такое заблуждение, что 24 кадра в секунду это максимум для человеческого глаза, а повышать количество кадров не имеет смысла. На самом деле, видео, воспроизводимое со скоростью 30 кадров в секунду, воспринимается глазом более плавно и кажется более натуральным, а 60 кадров в секунду создаёт ещё более плавный и реалистичный эффект движения.
Заключение
По своей сути, любой файл содержит запись, состоящую из набора символов. Разница лишь в том, что значения символов, в разных типах файлов, имеют разное значение. Текстовые файлы появились одними из первых, ещё на заре развития компьютерной техники. Они могут иметь простое или сложное форматирование, подразумевающее отступы текста от краёв, разбивку текста на отдельные страницы, если подразумевается вывод документа на печать.
Вторым по значению можно смело назвать графический рисунок. К этой категории относится любое растровое изображение, будь то фотография, сделанная с помощью цифровой камеры или рисунок, созданный от руки. Для компьютера не имеет значения, каким образом был создан графический рисунок, для него это просто файл, в котором описано количество точек по вертикали и горизонтали, а также указан цвет каждой точки. Открывая изображение для просмотра, компьютер должен прочитать графический файл от начала до конца и затем, в соответствии с его содержимым, отобразить область рисунка указанными цветами. Пользователь видит картинку или фотографию.
Если графические файлы содержат информацию о количестве и цветах точек, из которых состоит рисунок, то аудиофайл содержит в себе запись частоты колебаний мембраны динамиков или наушников. Компьютер, считывая информацию аудиофайла, генерирует необходимые частоты и передает их на предварительный усилитель громкости, с которого сигнал поступает на усилитель мощности и далее начинает звучать в наушниках или динамиках.
Самым "тяжелым" и сложным для обработки и чтения является видеофайл, который состоит из двух частей: видеоряд и звуковая дорожка. По своей сути, видеофайл это объединение графического рисунка с аудиофайлом, с той разницей, что видеофайл подразумевает не один рисунок, а целую серию графических рисунков, которые сменяются со скоростью 12.5, 15, 25, 29.9 или 30 кадров в секунду. Скорость смены кадров также указана в самом видеофайле. Следует учитывать, что воспроизведение видеоряда должно ещё сопровождаться синхронным воспроизведением аудиодорожки. Из-за такой сложности, на слабых компьютерах нередко возникает рассинхронизация потоков, когда видеоряд отстает от аудиодорожки, либо наоборот: опережает её.
Добрый день, друзья. Когда вы используете телефон Андроид, в независимости от бренда, то вам не помешает знать, кастомная прошивка что это такое, и в чём её отличие от стоковой. Я думаю, что, прочитав статью, многие люди пожелают себе на смартфон установить подобную прошивку.
Что значит стоковая прошивка?
Давайте начнём с теории для пользователей, которые вовсе плохо знают эту теорию. Мы говорим про OS Android, которую устанавливают на мобильных девайсах совместно с различными внедренными программами – почтовыми службами, картами, браузерами и антивирусом. Другими словами, после приобретения нового смартфона, на нём установлена операционная система с завода, а вместе с ней различные приложения.
Часть производителей преобразовывают чистый Андроид, делая в нём свою корректировку – изменяют дизайн основного окна, вкладку с настройками, вставляют брендовые приложения (вроде файлового менеджера, ускорителя, браузера). Например, это делается на Xiaomi с MIUI, Meizu с Flyme OS.
Другими словами, человек получает особенный дизайн, у которого расширенный функционал. Но, в нагрузку с приложениями создатели девайса внедряют в прошивку приличное число рекламных блоков. Убрать их вполне возможно, но если вы в очередной раз обновите свою лицензию, то изменённые настройки скорее всего будут убраны.
Достоинства и недостатки прошивки на заводе
- Есть возможность обновлять телефон прямо из сети, имеется в виду после того, как выйдут новые обновления (совершенствования ОС, удаление ошибок). Нужно лишь тапнуть по ярлыку «Настройки», затем входим во вкладку «Обновление компонентов» и просматриваем приложения, которые можно обновить;
- Стабильность функционирования, min число сбоев;
- Если потребуется помощь, можно обратиться в сервисный центр и без лишних вопросов от персонала центра;
- У официальной прошивки Андроид могут находиться программы, удалить которых не так просто. Для этого нужны права Рут. Но, если вы установите Root права, вы потеряете гарантию на ремонт телефона;
- Не каждая компания с пониманием относится к своему клиенту. Софт обновляется не часто;
- На разные мобильные гаджеты могут быть наложены различные ограничения. Часть сторонних приложений инсталлировать не получится.
Что означает кастомная прошивка?
Тут дело обстоит с левым вариантом ПО, который устанавливается на Андроид, но с различными изменениями. По большей части мастера, которые создавали прошивку, обращаются к своим клиентам с опросами, как функционирует прошивка. Пользователи сообщают, что в прошивке лишнего, что желательно удалить. После этого, мастера начинают работать над ошибками, делая заново, или улучшая своё детище.
Сломан ваш ПК и у вас пропала возможность на нём нормально работать?
Это не проблема.
Нужно обратиться в наш центр по ремонту компьютеров. Мы проведём диагностику и устраним неисправность.
Для нас является важным, чтобы ваш ПК продолжал отлично функционировать, и чтобы ничто не отвлекало вас от занятия любимым делом:
Наше предложение:
1 Бесплатный выезд специалиста;
2 Бесплатный анализ компьютера у вас дома;
3 Мы даём гарантию после ремонта до трёх лет;
4 Выдаём чек с гарантийным талоном.
Вам достаточно оставить заявку, и мы предоставим вам скидку на 15%
Какие кастомная прошивка имеет достоинства?
Например. Телефон Xiaomi Redmi Note 4 функционирует на Android 7, имеет оболочку MINI 10. Его создатели заявили, что у этой модели не будет следующих версий OS. Если нужен Андроид с более новой системой, необходимо купить более новый телефон. Но, часть людей приобрела левую прошивку, созданную командой Pixel Expirience и в данный момент наслаждаются достоинствами десятки.
Недостатки кастомных прошивок
Вывод: кастомная прошивка что это, вы теперь ясно представляете. Трижды подумайте, стоит вам устанавливать подобную прошивку на телефон, или нет! Успехов!
Начнем с того, что тебе нужен Linux. В Windows ты сможешь только разобрать прошивку, но собрать обратно уже не получится по чисто техническим причинам. Теперь о прошивке. Обычно они распространяются в виде ZIP-архивов, прошиваемых через кастомные рекавери. Именно один из них нам и понадобится для опытов. Начинать путь ромодела я рекомендую с какой-нибудь максимально приближенной к AOSP кастомной прошивки, потому что в ней зачастую проще разобраться, чем в стоке.
Нужный ZIP можно найти на XDA Developers или 4PDA. Но имей в виду, что нужна прошивка конкретно для твоей модели аппарата, — у того же Galaxy S7 есть несколько модификаций для разных рынков, не всегда совместимых между собой.
Структура ZIP-файла с прошивкой
После загрузки распакуем архив с помощью любого архиватора. Внутри будет следующий набор файлов и папок:
- META-INF — папка с метаинформацией о прошивке (сертификат автора, манифест со списком файлов, их контрольными суммами), скриптом обновления (updater-script) и инсталлятором (update-binary), который выполняет команды скрипта по монтированию разделов, копированию файлов и другим действиям с NAND-памятью;
- boot.img — образ с ядром и RAM-диском (он прошивается в раздел boot);
- system.new.dat — это, грубо говоря, и есть сама прошивка, а точнее образ раздела system, содержащий операционную систему Android за вычетом ядра;
- system.transfer.list — содержит список команд, которые необходимо выполнить, чтобы поблочно скопировать содержимое system.new.dat в раздел system при установке прошивки;
- system.patch.dat — используется для OTA-обновлений, то есть выборочного внесения изменений в прошивку; если прошивка «полная», он имеет нулевой размер.
Реверс малвари
Распаковываем system.new.dat
Файлы system.new.dat и system.transfer.list представляют для нас наибольший интерес. Точнее, не они, а содержащаяся в них система. Но добраться до нее не так просто.
Скрипт
Самые ленивые могут разобрать прошивку с помощью скрипта System_Extractor-Linux.
- Распаковываем архив с прошивкой в любую папку.
- Качаем скрипт по ссылке и разархивируем в любую папку.
- Запускаем файл ext (если будет ругаться на отсутствие Java, просто пропусти, нажав y ; Java нужна только для запаковки).
- Теперь выбираем распаковку, нажав кнопку 1, а затем Enter.
- Новая папка с именем extract_* появится рядом с файлом ext и папкой tools . Копируем в нее файлы system.new.dat и system.transfer.list .
- После копирования файлов нажимаем Enter и ждем. Через некоторое время нужно будет опять нажать Enter, ввести пароль администратора и еще раз тапнуть Enter.
- Готово. Содержимое system в папке extract_*/output .
Ручной способ
Распаковываем архив с прошивкой в любую папку (например, в rom ):
Скачиваем нужные нам инструменты в эту папку:
Он преобразует файл system.new.dat в raw-образ с именем system.img . Монтируем образ к подпапке mnt :
Содержимое образа system
Структура каталогов Android
После распаковки system появится следующая каталоговая структура:
- app — предустановленные приложения со стандартными привилегиями;
- priv-app — предустановленные приложения с повышенными привилегиями, в том числе некоторые компоненты системы;
- bin — бинарные файлы формата ELF, аналог каталогов /bin и /usr/bin в Linux. Содержит различные системные компоненты, используемые более высокоуровневыми компонентами системы;
- etc — файлы настроек. Полный аналог /etc в Linux, используемый, однако, только теми самыми системными компонентами. Приложения Android хранят индивидуальные настройки в каталогах /data/data/ ;
- fonts — шрифты. По умолчанию содержит только фирменные шрифты Roboto;
- framework — библиотеки Java-классов, используемых системой и приложениями. Тут же лежит файл framework-res.apk , содержащий полное описание интерфейса операционной системы, включая все графические файлы;
- lib и lib64 — Linux-библиотеки, используемые низкоуровневыми компонентами системы. Аналог каталогов /lib и /usr/lib в Linux, включая такие стандартные библиотеки, как libc, libz, libssl. На устройствах с архитектурой ARMv7 и ниже каталог lib64 будет отсутствовать;
- media — медиафайлы: рингтоны, звуки уведомлений, звуки интерфейса и анимация загрузки ОС;
- tts — файлы, необходимые синтезатору речи;
- usr — каталог, который обычно содержит файлы, необходимые для работы приложений из каталога bin. По сути, аналог /usr/share ;
- vendor — файлы, поставляемые производителем устройства. Обычно содержит бинарный firmware для различных железных компонентов, например модуля Wi-Fi;
- xbin — необязательный каталог; кастомные прошивки используют его для хранения таких вещей, как интерпретатор bash, SSH, PowerTOP, BusyBox, и других полезных инструментов;
- build.prop — файл, содержащий информацию о сборке, а также различные низкоуровневые настройки;
- addon.d — содержит скрипты, запускаемые после установки прошивки. Сюда же GApps прописывают свой скрипт, благодаря которому возрождаются после переустановки прошивки.
Ознакомившись с базовой структурой Android, начнем вносить изменения.
Удаляем и добавляем приложения
Все предустановленные программы можно найти в двух папках:
Друг от друга они отличаются привилегиями доступа. Если программы из app имеют такие же полномочия, как сторонние программы (например, установленные из Play Store), то приложения из priv-app могут использовать привилегированные API (права privileged). Подробнее об этом можно узнать из нашей статьи.
Для предустановки приложения в прошивку просто кинь ее APK-файл в /system/app/ . Можно, конечно, создать отдельную папку, но в нашем случае в этом нет смысла, потому что папка служит для хранения библиотек и odex-файлов, которых у нас попросту нет. Для удаления просто удали папку с ним.
Можно пойти дальше и поменять стоковые приложения на аналоги. К примеру, для замены календаря удаляем папку Calendar и копируем в /system/app наш любимый com.rpagyc.simplecalendar.apk . А можно и не копировать. Тогда прошивка будет без календаря.
Главное, помни: стоковые программы могут быть связаны между собой. Поэтому удаление одной проги вполне может привести к полной неработоспособности другой (к примеру, CalendarProvider и Calendar: удалив первый, ты сделаешь неработоспособным не только стоковый, но и любой другой календарь). К счастью, в чистых AOSP-прошивках взаимосвязей не так много.
Меняем анимацию загрузки
Анимация хранится в виде PNG-картинок, упакованных в архив /system/media/bootanimation.zip без сжатия. Внутри архива находятся:
- desc.txt — файл, описывающий анимацию;
- part0 — папка с файлами анимаций, которые воспроизводятся первыми;
- part1 — папка с файлами анимаций, которые воспроизводятся вторыми;
- .
- part? — крайняя папка, изображения с которой воспроизводятся в конце.
Файл desc.txt может содержать нечто вроде
Назначение этих строк интуитивно понятно: 1920 × 1080 — разрешение картинки, 60 — число кадров в секунду. Part0 и part1 указывают на папки, из которых будет воспроизводиться анимация, и последовательность воспроизведения. Вообще, может быть как одна часть, так и несколько (три и больше).
Изображения, находящиеся в папках part, пронумерованы пятью цифрами в порядке воспроизведения: 00000.jpg , 00001.jpg , 00002.jpg . Эти изображения можно поменять на свои, тем самым создав оригинальную анимацию. А можно просто удалить файл bootanimation.zip . Тогда девайс будет показывать анимацию из стандартного Android. Или воспользоваться уже готовой коллекцией анимаций на 4PDA.
Четыре части в bootanimation.zip для LineageOS
Изменяем звуковое оформление
Фактически все звуки, которые воспроизводит система, хранятся в папке /system/media/audio . Внутри нее ты найдешь следующие папки:
- alarms — мелодии будильника;
- notifications — звуки уведомлений;
- ringtones — мелодии звонка;
- ui — системные звуки, например низкий заряд батареи, фокусировка камеры, выбор элементов интерфейса.
В alarms, notifications, ringtones можно накидать сколько угодно любых мелодий. Взять их можно, например, здесь:
И маленький лайфхак: удаление файлов из папки ui приведет не к сбоям и ошибкам, а к исчезновению системных звуков. Поэтому ты можешь легко отключить звук создания снимка с камеры, снятия скриншота, просто потерев содержащие эти звуки файлы (их имена интуитивно понятны).
Добавляем шрифты
Шрифты хранятся в fonts . Найти архивы с файлами шрифтов можно на 4PDA и XDA. Для установки достаточно скопировать с заменой ttf-файлы из архива в папку fonts .
Меняем системные настройки (build.prop)
В образе system есть интересный файлик build.prop , содержащий множество полезной информации о железе устройства и настройках, устанавливаемых по умолчанию, для различных стоковых приложений. Справедливости ради замечу, что это не всегда так. Например, в Gigaset ME и ME Pro build.prop разделен на две части. В одной части содержатся настройки для Gigaset ME, а для ME Pro некоторые строки продублированы, но ключи (название смартфона и так далее) в них другие. Это было сделано, чтобы обеспечить более-менее корректную работоспособность одной и той же прошивки на разных аппаратах.
Дополнительный файл для Gigaset ME и ME Pro
Build.prop содержит (или может содержать) огромное количество настроек. Некоторые из них ничего не меняют, некоторые улучшают одно за счет ухудшения другого, но есть те, которые действительно полезны:
- ro.product.model и ro.product.manufacturer — модель смартфона и имя производителя. С помощью замены этих строк можно заставить Play Store думать, будто у тебя другой смартфон, что откроет доступ к большему количеству софта. Для всяких малоизвестных китайских смартфонов эти строчки могут стать спасительными;
- hw.qemu.mainkeys — принимает только два значения: 0 — показать наэкранные клавиши навигации, 1 — не показывать кнопки. Отсутствие строки соответствует 0;
- debug.sf.nobootanimation — значение 1 отключает анимацию загрузки, что немного поднимает ее скорость. Установка 0 или удаление строки возвращает анимацию на место;
- ro.telephony.default_network — говорит системе, в какой режим должна быть переключена мобильная сеть при загрузке;
- ro.sf.lcd_density — DPI дисплея, наиболее точное значение для дисплея можно посчитать через удобный сайт. Но никто не запрещает поставить и большее или меньшее значение по своему вкусу: более высокие значения делают элементы интерфейса крупнее, низкие — меньше;
- ro.config.vc_call_vol_steps — количество шагов громкости во время разговора (по умолчанию 8);
- ro.config.media_vol_steps — количество шагов громкости мультимедиа (по умолчанию 15).
Внедряем в прошивку Google Apps
Почти всегда кастомные прошивки поставляются без сервисов Google и магазина приложений. Разработчики предлагают нам установить их отдельно с помощью пакета GApps. Однако его можно интегрировать прямо в прошивку.
Для начала необходимо скачать пакет GApps. Я рекомендую брать архивы Open GApps. Выбираешь версию Android, архитектуру процессора и вариант комплектации (Pico, Nano, Stock. ), который определяет, сколько различных приложений Google содержит архив. Я рекомендую скачать версию Pico. Она содержит только Play Store и набор необходимых для его работы библиотек.
Интеграция GApps в прошивку выполняется так:
- Распаковываем ZIP-архив GApps с помощью любого архиватора.
- Переходим в папку Core.
- Видим множество архивов с расширением .tar.lz . Извлекаем с помощью lzip.
- После распаковки копируем файлы из папок в соответствующие папки в system. Что куда кидать, нетрудно догадаться по структуре каталогов в архиве. Например, configupdater (со скриншота) нужно кидать в папку priv-app .
- Переходим в папку GApps (находится рядом с Core) и проделываем пункты 3 и 4 для файлов в ней.
- Все, мы интегрировали GApps в нашу прошивку!
Свободное место
Необходимо понимать, что место для установки прошивок ограниченно. Нельзя установить прошивку, размер которой перевешивает размер раздела system устройства. Посмотреть его значение можно, используя ADB:
Инфа о разделе system
Второй вариант: поставить на устройство терминал и набрать команду
Размер раздела в байтах можно узнать, установив на смартфон BusyBox и выполнив в терминале команду
Или то же самое с помощью ADB:
Место, занимаемое прошивкой, будет приблизительно равно размеру system в распакованном виде. Вообще, при создании прошивки необходимо учитывать, что юзер также может прошить поверх нее различные модификации (SuperSU, Xposed) или перенести приложения в раздел system. Например, минимальный пакет приложений Google (Pico) требует минимум 150 Мбайт дополнительного пространства для установки.
При необходимости размер файла прошивки можно уменьшить, удалив не только ненужные программы из /system/app ( /system/priv-app ) и звуки вызова из system/media/audio и bootanimation.zip , но и:
- /system/tts/lang_pico — языки примитивного голосового движка Pico TTS, голосовой движок Google это не затронет;
- /system/usr/srec/config/ — офлайн-языки. Можно будет скачать потом онлайн, если понадобится.
Сборка
После внесения изменений нужно собрать все обратно. Сначала запакуем раздел system в system.new.dat . Скачиваем нужные нам инструменты:
Преобразовываем нашу папку обратно в RAW-образ. Назовем его system_new.img :
1073741824 меняем на размер раздела system в байтах. Желательно даже сделать его чуть меньше. Делаем из RAW-образа sparse-образ:
Преобразуем наш образ в system.transfer.list и system.new.dat , которые и нужно кидать в архив с прошивкой, но сначала удалим старые файлы:
Отделим файлы прошивки от лишней шелухи (файлов, которые мы загружали для работы. Для этого удобно пользоваться архивом с прошивкой). Удалили? Теперь нужно запаковать прошивку в ZIP-архив (любым архиватором).
Осталось подписать архив. Сделать это можно как на самом Android с помощью ZipSigner, так и на ПК (потребуется установленная Java):
Подводные камни
Во время сборки system.new.dat ты можешь столкнуться с несколькими проблемами, вызванными постоянными изменениями в механизмах формирования прошивок Android. Описанный выше способ должен хорошо сработать в случае основанной на Android 5.1 прошивки, в более новых могут возникнуть сложности, так что потребуется использовать другие версии инструментов сборки. К сожалению, мы не можем описать все нюансы сборки, поэтому, возможно, придется погуглить.
Установка
Для установки кастомной прошивки необходим кастомный рекавери TWRP, позволяющий устанавливать неподписанные или подписанные тестовым ключом прошивки (именно такую мы создали). В журнале мы неоднократно описывали процесс его установки, да и в ветках форума, посвященных твоему устройству, обычно есть достаточно информации для того, чтобы это сделать.
Выводы
Эта статья описывает лишь верхушку огромного айсберга под названием «модификация прошивок». «Серьезные» прошивки не только дополняют ядро и саму прошивку со стоковыми приложениями множеством функций (которые зачастую вырваны из других ядер и прошивок), организовывая или даже меняя принципы их взаимодействия, но и вполне могут кардинально менять принципы работы ОС. Правда, такая поделка — это уже не Android, а отдельная ОС, даже если Play-сервисы получится туда поставить (кстати, такие действия, мягко говоря, не поощряются Google). Ну и не забываем: все оболочки от производителей — TouchWiz, ZenUI, HTC Sense и так далее — всего лишь обычные кастомы, максимально привязанные к железу устройства и друг к другу.
Читайте также: