Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Сборка андроид из исходников 4pda

Сборка собственной Android-прошивки, часть 1/3

Оригинал: How to build Android ROM Part 1/3
Автор: Masc
Дата публикации: 6 марта 2017 г.
Перевод: А.Панин
Дата перевода: 28 марта 2017 г.

Разработка Android-прошивок — настройка рабочего окружения

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

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

Если вы хотите собирать Android-прошивки, вам понадобится установленный на компьютере Linux-дистрибутив, ну а если вы не можете выделить отдельный компьютер для этих целей, вы вполне можете обойтись виртуальной машиной с Linux-системой.

Я буду использовать дружелюбную систему Ubuntu 16.04, что рекомендую и вам.

Требования

  • Дистрибутив Linux
  • Как минимум 200 ГБ свободного пространства на жестком диске или твердотельном накопителе
  • Мощный компьютер с как минимум 4 ГБ оперативной памяти и производительным четырехядерным центральным процессором
  • Качественное соединение с сетью Интернет на скорости как минимум 600 КБ/с

Если у вас есть все необходимое, можно начинать работу.

Все приведенные в данной статье команды должны исполняться с помощью приложения Терминал и, разумеется, я не буду повторять это после каждой команды.

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

Сборочный инструментарий

Выполните следующую команду для установки сборочного инструментария (ее исполнение может занять достаточно много времени в зависимости от скорости вашего Интернет-соединения):

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

Выполните следующую команду для для установки описанного инструмента в свою систему:

CCACHE

Это полезная утилита, которая используется для кэширования бинарных файлов и позволяет сократить время компиляции (примерно на 50%).

Для ее инициализации следует выполнить следующую команду:

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

Для ознакомления с статистикой кэширования следует использовать следующую команду:

Для удаления файлов кэша — следующую команду:

Настройка рабочего окружения почти закончена — осталось открыть файл bash.rc:

Теперь следует перейти к последней строке этого файла и вставить в него следующие строки:

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

Пришло время перезагрузить систему.

А это две следующие статьи серии, описывающие процесс сборки прошивки!

Сборка андроид из исходников 4pda

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

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

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.

В:Слышал, что в данной ветке присутствуют телепатыгадалкимедиумы и ясновидцы, которые могут дать полный и адекватный ответ на не полностью сформулированный вопрос?
O: Эх, к нашему большому сожалению, все вышеперечисленные товарищи ушли на ТНТ и ТВ3. И мы, как и вы, тоже будем надеяться на их скорейшее возвращение в ряды пользователей нашего форума.

А пока, будьте добры: если вы хотите получить адекватный ответ на ваш вопрос, то формулируйте его соответственно. Например,- описание проблемы + действия которые к ней привели (изменение конфигурации, изменение в исходниках, лог терминала и/или logcat, ой, нечаянно удалил + ой, а не помню что).

Кроме того, если вы делитесь логами, не загружайте ваш лог файл на форум(он и так бедненький тужится).
А помещайте логи в теги [ code ][ /code ] и потом это дело в спойлер. Или, пишите логи на pastebin.com и приложите ссылку!
Т.к. никто не хочет грузить себе на комп не нужный ему хлам, который вы скинули!

Привожу чёткий пример поста с вашей ошибкой:

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

Куратор темы vl_w. По вопросам наполнения шапки обращайтесь в QMS

Сообщение отредактировал vl_w — 09.03.20, 10:13

Сообщение отредактировал slfl — 10.05.16, 14:38

TheFury,
Добавил, см. выше.

Сообщение отредактировал UA1000 — 24.01.11, 13:35

$ repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair

No command ‘repo’ found, did you mean:
Command ‘rep’ from package ‘rep’ (universe)
Command ‘repl’ from package ‘nmh’ (universe)
Command ‘repl’ from package ‘mailutils-mh’ (universe)
repo: command not found

эт как понимать?

до установки клиента repo, после установки пакета утилит ,
Внимание!
Необходимо выполнить перезагрузку системы
Иначе выбивает ошибку No command ‘repo’ found, did you mean.

Читать еще:  Как в биосе поставить загрузку

Добавьте в инструкцию.

Сообщение отредактировал erofenoll — 27.01.11, 02:26

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

Из вариантов, которые можно сделать в этом случае(в случае появления ошибки):
(самое грубое) перезапустить Иксы завершив сеанс, ну и самое правильное — просто перезапустить эмулятор терминала(просто закрыв окно)

Единственное, что можно добавить в инструкцию это:

    Либо export переменной PATH с добавлением

/bin
export PATH=$PATH:$HOME/bin

Либо прописывание этого экспорта в .bashrc
echo «export PATH=$PATH:$HOME/bin» >>

