Как создать свою прошивку для андроида

Как создать свою прошивку для андроида

Прошивка в каком виде сейчас? zip файл или как?
Идем 1- сюда (или ищем для своего аппарата в той же теме) и 2- Создание кастомных прошивок сохраняем в закладки.
Способ №1 . Установленная прошивка
Установить Root и Coustom Recovery. Сделать Nandroid backup Установить Root Explorer (Titanium Backup, Link2SD) на устройство. Определиться что нужно оставить в прошивке (по первой ссылке). Через Root Explorer (Titanium Backup, Link2SD) удаляем лишнее. Добавляем (заменяем) свои-ми приложения-ми (вкладка в программе(ах) преобразовать в системное ). Перезагрузить девайс радуемся :russian: .
Способ №2 . Прошивка на компьютере.
Скачать архив прошивки в формате *.zip на комп произвести удаление (добавление) через компьютер. Устанавливаем Андроид кухню (вторая ссылка) перегоняем прошивку через кухню. Деодекс, базибокс, вайп статус, подпись приложений, переименование прошивки. и т.д. Кладём прошивку в телефон Сделать Nandroid backup шьём через Coustom Recovery- радуемся :dancer: .
Способ №3 . Прошивка в формате *.zip на устройстве.
Установить Total Commander. Удаляем ненужное (ссылка номер 1) (добавляем) необходимое. Упаковка без сжатия. Сделать Nandroid backup шьём через Coustom Recovery- радуемся :smoke:
Как правильно добавить свои программы.

Сообщение отредактировал Димар — 15.01.14, 18:16

Я в своей прошивке достаточно много чего поменял в лучшую сторону,пожалуйста помогите собрать отредактированную прошивку в установочный zip который можно будет установить через Recovery.

Сообщение отредактировал 6211997 — 09.06.13, 22:20

Источник

Самостоятельное создание прошивки для Android

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

Создание прошивки для Android

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

Шаг 1: Установка Recovery

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

Шаг 2: Выбор прошивки

Помимо добавления загрузчика с возможностью сохранения доступа к файлам нужно найти прошивку, совместимую с вашим девайсом. В этом вопросе трудно дать какие-то конкретные советы, так как существует огромное количество смартфонов и не менее большой ассортимент прошивок. Проще всего найти подходящий вариант, посетив раздел «Android» на русскоязычном форуме 4PDA или на англоязычном ресурсе XDA Developers.

Отыскав раздел с прошивками для вашего устройства, предпочтение стоит отдать чистым вариантам, которые не были модифицированы автором. Это необходимо для того чтобы изменить прошивку с нуля, не заменяя и не вырезая другие элементы. Загрузите архив в формате ZIP на компьютер, где и будут производиться дальнейшие изменения.

Шаг 3: Подготовка системы на ПК

Специальное ПО для компьютера, о котором пойдет речь в следующем разделе, в равной степени совместимо с ОС Windows, Linux и MacOS. Наиболее удобный метод сводится к использованию систем на основе Linux, в то время как на Виндовс потребуется ряд дополнительных действий и программ. В связи с куда большей распространенностью второго варианта, именно ОС Windows мы уделим внимание.

    Посетите официальный сайт Oracle и загрузите программное обеспечение JDK в соответствии с разрядностью вашей операционной системы.

Кликните по загруженному EXE-файлу и произведите инсталляцию программы.

Следом за JDK нужно скачать и установить Cygwin. Для этого посетите тему на форуме 4PDA по представленной ниже ссылке.

Перейти к скачиванию Cygwin
Откройте загруженный архив при помощи любого удобного архиватора и извлеките имеющиеся файлы.

Среди полученных файлов дважды кликните по «Setup», чтобы начать установку.

На этапе «Choose A Download Source» выберите вариант «Install from Local Directory» и нажмите «Далее».

В строке «Root Directory» путь оставьте без изменений, воспользовавшись кнопкой «Далее».

Дальше нужно изменить «Local Package Directory», указав папку Cygwin, которую вы извлекли из архива ранее. К примеру, в нашей ситуации она находится на рабочем столе, и потому путь выглядит так, как показано на скриншоте.

Дальнейшие действия по установке Cygwin производятся в автоматическом режиме.

По желанию можете создать на рабочем столе ярлык для более удобного запуска программы.

Читайте также:  Операционная система android 11 go edition

Запустите программу с помощью созданного значка. В ОС Windows выше семерки используйте «Запуск от имени администратора».

Дождитесь завершения создания директорий и файлов в консоли, после чего закройте Cygwin.

