Главная » Компьютеры
На чтение 7 мин
Частые зависания системы и другие ошибки являются результатом некорректной работы программного обеспечения. Проблемные программы можно легко удалить. Но что делать с установленным софтом, который не удаляется из системы? В таких случаях устройство необходимо перепрошить на более стабильную версию или самостоятельно внести правки в ОС. В данном посте вы узнаете, как открыть прошивку Android для последующего ее изменения.
Структура 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-обновлений, то есть выборочного внесения изменений в прошивку; если прошивка «полная», он имеет нулевой размер.
Содержимое ZIP-файла прошивки LineageOS для Nexus 5
Рекомендуем почитать:
Xakep #273. Log4Hell
- Содержание выпуска
- Подписка на «Хакер»
Какой программой открыть обычный файл формата IMG и прошивки
Иногда, в ходе очередной ревизии на предмет ненужных файлов вашего компьютера, можно натолкнуться на файлы расширения, с которыми вам не доводилось раньше работать. Чаще всего это достаточно редкие форматы, использующиеся для специфических задач. К примеру, файл формата IMG. Если вы не представляете, чем и как его открыть, и зачем вообще эти файлы нужны – вы попали по нужному адресу.
Ведь, конечно, можно попробовать уточнить информацию у ближайших знакомых и друзей, но даже если среди них есть опытные пользователи, далеко не каждый из них сможет точно подсказать, что это за расширение. К тому же, всегда интересней разбираться в вопросе самому. И в этом вам поможет наша статья – она посвящена тому, как и чем открыть файл IMG, что это вообще за формат и для чего используется.
Ну и, конечно, какой программой открыть файл img, ведь именно с этой целью все и затевается. В первую очередь давайте разберемся с общими вопросами касательно IMG расширения.
Для чего нужен IMG формат
Хоть по написанию аббревиатуры формата многие пользователи посчитают, что это файл картинки или изображения, в действительности все несколько сложнее. У многих более-менее опытных пользователей сокращение “img” ассоциируется со словом «образ». И в данном случае файл IMG представляет образ диска. Можно провести параллель с некоторыми другими часто используемыми расширениями образов дисков – тот же формат ISO. Но в случае с IMG были несколько видоизменены алгоритмы чтения-записи образа.
Однако, можно попытаться сменить расширение с IMG на ISO – в ряде случаев получиться открыть таким образом нужный файл при помощи программы, не поддерживающей формат.
В ОС Windows файл формата IMG можно получить в результате работы CloneCD
Некоторое время назад формат также был широко востребован в контексте среды Apple Macintosh. Позже в Mac OS X IMG формат сменили на собственное расширение — .dmg, которому был посвящен один из наших обзоров. Также с ним можно достаточно часто столкнуться и в приложениях MS Windows.
Для двух указанных сред есть некоторые отличия в использовании – для Mac файл расширения .IMG может быть как образом CD/DVD-диска, так и образом HDD. В MS Windows же формат использовался только в целях эмуляции оптических носителей.
Одна из программ, которая может создавать такие образы под Windows – CloneCD, при этом полученный файл будет дополнен двумя дополнительными служебными – с расширениями .ccd, .sub и теми же именами.
IMG как файл прошивки оборудования
Так же IMG формат используется многими производителями различного аппаратного обеспечения, для распространения обновлений прошивок. Если ваш файл IMG имеет маленький размер, и у вас есть основания полагать, что это не образ дискеты, то это тот случай. При этом информацию, чем открыть файл прошивки IMG для каждого конкретного случая следует искать на официальном сайте производителя оборудования.
При обновлении IMG прошивок оборудования следует строго придерживаться официальных инструкций производителя – в худшем случае при их несоблюдении придется ехать в сервисный сервис. Поэтому не стоит доверять инструкциям по прошивкам оборудования на сторонних сайтах.
Какие программы для открытия IMG существуют
Наконец, переходим к главной части нашего обзора – выберем, какой программой открыть файл IMG можно с минимальными трудностями. Как вообще происходит работа с таким форматом? Варианта как и в случае с другими образами дисков два:
- Записать образ на диск CD/DVD и впоследствии прочитать его на обычном приводе.
- Воспользоваться одной из программ-эмуляторов виртуальных приводов, приведенных ниже.
Рассмотрим второй вариант более подробно. Для того, чтобы открыть файл формата IMG, можно воспользоваться следующими программами:
- Nero Burning ROM – известный многим программный продукт, чаще всего используется для работы с образами другого формата — .nrg. Бесплатная версия отсутствует, необходимо приобретать лицензию;
- Daemon Tools Lite – бесплатная облегченная версия может быть использована для открытия IMG;
- UltraISO – проблем с поиском и скачиванием утилиты быть не должно. Программа легко устанавливается на компьютер, однако без покупки лицензии может работать лишь с файлами менее 200Мб. С помощью данной утилиты можно не только открыть файл формата img на виртуальном приводе, но и записать CD/DVD (с учетом озвученных ограничений).
Nero Burning ROM хороший, но платный вариант программы для работы с IMG
Теперь вы точно знаете, как и чем открывать img на компьютере. Надеемся, что приведенная информация была полезной и в дальнейшем работа с данным форматом не вызовет у вас затруднений.
Источник: https://itguides.ru/kak-sdelat/kak-otkryt-fajl/kakoj-programmoj-otkryt-fajl-formata-img-proshivki.html
Распаковываем 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.
Скрипт для распаковки system.new.dat в Linux
Ручной способ
Распаковываем архив с прошивкой в любую папку (например, в rom):
$ mkdir ~/rom $ unzip путь_до_архива -d ~/rom/
Скачиваем нужные нам инструменты в эту папку:
$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py
Запускаем скрипт:
$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img
Он преобразует файл system.new.dat в raw-образ с именем system.img. Монтируем образ к подпапке mnt:
$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/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, начнем вносить изменения.
Что такое кастомная прошивка на Андроид
Кастомная прошивка Андроид — это неофициальная операционная система, разработанная сторонними разработчиками. Она заменяет Android и предоставляет пользователю совершенно другой опыт эксплуатации.
Неофициальные операционные системы лишены всех ограничений Андроида, а также оснащены другими функциями.
Почти любая кастомка имеет больше возможностей, нежели стандартная операционная система от Google. Разрабатывают такие ОС, как правило, на ядрах Linux.
У пользовательских ОС есть и минусы. В первую очередь, это риск превратить свой аппарат с Android в кирпич, не подлежащий восстановлению.
Если вы четко следуете инструкции по установке и ставите качественную неофициальную операционную систему, то все пройдет хорошо. Но ошибку в таком процессе допустить легко, если вы не делали ничего подобного раньше.
Также недостаток заключается в том, что просто скачать и инсталлировать систему не получится. На установленную ОС необходимо поставить дополнения и приложения, дабы пользоваться устройством было комфортно.
Например, полезный софт от Гугл, такой как Play Market или YouTube. В общем, процесс не то что сложный, но требующий времени и внимания.
Я советую устанавливать кастомную операционную систему только если вы четко понимаете, почему этого хотите и как все нужно сделать. Для этого следует ознакомиться с лучшими пользовательскими операционными системами, а также вникнуть в процесс инсталляции.
Удаляем и добавляем приложения
Все предустановленные программы можно найти в двух папках:
- /system/app/;
- /system/priv-app/.
Друг от друга они отличаются привилегиями доступа. Если программы из app имеют такие же полномочия, как сторонние программы (например, установленные из Play Store), то приложения из priv-app могут использовать привилегированные API (права privileged). Подробнее об этом можно узнать из нашей статьи.
Для предустановки приложения в прошивку просто кинь ее APK-файл в /system/app/. Можно, конечно, создать отдельную папку, но в нашем случае в этом нет смысла, потому что папка служит для хранения библиотек и odex-файлов, которых у нас попросту нет. Для удаления просто удали папку с ним.
Можно пойти дальше и поменять стоковые приложения на аналоги. К примеру, для замены календаря удаляем папку Calendar и копируем в /system/app наш любимый com.rpagyc.simplecalendar.apk. А можно и не копировать. Тогда прошивка будет без календаря.
Главное, помни: стоковые программы могут быть связаны между собой. Поэтому удаление одной проги вполне может привести к полной неработоспособности другой (к примеру, CalendarProvider и Calendar: удалив первый, ты сделаешь неработоспособным не только стоковый, но и любой другой календарь). К счастью, в чистых AOSP-прошивках взаимосвязей не так много.
Стоит ли распаковывать прошивку
Распаковка прошивки представляет собой непростой процесс, который требует времени и соответствующих навыков, но является весьма актуальным и полезным.
Посредством распаковки пользователь может внести корректировки в работу самых различных элементов установленного программного обеспечения, исключив тем самым возможность появления ошибок, зависаний и многих других неприятных моментов без перепрошивки и замены ПО.
Задумавшись над вопросом, нужно ли распаковывать прошивку Android, вы наверняка найдете пару дополнительных плюсов. Из распакованной прошивки можно извлечь apk-файлы или интегрировать инсталляторы прочих программ.
Меняем анимацию загрузки
Анимация хранится в виде PNG-картинок, упакованных в архив /system/media/bootanimation.zip без сжатия. Внутри архива находятся:
- desc.txt — файл, описывающий анимацию;
- part0 — папка с файлами анимаций, которые воспроизводятся первыми;
- part1 — папка с файлами анимаций, которые воспроизводятся вторыми;
- …
- part? — крайняя папка, изображения с которой воспроизводятся в конце.
Файл desc.txt может содержать нечто вроде
1920 1080 60 p 1 0 part0 p 0 0 part1
Назначение этих строк интуитивно понятно: 1920 x 1080 — разрешение картинки, 60 — число кадров в секунду. Part0 и part1 указывают на папки, из которых будет воспроизводиться анимация, и последовательность воспроизведения. Вообще, может быть как одна часть, так и несколько (три и больше).
Изображения, находящиеся в папках part, пронумерованы пятью цифрами в порядке воспроизведения: 00000.png, 00001.png, 00002.png… Эти изображения можно поменять на свои, тем самым создав оригинальную анимацию. А можно просто удалить файл bootanimation.zip. Тогда девайс будет показывать анимацию из стандартного Android. Или воспользоваться уже готовой коллекцией анимаций на 4PDA.
Четыре части в bootanimation.zip для LineageOS
Основные виды bin-файлов
С какими целями обычно создаются BIN файлы? Пользователи хотят сохранить на компьютере образ диска, на случай утери физического носителя. Чаще всего в BIN преобразуют образы компьютерных игр, файлы игровых консолей, а также программ, если их файл большого размера (Photoshop, 3DS Max, Microsoft Office). Хранение объемных образов игр и софта – вот, в основном, где распространено расширение bin. Найдя софт для работы с файлами BIN, вы узнаете как открыть прошивку, драйвер или установщик ПО.
Изменяем звуковое оформление
Фактически все звуки, которые воспроизводит система, хранятся в папке /system/media/audio. Внутри нее ты найдешь следующие папки:
- alarms — мелодии будильника;
- notifications — звуки уведомлений;
- ringtones — мелодии звонка;
- ui — системные звуки, например низкий заряд батареи, фокусировка камеры, выбор элементов интерфейса.
В alarms, notifications, ringtones можно накидать сколько угодно любых мелодий. Взять их можно, например, здесь:
- стандартные мелодии из разных телефонов и смартфонов Nokia;
- знаменитые стандартные рингтоны;
- просто множество рингтонов;
- мелодии с разных телефонов.
И маленький лайфхак: удаление файлов из папки ui приведет не к сбоям и ошибкам, а к исчезновению системных звуков. Поэтому ты можешь легко отключить звук создания снимка с камеры, снятия скриншота, просто потерев содержащие эти звуки файлы (их имена интуитивно понятны).
CCACHE
Это полезная утилита, которая используется для кэширования бинарных файлов и позволяет сократить время компиляции (примерно на 50%).
Для ее инициализации следует выполнить следующую команду:
ccache -M 50G
Разумеется, вместо приведенного значения вы должны указать количество свободных гигабайт на своем жестком диске.
Для ознакомления с статистикой кэширования следует использовать следующую команду:
ccache -s
Для удаления файлов кэша — следующую команду:
ccache -C
Настройка рабочего окружения почти закончена — осталось открыть файл bash.rc:
sudo nano ~/.bashrc
Теперь следует перейти к последней строке этого файла и вставить в него следующие строки:
export USE_CCACHE=1 export PATH=~/bin:$PATH
Наконец, следует закрыть текстовый редактор и выполнить следующую команду для применения изменений:
source ~/.bashrc
Пришло время перезагрузить систему.
На сегодня все!
А это две следующие статьи серии, описывающие процесс сборки прошивки!
- Сборка собственной Android-прошивки, часть 2/3
- Сборка собственной Android-прошивки, часть 3/3
Меняем системные настройки (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).
Преобразование KDZ-архива в DZ-архив для последующего создания BIN-папки и привычных архивов
KDZ – формат прошивок, которые зачастую использует в своих устройствах компания LG. Распаковка данных файлов требует использования дополнительного софта, поскольку обычные архиваторы не способны обеспечить необходимый доступ к утилитам прошивки и предустановленным инсталляторам.
Если вы думаете, как самому поменять файлы в прошивке Android формата .kdz, заблаговременно скачайте программы Windows LG Firmware Extract и EXT2 Explore. Процесс распаковки выполняется за схемой:
Комментарии
Кратко и по делу. Спасибо
Наконец-то всё просто получилось! Спасибо!
Не могу открыть, пишет unknown file format
Могу записать видео, с более подробным объяснением)
Такая же фигня не открывает и пишет неизвестный формат.
не работает и вообще прога глючит винд7
Ошибка . Пишет: Unknown file format . Что делать ?Помогите пожалуйста.
6-7 андроид не открывает
Отправить комментарий
Популярные сообщения
Интерполяция методом Ньютона
Интерполяция
,
интерполирование
— в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений.
Многим из тех, кто сталкивается с научными и инженерными расчётами, часто приходится оперировать наборами значений, полученных опытным путём или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения. Такая задача называется аппроксимацией
. Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Существует много конечно-разностных методов интерполяции. Наиболее распространенным является метод Ньютона для интерполяции «вперед» (метод Ньютона – Грегори). Интерполяционный полином в этом случае имеет вид:
Коэффициенты С находим по формуле:
Реализация программы на языке C#: using System; namespace Interpolation < class Program…
Визуализация алгоритмов cортировки
Пожалуй, нет программиста, который никогда не писал программы реализации алгоритма сортировки. Во всех ВУЗах алгоритмы сортировки включены в базовый курс программирования, так как это один из первых шагов в мир алгоритмизации. В этой статье я хочу поделиться одним из своих проектов, который я написал учась на втором курсе в университете. Это была курсовая работа моего друга на которую было очень мало времени, поэтому в программе все сделано максимально просто. Программа представляет собой графическую визуализацию трех простых алгоритмов сортировки (пузырьковая сортировка, сортировка вставками и смешиванием). Изображение интерфейса программы во время работы:
Программа разделена на два потока в одном из которых выполняется сортировка, а в другом перерисовка графического интерфейса. После нажатия на кнопку «Сортировать», в программе вызывается метод «RunSorting», в котором определяется алгоритм сортировки и создается новый поток с запущенным в нем процессом сортировки. private void RunSo…
Качер Бровина на КТ819Г
Сегодня я хочу показать свой Качер, который я делал на прошлых зимних каникулах. Описывать весь процесс изготовления не буду, так как в интернете есть много статей. Напишу только об основных его параметрах.
Внедряем в прошивку 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 в нашу прошивку!
Структура каталогов configupdater-all.tar.lz
Распаковка QSB и INB-прошивок
Прошивки с расширением .qsb и .inb являются прерогативой устройств компании Lenovo. Их распаковка не занимает большого количества времени и проводится посредством всего одной утилиты LenovoWinTools.
Данная программа имеет интуитивно понятное управление и предоставляет массу дополнительных возможностей. Помимо распаковки прошивок она позволяет осуществлять быструю обратную сборку прошивки с уже измененными файлами, способствует комфортной работе с контекстным меню, проводит сборку нескольких частей файлов в один.
Для работы с прошивкой через редактор LenovoWinTools достаточно установить русифицированную программу, зайти в пункт «Файл» и посредством имеющихся инструментов выбрать свою прошивку. Далее потребуется подождать, и тогда прямо из программы сможете оперировать файлами прошивки.
Свободное место
Необходимо понимать, что место для установки прошивок ограниченно. Нельзя установить прошивку, размер которой перевешивает размер раздела system устройства. Посмотреть его значение можно, используя ADB:
$ adb shell df /system
Инфа о разделе system
Второй вариант: поставить на устройство терминал и набрать команду
$ df /system
Размер раздела в байтах можно узнать, установив на смартфон BusyBox и выполнив в терминале команду
$ busybox df -B 1 /system
Или то же самое с помощью ADB:
$ adb shell busybox df -B 1 /system
Место, занимаемое прошивкой, будет приблизительно равно размеру 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/ — офлайн-языки. Можно будет скачать потом онлайн, если понадобится.
Как установить прошивку через TWRP Recovery
Если больше нравится не CWM, а TWRP Rеcovery, прошейте его, руководствуясь этой инструкцией. Через него можно установить прошивку из ZIP архива:
1. Скачайте прошивку и поместите ее в любое удобное для вас место.
2. Перейдите в TWRP. Делается это, как и в CWM.
3. Теперь нужно сбросить систему. Для этого выберите «Wipe» в главном меню.
4. Для того, чтобы запустить сброс настроек до заводских, поставьте ползунок вправо.
5. По завершению очистки мобильный дизайн, планшета нажмите кнопку «Back».
6. Вы вернетесь к главному меню ТWRP Rеcovery. Теперь переходим к самой прошивке. Для этого выберите «Install».
7. Перейдите к тому месту в памяти, где была сохранена прошивка и нажмите на нее.
8. Поставьте ползунок вправо для начала установки прошивки.
9. Начнется процесс. Обычно он идет 2-3 минуты.
10. В конце отобразится сообщение об удачном завершении прошивки. Нажмите на «Rebоot System», чтобы загрузить Andrоid.
Рассмотрен еще один способ как прошить Andrоid при помощи ZIР обновления. Также можно воспользоваться специальным приложением. Об этом чуть ниже.
Сборка
После внесения изменений нужно собрать все обратно. Сначала запакуем раздел system в system.new.dat. Скачиваем нужные нам инструменты:
$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github.com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/master/sparse_img.py $ sudo apt-get install android-tools-fsutils
Преобразовываем нашу папку обратно в RAW-образ. Назовем его system_new.img:
$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/
1073741824 меняем на размер раздела system в байтах. Желательно даже сделать его чуть меньше. Делаем из RAW-образа sparse-образ:
$ img2simg system_new.img system_snew.img
Преобразуем наш образ в system.transfer.list и system.new.dat, которые и нужно кидать в архив с прошивкой, но сначала удалим старые файлы:
$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img
Отделим файлы прошивки от лишней шелухи (файлов, которые мы загружали для работы. Для этого удобно пользоваться архивом с прошивкой). Удалили? Теперь нужно запаковать прошивку в ZIP-архив (любым архиватором).
Осталось подписать архив. Сделать это можно как на самом Android с помощью ZipSigner, так и на ПК (потребуется установленная Java):
$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar файл.zip
Подводные камни
Во время сборки system.new.dat ты можешь столкнуться с несколькими проблемами, вызванными постоянными изменениями в механизмах формирования прошивок Android. Описанный выше способ должен хорошо сработать в случае основанной на Android 5.1 прошивки, в более новых могут возникнуть сложности, так что потребуется использовать другие версии инструментов сборки. К сожалению, мы не можем описать все нюансы сборки, поэтому, возможно, придется погуглить.
Используем ROM Manager
Приложение ROM Mаnager позволяет создать резервную копию системы. Кстати, советуем сделать бекап внутренней файловой памяти перед прошивкой, чтобы потом восстановить эти данные. Сейчас мы будем использовать другую функцию приложения: прошивать телефон при помощи ROM Mаnager.
Для работы утилиты необходимы root права – они получаются при помощи эксплойтов: Kingо Andrоid ROOT, Unlock Rоot, Framaroot или Vroot.
Обязательно должно быть установлено кастомное Recovery. Итак, установите , найдите и скачайте необходимую прошивку для вашего девайса. Откройте приложение и следуйте инструкции:
1. Поместите .zip архив прошивки в памяти Андроид телефона или планшета.
2. В меню ROM Mаnager откройте пункт «Установить ROM с SD карты».
3. Найдите архив и нажмите на него.
4. В открывшемся меню выберите «Перезагрузка и установка». Советуем поставить галочку на «Сохранить текущий ROM», чтобы иметь возможность восстановить систему, если потребуется.
5. В следующем окне нажмите «ОК», после чего девайс загрузится в режим Recоvery и начнется процесс прошивки.
Смотрите также: Xiaomi Mi Band 3: Браслет с NFC, уже в продаже
Также в ROM Mаnager есть функция поиска ROM для устройства. В главном меню приложения выберите «Скачать прошивки». Некоторые из них будут доступны только в премиум версии программы.
Выводы
Эта статья описывает лишь верхушку огромного айсберга под названием «модификация прошивок». «Серьезные» прошивки не только дополняют ядро и саму прошивку со стоковыми приложениями множеством функций (которые зачастую вырваны из других ядер и прошивок), организовывая или даже меняя принципы их взаимодействия, но и вполне могут кардинально менять принципы работы ОС. Правда, такая поделка — это уже не Android, а отдельная ОС, даже если Play-сервисы получится туда поставить (кстати, такие действия, мягко говоря, не поощряются Google). Ну и не забываем: все оболочки от производителей — TouchWiz, ZenUI, HTC Sense и так далее — всего лишь обычные кастомы, максимально привязанные к железу устройства и друг к другу.
Предисловие
И так перед тем как начать повествовать статью, немного слов для кого она написана: вы уже знаете что такое Linux и установить Ubuntu, Mint, Fedora, OpenSuSe, по крайней мере устанавливали хотя бы один раз из этих ОС, уже знаете что такое командная строка или терминал, команда cd, ls, sh знакома и не вводит в ступор. Отлично, тогда продолжаем изучать статью. Статья Только для устройств Nexus!
Задача научить подготовить систему для компилирования вашей первой Android прошивки, а не научить устанавливать Linux, изучить команды итп.
Необходимое для создания Android прошивки из исходного код
- Компьютер или мощный ноутбук
- LTS версия ОС UBUNTU 64-разрядная (12.04 или 14.04)
- Количество свободного места в разделе /home не менее 100 GB
Не открывайте, не закрывайте, не перемещайте, делайте все как написано в инструкции — последовательно, шаг за шагом, перезагружайте компьютер когда это указано.