В первом случае — командой можно будет пользоваться сразу, а перезапуск терминала(или завершение сеанса) приведет к сбросу переменной PATH
Во втором случае — для использования команды потребуется перезапуск терминала(или завершение сеанса)
UA1000,
Хотелось бы добавить такой момент:
Команда
make -j4 PRODUCT-

-user dist
дает сборку окружения для пользователя, но очень часто требуется наличие девелоперских или тестовых утилит, поэтому команду можно использовать и с такими параметрами
make -j4 PRODUCT-

-eng
make -j4 PRODUCT-

-eng — соберет систему разработчика
-tests — включит в систему вагон и маленькую тележку для проверки различных возможностей как ОС, так и платформы

Замечу, что мы как разработчики, скорее всего хотим иметь возможность полноправного доступа к управлению, так что нам захочется получить root-доступ. Мне это не удалось сделать при помощи различных утилит, и adb shell у меня к сожалению не работает. Так что мы можем внести такие правки в сам код AndroidOS

В файле system/extras/su/su.c закомментировать строки 62-65(приведено для cupcake и donut, в других версиях может незначительно отличаться)

Так же замечу, что используемый Вами параметр dist после компиляции создает кучу, на самом деле, ненужного хлама. Если выполнить компиляцию без него, то не придется трогать никакой файл product_name-emulator-eng.user.zip

А просто выполнить из директории
/home/user/mydroid/out/target/product/board_name
команду
emulator -system system.img -data userdata.img -no-boot-anim
*параметр -no-boot-anim позволяет AndroidOS загрузится быстрее

Сообщение отредактировал Gilberg — 30.01.11, 00:53

Делаем свое кастомное ядро

Внимание! Статься содержит зубодробительное кол-во картинок и мозговзрывающий контент!

Если вы все-таки решились попробовать себя в шкуре ядродела, то наверняка будете озадачены кол-вом подобных инструкций. Многие из них написаны на английском, да и процесс компилирования ядра проходит с помощью Google NDK (в том числе инструкция на 4PDA). В моей же статье описано все о сборке и компилировании ядра с помощью довольно популярного тулчейна — Linaro 4.9.1. На самом деле уже давно как в свет вышел новый Linaro 4.9.2, но он довольно сырой(по крайней мере отвратительно работает на Nexus 5)

Все что нам потребуется для сборки ядра:

  • Исходники стокового ядра
  • Стоковый рамдиск
  • Любой Linux дистрибутив(рекомендую Ubuntu 14.04LTS)
  • Тулчейн(Linaro)
  • Желание и стремление к созданию ядра

Итак, первым делом нужно установить необходимые для сборки пакеты:
Запускаем терминал(Ctrl+Alt+T)

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

Исходники моего устройства находятся по адресу android.googlesource.com/kernel/msm

Здесь также находятся исходники для N4, N7 2013. Если у вас устройство линейки Nexus — смотрите таблицу выше. Если же у вас другое устройство — ищите исходники на соответствующих ресурсах производителя.

Чтобы получить исходники достаточно прописать комманду

git clone https://android.googlesource.com/kernel/msm
После того как вы скачали исходники нужно взять необходимый бранч. Для этого заходим в папку с исходниками

Проверить список бранчей можно коммандой

Для моего устройства необходим бранч origin/android-msm-hammerhead-3.4-kitkat-mr2. Чтобы получить данный бранч пишем

git checkout origin/android-msm-hammerhead-3.4-kitkat-mr2

Начнется проверка файлов

Остался последний пункт и можно начинать разработку ядра! Необходимо скачать тулчейн. Получить его можно коммандой

После этого в вашей директории появится папка AK-linaro. Из этой папки достаем нужный тулчейн. Я использую Linaro 4.9.1-2014.07.20140718.CR83
Кидаем папку с тулчейном в домашнюю директорию и переименовываем в «linaro» для удобства

Итак, подготовка завершена, теперь переходим к самому процессу создания ядра. Ах да, чуть не забыл — нам потребуется рамдиск, достать его из стокового ядра можно с помощью Android IMAGE Kitchen, всю инфу и инструкции найдете по этой ссылке — forum.xda-developers.com/showthread.php?t=2073775

После того как достали рамдиск кидаем его в домашнюю директорию, опять же, так намного удобнее. Теперь нам потребуются специальные скрипты для того, чтобы скомпилировать ядро. Ссылка на скрипты — yadi.sk/d/vN0KCGF8bB9gV

Эти скрипты необходимо распаковать в папку с исходниками

Также вам понадобится конфиг, обычно название конфига совпадает с кодовым названием вашего устройства, например у меня это «hammerhead_defconfig»

Название конфига следует написать в 29 строку в файле «env_setup.sh»