На этом этап подготовки можно считать завершенным и переходить к следующему шагу. Заметьте, внутри архива в файле «kitchen_readme» также имеется инструкция по установке.

Шаг 4: Использование Android Kitchen

Программа Android Kitchen, так же известная как «кухня», представляет собой наиболее удобное средство для создания кастомных прошивок. Загрузить архив можно с официальной страницы на Github по ниже представленной ссылке. Лучше всего брать последнюю вышедшую версию ПО.

    Загрузив «кухню» на компьютер, извлеките папку из архива так же, как и на прошлом этапе.

Переименуйте папку в «kitchen» и с помощью комбинации клавиш «CTRL+X» подготовьте к переносу.

Откройте «Локальный диск (C:)» и откройте папку по следующему пути: Cygwin/home/user . Нажмите сочетание клавиш «CTRL+V», чтобы добавить ранее извлеченную папку.

Примечание: Вместо «user» папка будет названа в соответствии с именем пользовательской директории в системе.

Переместите заранее скачанный файл прошивки, подходящей для вашего устройства, в папку «original_update». Эта директория расположена по следующему пути: Cygwin/home/user/kitchen/original_update .

Вновь запустите Cygwin и последовательно воспользуйтесь следующими командами:

cd kitchen
./menu

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

Закройте «кухню» и переходите к следующему этапу.

Шаг 5: Сборка прошивки

Самой важной и наиболее трудоемкой частью является сборка прошивки, так как этот процесс необходимо выполнять с осторожностью, чтобы исключить вероятность ошибок. Данная процедура не будет проблемой при наличии опыта. По той же причине мы не будем акцентировать внимание на этапе сборки, упомянув лишь несколько моментов.

    В главном меню Android Kitchen введите «0» и нажмите «Enter», чтобы перейти к расширенному списку параметров.

Отсюда можно внести множество изменений в прошивку, будь то добавление ROOT, изменение анимации или запуск плагинов.
Для завершения нужно будет ввести «99» и нажать «Enter». Готовый файл будет находиться в папке «OUTPUT_ZIP» в пользовательской директории Cygwin.

Завершив процедуру редактирования, можно приступать к прошивке устройства.

Шаг 6: Установка прошивки

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

Заключение

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

Помимо этой статьи, на сайте еще 12472 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Как создать свою прошивку для андроида

Инструкции по сборке Android из исходников

Мануалы в помощь новичку и обсуждение для гуру!
Описание | Старая шапка | Собираем ядро для MTK | Первая помощь | Редактирование системных ресурсов Android | Средство обработки прошивок

Что такое ADB и с чем его едят, читаем тут. Отследить новую версию ADB можно в репо от Google.
ADB для Winodws — Скачать sha1:52b4816990d2d18a34645bbf20a31b38a7859d4c
ADB для Linux — Скачать sha1:31078104e5927d823c28550c01275c437a87def7
ADB для MacOSx — Скачать sha1:1403fa0d1bb57ec31170d7905e8505e3b0ed05ee

Что такое маркет и с чем его едят, читайте в этой теме.

Android 4.1.*: microgapps скачать
Android 4.2.*: microgapps Скачать
Android 4.3.*: microgapps Скачать
Android 4.4 : ART microgapps Скачать
Android 4.4.1: ART microgapps Скачать
Android 4.4.2: ART microgapps Скачать
Android 5.0.2: ART microgapps Скачать
Android 5.0.2: ART microgapps Скачать By Mansi
Android 5.1.0: ART minigapps Скачать faq

microgapps — пакет Google Apps с самым основным, только Google Play и framework. Остальное можно установить из Google Play.
minigapps — Пакет Google Apps с самым основным набором ПО от Google.
ART — совместимы с ART режимом, появился в версиях Android 4.4 KitKat.

FlymeOS 5/6 от rocker123
Скачать Огромная коллекция на XDA 4.x-6.x
Скачать OmniRom + Prebuilts 4.x-6.x От ctavropoholb
Скачать Qualcomm MSM8974 и MSM8939 От acdev
Скачать MIUI PatchRom miui5-7 От ctavropoholb
Скачать CyanogenMod 10.1 — 13 4.х.х-6.х.х От ctavropoholb
Скачать CyanogenMod 12.1 android-5.1.1_r18 От SteelBreaker
Скачать Prebuilts AOSP 5.0.x От assusdan
Скачать MIUI PatchRom KitKat v6 От vgdn1942
Скачать AOSP mirror repo От wladimir_tm
Скачать AOSP, AOKP, CM, MIUI 4.4.4 От vaibhavpandeyvpz
Скачать CyanogenMod 11 4.4.4 От Никита Pro Android
Скачать CyanogenMod 10 4.1 От Scorpio92666
Скачать CyanogenMod 7.2.0 2.3.x От pryanya96
Скачать AOSPA ParanoidAndroid 4.4.4 От mrAlmid
Скачать Ubuntu phablet 4.4.2_r1 От Каточимото
Скачать repo snapshots cm-10.2 — android5.1 От wladimir_tm

