Интернет. Железо. Программы. Обзоры. Операционные системы
Поиск по сайту

Кастомный Android: делаем свою прошивку из стоковой, не копаясь в исходниках. Как извлечь APK файлы с IMG (Разбираем прошивку Android) Можно поменять boot img в прошивке

Интерполяция , интерполирование — в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений.

Многим из тех, кто сталкивается с научными и инженерными расчётами, часто приходится оперировать наборами значений, полученных опытным путём или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения. Такая задача называется аппроксимацией . Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.

Существует много конечно-разностных методов интерполяции. Наиболее
распространенным является метод Ньютона для интерполяции «вперед» (метод Ньютона - Грегори). Интерполяционный полином в этом случае имеет вид:

Коэффициенты С находим по формуле:

Реализация программы на языке C#:
using System; namespace Interpolation { class Program…

Программа разделена на два потока в одном из которых выполняется сортировка, а в другом перерисовка графического интерфейса. После нажатия на кнопку «Сортировать», в программе вызывается метод «RunSorting», в котором определяется алгоритм сортировки и создается новый поток с запущенным в нем процессом сортировки.
private void RunSo…

Сегодня я хочу показать свой Качер, который я делал на прошлых зимних каникулах. Описывать весь процесс изготовления не буду, так как в интернете есть много статей. Напишу только об основных его параметрах.

Ниже несколько фото сделанных во время сборки устройства.

Катушка намотана проводом 0,08 мм примерно 2000 витков на ПВХ трубе диаметром 50 мм и высотой 200 мм.

В качестве терминала была использована пластина из старого жесткого диска. Все остальное собиралось по схеме которая находится в самом низу страницы.

Первый вариант питался от блока питания старого компьютера, напряжением 12 В. Затем же был сделан отдельный блок питания, напряжением в 30 В и со встроенным охлаждением.

Схема устройства:

Совместное использование ресурсов (CORS) — это спецификация W3C, которая позволяет осуществлять междоменную связь в браузере. Создавая поверх объекта XMLHttpRequest, CORS позволяет разработчикам работать с одинаковыми идиомами как запросы с одним доменом. Вариант использования для CORS прост. Представьте, что на сайте alice.com есть некоторые данные, которые сайт bob.com хочет получить. Этот тип запроса традиционно не допускается в соответствии с той же политикой происхождения браузера. Однако, поддерживая запросы CORS, alice.com может добавить несколько специальных заголовков ответов, которые позволяют bob.com получать доступ к данным. Как видно из этого примера, поддержка CORS требует координации между сервером и клиентом. К счастью, если вы являетесь разработчиком на стороне клиента, вы защищены от большинства этих деталей. В остальной части этой статьи показано, как клиенты могут выполнять запросы с кросс-началом и как серверы могут настраивать себя для поддержки CORS. Продолжени…

Прошивка Android, т.е. запись определенных файл-образов в соответствующие разделы памяти девайса при использовании специального Windows-софта, практически полностью автоматизирующего процесс, на сегодняшний день является не самой сложной c точки зрения пользователя процедурой. Если же использование подобного инструментария невозможно или не дает нужного результата, ситуацию спасает .

Для того, чтобы прошить Андроид-аппарат через Fastboot, потребуется знание консольных команд одноименного режима работы девайса, а также определенная подготовка смартфона или планшета и используемого для операций ПК.

Ввиду того, что в фастбут-режиме манипуляции с разделами памяти девайса производятся фактически напрямую, при использовании нижеописанного метода прошивки требуется некоторая осторожность и внимательность. Кроме того, выполнение нижеперечисленных шагов, вероятно, следует рекомендовать только при отсутствии возможности выполнить прошивку другими способами.

Каждое действие с собственными Андроид-устройствами пользователь осуществляет на свой страх и риск. За возможные негативные последствия использования методов, описанных на данном ресурсе, администрация сайта ответственности не несет!

Четкое выполнение подготовительных процедур предопределяет успех всего процесса прошивки устройства, поэтому осуществление нижеописанных шагов можно считать обязательным условием перед проведением операций.

Установка драйверов

О том, как установить специальный драйвер для фастбут-режима, можно узнать из статьи:

Бэкап системы

Если существует малейшая возможность, перед прошивкой обязательно осуществляется создание полной резервной копии существующих разделов памяти устройства. Необходимые для создания бэкапа действия описаны в статье:

Загрузка и подготовка необходимых файлов

Fastboot и являются взаимодополняющими друг друга инструментами из состава Android SDK. Загружаем инструментарий полностью или скачиваем отдельный пакет, содержащий только АДБ и Фастбут. Затем распаковываем полученный архив в отдельную папку на диске С.

Через Fastboot возможна запись как отдельных разделов памяти Андроид-девайса, так и прошивок-обновлений целым пакетом. В первом случае понадобятся файлы-образы в формате *.img , во втором – пакет(ы) *.zip . Все файлы, которые планируются к использованию, должны быть скопированы в папку, содержащую распакованные Fastboot и ADB.

Пакеты *.zip не распаковываем, необходимо лишь переименовать загруженный файл(ы). В принципе имя может быть любым, но не должно содержать пробелов и русских букв. Для удобства следует использовать короткие имена, к примеру update.zip . Кроме прочего необходимо учитывать тот фактор, что Fastboot чувствителен к регистру букв в посылаемых командах и именах файлов. Т.е. «Update.zip» и «update.zip» для фастбут — разные файлы.

Запуск Fastboot

Поскольку Fastboot является консольным приложением, работа с инструментом осуществляется при помощи введения команд определенного синтаксиса в командную строку Windows (cmd). Для запуска Фастбут проще всего использовать следующий метод.


Эта надстройка позволяет производить все операции из нижеописанных примеров в полуавтоматическом режиме и не прибегать к ручному вводу команд в консоль.


Разблокировка загрузчика

Производители определенного ряда Андроид-аппаратов блокируют возможность управления разделами памяти устройства через блокировку загрузчика (bootloader). Если у устройства заблокирован загрузчик, в большинстве случаев его прошивка через фастбут неосуществима.

Для проверки статуса загрузчика можно послать в устройство, находящееся в режиме fastboot и подключенное к ПК, команду:

fastboot oem device-info

Но вновь приходиться констатировать, что данный способ выяснения статуса блокировки не универсален и отличается для устройств разных производителей. Это утверждение также касается разблокировки bootloader – методология проведения процедуры отличается для разных устройств и даже для различных моделей одного бренда.

Запись файлов в разделы памяти девайса

Завершив подготовительные процедуры, можно переходить к процедуре записи данных в разделы памяти устройства. Еще раз перепроверяем корректность загрузки файлов-образов и/или zip-пакетов и их соответствие прошиваемому устройству.

Внимание! Прошивка некорректных и поврежденных файл-образов, а также образов от другого девайса в устройство приводит в большинстве случаев к невозможности загрузки Android и/или другим негативным для аппарата последствиям!

Установка zip-пакетов

Для записи в девайс, к примеру OTA-обновлений, или полного комплекта составляющих ПО, распространяемых в формате *.zip , используется fastboot-команда update .


Запись img-образов в разделы памяти

Во многих случаях поиск прошивки в формате *.zip для загрузки может быть затруднен. Производители девайсов неохотно выкладывают свои решения в Сеть. Кроме того, zip-файлы могут быть прошиты через рекавери, поэтому целесообразность использования способа записи zip-файлов через фастбут вызывает сомнения.

А вот возможность прошивки отдельных образов в соответствующие разделы, в частности «boot» , «system» , «userdata» , «recovery» и др. через Fastboot при восстановлении аппарата после серьезных программных проблем, может спасти ситуацию во многих случаях.

Для прошивки отдельного образа img используется команда:

fastboot flash наименование_раздела имя_файла.img




Таким образом производится прошивка с помощью команд, посылаемых через консоль. Как видим, большее количество времени и сил отнимают подготовительные процедуры, но, если они выполнены правильно, запись разделов памяти устройства происходит очень быстро и почти всегда беспроблемно.

Думаю практически у каждого пользователя андроид смартфона появлялось желание создать (отредактировать) прошивку под свои нужды и желания.
Так вот в данной статье мы и рассмотрим принцип редактирования прошивки для CWM (в zip формате)

Подготовка:

В первую очередь необходимо определиться какую прошивку будем брать за основу. Я советую использовать офф. прошивку в зипе. Почти для каждого распространённого девайса существует чистая прошивка + root.
(я буду отталкиваться именно от данного варианта)
- Когда жертва (прошивка) выбрана её необходимо скачать в любое удобное вам место на ПК (распаковывать не стоит)
- Также нам потребуется архиватор, советую использовать и лучший в своём роде текстовый редактор .


---
что да как:


META-INF
system
boot.img - ядро системы

system
её структура:
app - системные приложения
bin - ресурсы самой системы
etc
fonts - Системные шрифты
framework
lib - библиотеки системы
media
usr
xbin
build.prop


---
Приложения


-Добавляем софт в прошивку:

data/app .so .
system/app system/lib .
-Удаляем софт из прошивки:
app


---
Язык и версия прошивки

Копируем файл build.prop на рабочий стол. Открываем его блокнотом и находим строчки

ro.product.locale.language=en
ro.product.locale.region=US


для русского языка необходимо сделать так:

ro.product.locale.language=ru
ro.product.locale.region=RU


название своего мода вписываем в строку

в том же build.prop

---
графика

Вся графическая часть прошивки хранится в двух файлах
framework-res.apk путь к файлу systemframework и SystemUI.apk по пути systemapp. А графическая часть приложения настройки хранится естественно в приложении Settings.apk.
Принципы распаковки, редактирования и сборки файлов с расширением.apk можно изучить .


---
Скрипты и твики (ускорение и оптимизация системы)

Большая часть настроек проводится в файле build.prop , по этому поводу есть .
Так же если ваше ядро поддерживает init.d (об этом можно узнать на форуме о вашем девайсе) есть ряд скриптов для оптимизации системы, один из них описан и в данной статье


---
Замена шрифтов системы

Как выше излагалось все шрифты содержаться в папке fonts , основные шрифты это: DroidSans.ttf и DroidSans-Bold.ttf их можно заменить любыми шрифтами из нашего сайта переименовав их аналогично вышеуказанным и переместить с заменой в архив с прошивкой в папку fonts .


---
Ядро

Теоритически достаточно заменить boot.img своим, НО в некоторых случаях Ядра сопровождаются дополнительными скриптами.
По этому советую ничего не делать если есть какие либо сомнения.


---
Полезные ссылки:
-
-
-
-
-
-
-
-
-

Адекватная критика и дополнения приветствуются


pan_ataman pan_ataman

2013-05-20T14:06:49Z 2013-05-20T14:06:49Z
---
что да как:

Открывая архив с прошивкой вы видите следующее:
META-INF - в папке хранятся скрипты установки прошивки
system - папка со всеми файлами прошивки (приложения, твики, скрипты и т.д.)
boot.img - ядро системы

Практически все манипуляции проводятся в папке system
её структура:
app - системные приложения
bin - ресурсы самой системы
etc - Скрипты, твики, конфиги, профили и настройки системы
fonts - Системные шрифты
framework - здесь хранятся главные файлы системы (графика, настройки текста анимации и т.д)
lib - библиотеки системы
media - файлы мультимедиа (мелодии уведомлений, анимация загрузки, обои и т.д)
usr - настройки не изменяемые в дальнейшем системой (работают в режиме "только чтение")
xbin - опять же системные конфиги и прочие твики
build.prop - инфа о системе, настройки локали и производительности системы.


---
Приложения

Перед тем как добавлять/удалять софт в систему, необходимо проверить деодексирована ли ваша прошивка (то есть проверить наличие файлов.odex в папке app. Если оные в наличии, то необходимо от них избавиться по .
-Добавляем софт в прошивку:
Прежде всего необходимо установить себе в смарт те программы которые вы хотите добавить в сборку.
После установки достаём их из системы при помощи Root Exporer и его аналогов, находятся они по пути data/app , так же нам понадобятся их либы (если они конечно есть) они находятся по пути data/data. Находятся они в одноимённой приложению папке и имеют расширение .so .
Затем изъятые.apk файлы кладем в архив по пути system/app и файлы с расширением.so (lib"ы) по пути system/lib .
-Удаляем софт из прошивки:
Тут всё просто, заходим в папку app - определяемся что нам не нужно и удаляем весь ненужный софт (систему лучше не трогать)


---

Для тех кто хочет начать путь в создание собственных прошивок для Sony на основе официальных необходимо знать как распаковать прошивку Sony формата FTF.

Что необходимо?

1. Компьютер

2. Скачать последнюю версию не официального прошивальщика FlashTool и установить

3. Скачать менеджер Unix образов ext2explore.exe

3. Скачать и установить бесплатный архиватор 7-zip

4. Прошивка Sony формата FTF

Инструкция как распаковать прошивку Sony формата FTF

1. Правым кликом мыши по FTF прошивке — открыть архив или распаковать из архива

2. После того как установили FlashTool перейдите по пути C:Flashtool
3. Запустить программу FlashTool и в панели выбрать меню Tools -> Sin Editor

4. Выберите извлеченный из прошивки ftf, файл sin в Sin Editor и нажать Extract data. После этого начнется процесс преобразования файла прошивки в читаемый вид.
5. На выходе вы можете получить новый файл с расширением yassf2 или ext4 или elf

Если файл *.yassf2

Выбрать Tools -> Yaffs2, после чего появится окно для выбора файла, выбрать файл с расширением *.yasff2

Через пару минут вы получите папку с файлами которые находились в прошивке

Если файл *.ext4 или *.elf

1. Если у вас файл с расширением *.elf , то переименовать в *.ext4

2. Запустить ранее скачанную программу ext2explore, выбрать файл прошивки после чего появится в окне содержимое прошивки, теперь можете сохранить содержимое.

Что дальше?

Если вы планируете в дальнейшем создать прошиваемый update.zip, то стоит перейти к статье — создание Updater Script

Как правильно извлечь ядро из FTF прошивки?

Для того того чтобы получить «правильное» ядро для прошивки с помощью update.zip потребуется все тот же Flashtool.

1. Откройте FTF прошивку архиватором и извлеките kernel.sin

Мега утилита Android IMG Repack Tools для всех начинающих и продвинутых ромоделов, разработчиков, для редактирования образов Android.

Android IMG Repack Tools что это и зачем?

Android IMG Repack Tools утилита от пользователя под ником A.S._id (xda , 4pda), призвана для того чтобы редактировать образы Android:

  • распаковать образ Android (img, ext4)
  • редактирование файлов (вручную)
  • собрать образ

А также работа с ядрами (boot.img) и recovery (recovery). Утилита предназначена для работы как из под Linux, так и Windows (необходимо устанавливать Cygwin).

Android IMG Repack Tools будет полезна абсолютно всем ромоделам Android для создания новых кастомных прошивок, а также разработчикам ПО.

Где найти и загрузить Android IMG Repack Tools?

Скачать и новейшую версию утилиты Android IMG Repack Tools можно с официальной страницы проекта на XDA .

Установка Android IMG Repack Tools на компьютер

Так как ОС Android основана на ядре Linux, то все же правильней будет работать утилитой Android IMG Repack Tools из операционной системы основанной на Linux.

Предварительная настройка ОС для Android IMG Repack Tools

Если у вас Ubuntu версии 14.04 и старее (и Mint основанный на нем), то вам будет необходимо установить GCC 5 из репозитория (открыть терминал и набрать следующие команды):

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

sudo apt-get install gcc-5 g++-5

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5

Для пользователей Ubuntu 16.04 (и Mint основанный на нем), то вам нужно установить вначале:

1. GNU Automake 1.14 (скачать и распаковать)

2. Перейти в папку с Gnu Automake, открыть терминал и выполнить поочередно команды: ./configure make sudo make install

3. Установить пакеты: sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline6-dev gcc-multilib g++-multilib libc6-dev x11proto-core-dev libx11-dev libz-dev gawk texinfo automake libtool cvs libsdl-dev

Настройка Android IMG Repack Tools

1. После того как скачали Android IMG Repack Tools распаковать, перейти, открыть терминал

2. Набрать команду для запуска утилиты./main_menu

Если же у вас установлен Mint, то кликнуть по файлу main_menu

3. Перейти в раздел утилиты «0 — Configure & clean tools menu »

4. Выбрать «1 — Build android_img_repack_tools «, для того чтобы загрузить и сконфигурировать инструменты с помощью которых происходит работа с образами Android.

Работа с утилитой Android IMG Repack Tools

Ожидайте обновление статьи с инструкциями по работе утилиты в ближайшее время!