Сам же конфиг находится по пути «arch/arm/configs»

Завершающим шагом является адаптация главного Makefile под Linaro. Для этого находим строчку
и заменяем на
Теперь найдите эти строчки:
# Use the wrapper for the compiler. This wrapper scans for new # warnings and causes the build to stop upon encountering them. CC = $(srctree)/scripts/gcc-wrapper.py $(REAL_CC)
И удалите. Все готово для первой компиляции!
Открываем терминал, переходим к папке с исходниками и прописываем следующую комманду:

Начнется компиляция. На варнинги(Warning) не обращайте внимание! Главное, чтобы не было ошибок! Большинство ошибок подробно опысываются, т.е. решить их довольно легко, но если же вы словите ошибку после VMLINUX, то тут придется попотеть, так как в гугле вы вряд ли что-то найдете, придется сидеть на Гитхабе и искать что-то подобное у других энтузиастов-ядроделов

Читать еще:  Флешка биоса что это

Если ядро скомпилировалось правильно и без ошибок, то вы увидите подобное окно

Если все в порядке, то советую забекапить текущие исходники, мало ли что может случиться. Собственно вы только что собрали свое первое ядро, пусть оно и отличается от стокового одним лишь использованием Linaro

Теперь я расскажу про патчи — это то, чем мы будет «тюнинговать» ядро. Для примера я приведу патч, благодаря которому вы можете разогнать свой MSM8974 — github.com/franciscofranco/hammerhead/commit/104890313a73dae0e7d7a13975801cc568d231ad

Этим патчем мы повышаем максимальный вольтаж и, соответственно, частоты до 3GHz. Этот способ предназначен ТОЛЬКО для устройств на базе чипа MSM8974(Snapdragon 800(801)) Чтобы пропатчить ядро достаточно привести свои файлы в такое-же состояние, что и в патче. Проще говоря — добавить/удалить/заменить строки. Обязательно удаляйте плюсики! Для тех кто не понял, про какие плюсы я говорю:

+ < 1, < 3014400, HFPLL, 1, 157 >, L2(21), 1100000, 957 >,
Как видим, в начале стоит + Это означает, что эту строку надо добавить в ваш файл. Сам + добавлять нельзя!

После применение данного патча(изменения своих исходников под данный комент) максимальная частота повысится с 2.3GHz до 3GHz. На разных чипах это реализовано по разному!

Теперь вновь запускаем компиляцию, дожидаемся ее окончания и получаем ядро. Оно лежит в папке «Out»

Не забывайте делать «./clean_kernel.sh» перед началом компиляции!

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

Сборка прошивки на Android своими руками

Вступление

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

Любую прошивку можно доработать под определенного пользователя

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

Сборка из исходников

Один из самых правильных способов является использование исходного кода, публикуемого командами разработчиков Google или Cyanogenmod. Но одновременно этот способ самый сложный, ведь для того, чтобы собрать прошивку Android из исходников, оптимизировать её и заставить работать на конкретном устройстве, нужно обладать довольно глубокими навыками программирования, разбираться во всех тонкостях работы мобильной операционной системы и железа устройства. Эти знания не приобретаются за день, поэтому в этой статье мы не будем подробно описывать этот способ.

Изменение уже готового файла

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

Редактирование с помощью компьютера

Необходимое программное обеспечение

Нам понадобится компьютер, устройство, файл прошивки и специальная программа под названием Android Kitchen (известная также как кухня). Файл прошивки можно найти на специализированных форумах, наиболее известные — англоязычный XDA Developers и русскоязычный 4PDA. В разделе вашей модели устройства можно найти ссылки на самые популярные и проверенные прошивки как официальные стоковые, так и неофициальные пользовательские.