После чего, качаем исходники командой repo sync

Источник

Разработка и модификация прошивки для Android телефонов на примере HTC Hero GSM. Часть 1

Причины по которым люди ставят модифицированные версии прошивок различны. Кому-то хочется удивить друга смешной анимацией загрузки, кому-то не хватает определенного функционала (например vpn), кто-то хочет выжать максимум производительности из своего телефона за счет разгона процессора, а кто-то пять месяцев ждет новую версию операционной системы Android для своего любимого HTC Hero.
На данный момент уже существует превеликое множество самых невообразимых сборок для самых различных телефонов на базе Android. Иногда они даже появляются в той или иной форме на Хабре.
Я же хочу Вам рассказать о процессе и особенностях создания кастомной прошивки на основе официальной. Данные знания были получены в процессе разработки одной из не многих отечественных прошивок на базе Android 2.1 для HTC Hero GSM. И более или менее успешно опробованы на себе и других подвернувшихся пользователях одного крупного российского форума.
Не смотря на то, что все нижеследующее было сделано для HTC Hero, данные правила и особенности имеют полную силу для всех телефонов, особенно тех, которые разработаны компанией HTC и используют фирменную оболочку Sense.
Для экспериментов нам понадобится:

  • Android SDK желательно последней версии
  • Утилита apktool для реинжениринга системных приложений
  • Утилиты smali/baksmali для де-оптимизации системных приложений
  • Утилита unyaffs для извлечения системных файлов из образа
  • Скрипт split_bootimg.pl для извлечения ядра и ramdisk-а
  • Утилита testsign для подписывания пакета обновления и отдельных приложений
  • установленное и настроенное JRE
  • телефон с операционной системой Android
  • права суперпользователя и модифицированная подпрограмма восстановления (recovery rom)
Читайте также:  Просмотр исходного кода страницы android

Все вышеперечисленное доступно в версиях как для системы Linux так и для Windows. Но в своих примерах я буду ориентироваться на использование Linux.
Конечно же ни root-права ни recovery нам не нужен для того, чтобы начать разработку, однако если мы захотим опробовать наше творение, они нам понадобятся. Для HTC Hero можно использовать RA-hero-v1.6.2.
Наверное, самое время напомнить, что использование неофициальных прошивок лишает нас гарантии, но где наша не пропадала. И несмотря на то, что большинство операций безопасно — всегда нужно четко понимать что и зачем делается, дабы не причинить необратимый вред своему андроиду

Основа

Существует несколько различных подходов к разработке прошивки.

  • Сборка из исходников Android Open Source Project
  • Сборка из исходников проекта CyanogenMod
  • Модификация прошивки, предоставляемой производителем телефона

Несмотря на то, что платформа Android вроде как и является открытой, но в реальных телефонах используются закрытые компоненты. Это и драйверы распространяющиеся в бинарном виде (wifi/gps/fm), и ключевые компоненты системы, такие как Маркет и другие сервисы Google. Также сюда нужно добавить разработки компаний в области интерфейса, такие как HTC Sense, Motoblur, TouchWiz от Sumsung. Это создает местами непреодолимые трудности по разработке прошивки из исходных кодов.
Я предлагаю остановиться на модификации готовых прошивок, предоставляемых вендорами телефонов.
Прошивки для телефонов HTC существуют в двух видах:

  • RUU. Rom Update Utility (Утилита обновления прошивки). Утилита для ОС Windows производящая обновление телефона
  • OTA. Over the Air (Обновление по «воздуху»). Пакет, скачиваемый самим телефоном через wifi/gprs сети, который устанавливается на телефон без какого-либо участия компьютера

Последнее время OTA-обновления состоят из бинарных diff-ов, что несколько осложняет использование оных в качестве основы. Так как это требует наличия конкретного телефона с определенной версией прошивки, что может быть просто невыполнимым, если мы хотим адаптировать прошивку от одного телефона для другого. Либо предполагает долгую и мучительную подтасовку идентификатора телефона с последующим скачиванием обновления без его установки. Причем, возможно, эту процедуру придется повторить несколько раз.
Будем использовать RUU обновление.

Извлечение rom.zip

1. Скачиваем подходящую версию RUU для интересующего нас телефона. Найти которую можно либо на сайте HTC, либо в других источниках. Для HTC Hero воспользуемся, вышедшей в начале июня версией Android 2.1 для оператора Chunghwa (Тайвань)
2. RUU утилита при обновлении телефона прошивает сразу несколько областей:

  • загрузчик boot (hboot)
  • ядро linux + ramdisk (boot)
  • прошивка для радио-модуля (radio)
  • подпрограмма восстановления (recovery)
  • системный раздел (/system)
  • пользовательский раздел (/data)

Однако мы не можем позволить RUU-утилите перезаписать наш любовно установленный загрузчик и recovery. Дабы иметь и далее возможность устанавливать не только официальные прошивки. Для этого нам необходимо извлечь радио/boot/system/data.
В сущности RUU является InstallShield-овским инсталлятором, который несет в себе необходимые нам образы в rom.zip.
Запускаем его и попадаем в заглавный приветственный экран. Не заходя дальше, открываем системную папку %TEMP%, в которой мы видим 2 новые папки, в одной из которых мы найдем файл rom.zip. Копируем в уединенное место и закрываем RUU отменой установки.

Распаковка образов

Распаковав полученный архив и удалив не интересные для нас образы, мы увидим:

  1. $ ls -1 rom
  2. boot.img
  3. Radio_Signed_HERO_63.18.55.06O_6.35.15.01.img
  4. system.img
  5. userdata.img

Телефон несет в себе 512Мб NAND Flash, которые разбиты на следующие логические блоки

  1. $ adb shell cat/ proc / mtd
  2. dev: size erasesize name
  3. mtd0: 00040000 00020000 «misc»
  4. mtd1: 00500000 00020000 «recovery»
  5. mtd2: 00280000 00020000 «boot»
  6. mtd3: 0aa00000 00020000 «system»
  7. mtd4: 08200000 00020000 «cache»
  8. mtd5: 0a5c0000 00020000 «userdata»

Как мы видим, данные области памяти непосредственно связаны с полученными нами образами. RUU производит запись образов as-is, но мы хотим ведь изменить наполнение системы, поэтому нам необходимо распаковать их.
В качестве файловой системы для NAND в android используется yaffs2

  1. $ adb shell mount|grep yaffs
  2. / dev / block / mtdblock3 on / system type yaffs2 ( ro )
  3. / dev / block / mtdblock5 on / data type yaffs2 ( rw,nosuid,nodev )
  4. / dev / block / mtdblock4 on / cache type yaffs2 ( rw,nosuid,nodev )
Читайте также:  Библия греческим переводом для андроид

Распакуем system и data (/cache остается пустым)

  1. $ mkdir system &&cd system && unyaffs .. / .. / .. / rom / system.img
  2. $ mkdir .. / data &&cd .. / data && unyaffs .. / .. / .. / rom / userdata.img

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

Стоит учитывать, что в распакованном архиве содержатся символические ссылки, которые будут утеряны на файловых системах не поддерживающих оные (fat/ntfs). Которые мы можем восстановить через скрипт обновления, о чем будет рассказано в другой статье.

Также нам понадобиться boot-раздел, который по сути является linux ядром (для выбранной прошивки это 2.6.29 armv6l) с ramdisk-ом и имеет следующий формат:

Если мы захотим заменить ядро, либо модифицировать скрипты инициализации, нам необходимо их извлечь из boot-образа. Для этого нам понадобиться замечательный perl-скрипт split_bootimg.pl за авторством William Enck.

  1. $ split_bootimg.pl .. / rom / boot.img
  2. $ ls
  3. boot.img-kernel boot.img-ramdisk.gz data system

С самим ядром мы ничего не можем сделать, кроме как заменить его другим, а рамдиск можно распаковать для последующего изменения и настройки:

  1. $ mkdir ramdisk &&cd ramdisk &&gzip -dc .. / boot.img-ramdisk.gz |cpio -i
  2. $ ls
  3. data default.prop dev init init.goldfish.rc init.hero.rc init.rc logo.rle proc sbin sys system

В данной статье мы не хотим ничего делать ни с ядром ни с ramdisk-ом, а потому запакуем все обратно (либо вернемся на шаг назад и вообще не будем трогать boot)

  1. find . |cpio —quiet -o -H newc |gzip> .. / new-ramdisk.gz
  2. $ cd .. && mkbootimg —kernel boot.img-kernel —ramdisk new-ramdisk.gz —cmdline «no_console_suspend=1 console=null» -o newboot —base 0x19200000

Для других телефонов настроки базового смещения могут отличаться. Коммандлайн мы получаем из split_bootimg при распаковке.