Далее нужно установить кухню на свой компьютер. Лучше всего работать под Linux, но необходимые библиотеки можно поставить и в Windows. В этом случае можно выйти из ситуации установив Cygwin. Загрузите архив и следуйте пошаговой инструкции, помещённой в архиве. Перед этим потребуется установить также Java Platform (JDK) с официального сайта (https://www.oracle.com/technetwork/java/javase/downloads/index.html для Windows) или же в Центре приложений Ubuntu найти и скачать OpenJDK Java 6 Runtime либо похожее (для Linux). Второй вариант использования — установить Linux на виртуальную машину и управлять процессом через неё.

Модификация прошивки

Прошивки чаще всего распространяются в виде файла с расширением .img, реже — как ZIP-архив. В обоих случаях вам понадобится переместить файл с прошивкой в папку установленной кухни, чтобы она смогла импортировать её и начать с ней работу. Кухня должна быть установлена по пути c:/cygwin/home/user/ (при установке через Cygwin) или Файловая система/home/user/ (при работе через Linux).

  1. Запустите кухню через Cygwin или Linux-терминал с помощью команды cd kitchen, затем ./menu.
  2. Распакуйте архив в кухню, как уже писалось выше.
  3. После того как появится меню программы, перейдите в раздел 0. Advanced Options.
  4. После этого будет представлен список команд для модификации прошивки. Выберите именно ту, которая нужна вам. Можно добавить Busy Box, Root, Apps2SD, заменить стоковые приложения, различные анимации, освободить память устройства и многое другое.
  5. После окончания манипуляций запустите в главном команду 99. Build ROM from working folder (Построить прошивку с рабочей папки) и заберите ZIP-архив с OUTPUT_ZIP.

Прошивка устройства

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

Читать еще:  Asus k55vd как зайти в биос

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

Редактирование на устройстве

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

Изменение собственной прошивки

  1. Если на устройстве ещё не получен root, получите его. Как это сделать, можно прочесть на специализированных форумах в разделе, посвящённом именно вашему аппарату. Дело в том, что универсальные способы поддерживаются малым количеством устройств и большинство из них имеют индивидуальную процедуру.
  2. Установите Nandroid backup (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=ru) и сделайте с его помощью резервную копию системы своего девайса. Сохраните её в надёжном месте, например, в облачном хранилище. Для чего создавать копию? Вдруг что-то пойдёт не так или вы нечаянно удалите что-то нужное — будет возможность вернуть всё как было.

  1. Установите файловый менеджер, работающий с системным разделом, чтобы удалить ненужный софт и добавить свои приложения. Золотым стандартом является Titanium Backup.
  2. Выберите приложения, которые вы хотите удалить, и удалите их через файловый менеджер.
  3. Установите приложения, которыми вы хотите заменить удалённые, и через Titanium Backup сделайте их системными.
  4. Перезагрузите устройство и наслаждайтесь своими успехами.

Изменение сторонней прошивки в ZIP-архиве

  1. Скачайте интересующий вас файл прошивки в формате .zip.
  2. Установите файловый менеджер, умеющий работать с архивами, например, ES Проводник или Total Commander, и распакуйте содержимое архива.
  3. Удалите лишние или добавьте недостающие приложения, после чего запакуйте архив обратно и переместите в корень флеш-карты.
  4. С помощью Nandroid backup (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=ru) создайте резервную копию системы и скопируйте её на облачный диск.
  5. Прошейте устройство из режима Recovery.

Заключение

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

Собирали ли вы прошивку для Android самостоятельно? Что вы в ней меняли и каким образом это делали? Будет интересно, если вы поделитесь своими отзывами.

Сборка собственной Android-прошивки, часть 1/3

Оригинал: How to build Android ROM Part 1/3
Автор: Masc
Дата публикации: 6 марта 2017 г.
Перевод: А.Панин
Дата перевода: 28 марта 2017 г.

Разработка Android-прошивок — настройка рабочего окружения

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

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

Если вы хотите собирать Android-прошивки, вам понадобится установленный на компьютере Linux-дистрибутив, ну а если вы не можете выделить отдельный компьютер для этих целей, вы вполне можете обойтись виртуальной машиной с Linux-системой.

Я буду использовать дружелюбную систему Ubuntu 16.04, что рекомендую и вам.

Требования

  • Дистрибутив Linux
  • Как минимум 200 ГБ свободного пространства на жестком диске или твердотельном накопителе
  • Мощный компьютер с как минимум 4 ГБ оперативной памяти и производительным четырехядерным центральным процессором
  • Качественное соединение с сетью Интернет на скорости как минимум 600 КБ/с

Если у вас есть все необходимое, можно начинать работу.

Все приведенные в данной статье команды должны исполняться с помощью приложения Терминал и, разумеется, я не буду повторять это после каждой команды.

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

Сборочный инструментарий

Выполните следующую команду для установки сборочного инструментария (ее исполнение может занять достаточно много времени в зависимости от скорости вашего Интернет-соединения):

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

Выполните следующую команду для для установки описанного инструмента в свою систему:

CCACHE

Это полезная утилита, которая используется для кэширования бинарных файлов и позволяет сократить время компиляции (примерно на 50%).

Для ее инициализации следует выполнить следующую команду:

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

Для ознакомления с статистикой кэширования следует использовать следующую команду:

Для удаления файлов кэша — следующую команду:

Настройка рабочего окружения почти закончена — осталось открыть файл bash.rc:

Теперь следует перейти к последней строке этого файла и вставить в него следующие строки:

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

Пришло время перезагрузить систему.

А это две следующие статьи серии, описывающие процесс сборки прошивки!

Ссылка на основную публикацию
Adblock
detector