Скрипт обновления

Для обновления будем использовать update-скрипт, который пишется на специальном скриптовом языке edify, о синтаксисе которого можно прочитать в исходниках android. Скрипт /META-INF/com/google/android/update-script может быть таким:

  1. show_progress 0.1 0
  2. format CACHE:
  3. format SYSTEM:
  4. copy_dir PACKAGE:system SYSTEM:
  5. set_perm_recursive 0 0 0755 0644 SYSTEM:
  6. set_perm_recursive 0 2000 0755 0755 SYSTEM:bin
  7. set_perm 0 3003 02755 SYSTEM:bin/netcfg
  8. set_perm 0 3004 02755 SYSTEM:bin/ping
  9. set_perm_recursive 1002 1002 0755 0440 SYSTEM:etc/bluez
  10. set_perm 0 0 0755 SYSTEM:etc/bluez
  11. set_perm 1002 1002 0440 SYSTEM:etc/dbus.conf
  12. set_perm 1014 2000 0550 SYSTEM:etc/dhcpcd/dhcpcd-run-hooks
  13. set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh
  14. set_perm_recursive 0 0 0755 0555 SYSTEM:etc/ppp
  15. set_perm 0 0 04755 SYSTEM:etc/ppp/ip-up-vpn
  16. show_progress 0.1 10
  17. show_progress 0.2 0
  18. copy_dir PACKAGE:data DATA:
  19. show_progress 0.2 10
  20. show_progress 0.3 0
  21. format BOOT:
  22. write_raw_image PACKAGE:boot.img BOOT:
  23. show_progress 0.3 10

Пока этот скрипт очень примитивен и единственное что он делает — подготавливает соответствующие разделы.

Подпись пакета обновления

Для того, чтобы мы смогли прошить нашу прошивку, нам необходимо подписать пакет обновления. Этот процесс аналогичен процессу подписывания jar-пакетов. К пакету добавляется ваш (либо тестовый) сертификат и сохраняются контрольные суммы для файлов внутри него.

  1. $ zip -r habrarom.zip .
  2. $ java -classpath ../../bin/testsign.jar testsign habrarom.zip habrarom-signed.zip

Прошивка радио модуля

Это самая простая часть в плане создания пакета обновления, но и самая опасная в плане последствий при неудачном обновлении.
Пакет обновления создается абсолютно идентично предыдущему, только содержать он будет бинарный блоб с радио, который мы извлекли из RUU и скрипт для его записи в соответствующий раздел памяти.
Простенький скрипт:

  1. show_progress 0.1 0
  2. write_radio_image PACKAGE:Radio_Signed_HERO_63.18.55.06O_6.35.15.01.img
  3. show_progress 0.1 10

Не многое, что будет включено в данный пакет обновления.

  1. $ ls -1
  2. META-INF
  3. Radio_Signed_HERO_63.18.55.06O_6.35.15.01.img

Всё это упаковывается и подписывается как делалось ранее.

Прошивка

Не смотря на то, что в полученную прошивку мы не добавили пока никакого нового функционала, мы бы хотили попробовать прошить и загрузиться в нее.
Для этого

  1. Копируем в корень карты наш пакет обновления
  2. Загружаемся в recovery
  3. Делаем nanroid backup
  4. Делаем wipe
  5. Прошиваем
  6. Перегружаемся

Радуемся тому, что наш больной пережил сложную операцию.

В данный обзор не вошли следующие важные вопросы, которые затрагивают уже непосредственно модификацию подготовленной базовой прошивки. Вопросы с которыми сталкивается любой создатель кастомов, и столкнулся непосредственно я при создании русской версии прошивки 2.1 для HTC Hero GSM

  • Добавление root, busybox
  • Де-оптимизация (deodexing) пакетов. Использование smali/baksmali. Разрешение odex-зависимостей
  • удаленная odex-оптимизация приложений
  • Модификация системных пакетов. Подпись пакетов: когда нужна, и когда можно пренебречь. Упаковка приложений. Обновление ресурсов приложений без пересборки
  • Локализация системы, как пример масштабной модификации системы.
  • Декомпиляция и сборка ресурсов/байткода системных приложений. Исправление ошибок системных приложений
  • zip-align, png оптимизация
  • Подписывание приложений и проблема круговой поруки при использовании shared uid
  • Использование скриптов инициализации на примере переноса данных из одного раздела в другой (dalvik-cache2cache, app2sd)

А тем временем ждем с нетерпением, когда за обновлением FOTA клиента последует обновление самой системы до версии 2.1-update1.

Источник

Оцените статью