<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>kostyajrz@debian:~$</title><author><name>kostyajrz@debian:~$</name></author><id>https://teletype.in/atom/kostyajrz</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/kostyajrz?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@kostyajrz?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kostyajrz"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/kostyajrz?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-06-17T23:32:32.896Z</updated><entry><id>kostyajrz:Hkp6zgGYS</id><link rel="alternate" type="text/html" href="https://teletype.in/@kostyajrz/Hkp6zgGYS?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kostyajrz"></link><title>Сборка Android прошивки из исходников</title><published>2019-10-14T13:06:13.267Z</published><updated>2019-10-14T13:06:13.267Z</updated><summary type="html">Когда у нас есть сервер и установлены все нужные пакеты пора качать исходники.</summary><content type="html">
  &lt;p&gt;Когда у нас есть сервер и установлены все нужные пакеты пора качать исходники.&lt;/p&gt;
  &lt;p&gt;Для начала перейдём на диск, где будем собирать прошивку и создадим папку&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;mkdir &amp;quot;название папки&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;cd &amp;quot;название папки&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Теперь найдем нужную нам прошивку на GitHub&amp;#x27;e&lt;/p&gt;
  &lt;p&gt;И перейдём в стартовый репозиторий, который обычно называется android или manifest. Внизу мы сможем найти команду для загрузки исходников. Например я буду объяснять на примере Evolution X.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Стартовый репозиторий этой прошивки: &lt;a href=&quot;https://github.com/Evolution-X/platform_manifest&quot; target=&quot;_blank&quot;&gt;https://github.com/Evolution-X/platform_manifest&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Команда для загрузки исходников:&lt;/strong&gt; &lt;strong&gt;repo init -u &lt;a href=&quot;https://github.com/Evolution-X/platform_manifest&quot; target=&quot;_blank&quot;&gt;https://github.com/Evolution-X/platform_manifest&lt;/a&gt; -b pie&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Когда мы ввели эту команду мы инициализировали исходников нашей прошивки и для начала загрузки нужно написать команду: &lt;strong&gt;repo sync&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;После этого пойдет загрузка исходников которая будет длиться 30-60мин.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Адаптация исходников под устройство:&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Для сборки прошивки нужно иметь дерево которое используется для адаптации прошивки под устройство.&lt;/p&gt;
  &lt;p&gt;Если имеется готовое дерево, то рекомендую использовать его, но его нужно адаптировать под саму прошивку. Этот процесс я распишу в следующий раз.&lt;/p&gt;
  &lt;p&gt;Когда есть готовое дерево адаптированное под прошивку то нужно его загрузить в папку в исходниках &lt;strong&gt;device/производитель/кодовое_имя_устройства&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Также нужен вендор который нужно загрузить в папку &lt;strong&gt;vendor/производитель/кодовое_имя_устройства&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;И ещё нужно ядро которое нужно загрузить в папку &lt;strong&gt;kernel/производитель/кодовое_имя_устройства&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;После переходим обратно в корень папки и начинаем сборку. Для этого пишем команды:&lt;/p&gt;
  &lt;p&gt;. build/envsetup.sh&lt;/p&gt;
  &lt;p&gt;После пишем:&lt;/p&gt;
  &lt;p&gt;lunch &lt;strong&gt;специальное_название_прошивки_кодовое_имя_устройства_eng(или userdebug)&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;В моём случае команда выглядит так:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;lunch aosp_onclite-eng(или как я ранее говорил userdebug)&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Про &lt;strong&gt;eng&lt;/strong&gt; и &lt;strong&gt;userdebug:&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;eng&lt;/strong&gt; используется для тестовых сборок&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;userdebug&lt;/strong&gt; используется для стабильных сборок для пользования ими.&lt;/p&gt;
  &lt;p&gt;Также существует просто &lt;strong&gt;user&lt;/strong&gt;, но его я не рекомендую использовать т.к. нужно больше заморачиваться с настройкой.&lt;/p&gt;
  &lt;p&gt;Когда вы прописали эти две команды остаётся написать одну последнюю:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;mka &amp;lt;имя_сборки&amp;gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Эта команда начнёт сборку, но нужно разобраться с именем сборки. Имя сборки обычно написано вместе с этой командой внизу стартового репозитория прошивки&lt;/p&gt;
  &lt;p&gt;Например в моём случае команда выглядит так: &lt;strong&gt;mka bacon&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Когда эта команда будет выполнена начнётся сборка прошивки которая бывает от полтора часа до двух с половиной часов и более. Во время сборки могут появляться разные ошибки которые могут быть как в дереве так и в исходниках. Если вы не знаете как исправить ошибку, то копируете ошибку начиная от слова &lt;strong&gt;FAILED: &lt;/strong&gt;и до конца, и вставляете ошибку на сайт &lt;strong&gt;del.dog &lt;/strong&gt;после сохраняете и копируете ссылку, а потом отправляете любому знающему человеку, который может помочь. Когда сборка будет окончена, то в папке &lt;strong&gt;out/target/product/кодовое_название_устройства/&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Появится прошивка в zip архиве которую нужно выгрузить с сервера через терминал или если вы с android устройства, то можно скачать программу termux и через неё будет тоже самое&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Выгрузка прошивки с сервера&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;В терминале или термуксе пишете команду &lt;strong&gt;sftp логин_сервера@хост_или_айпи_адрес_сервера&lt;/strong&gt; и отправляете команду. Обычно после этого нужно писать &lt;strong&gt;yes&lt;/strong&gt;, а потом пароль. Пароль не будет отображаться, но не думайте, что ничего не пишется, а продолжайте писать. Потом когда таким образом зашли на сервер переходите в ту директорию где прошивка в zip архиве и пишите команду &lt;strong&gt;get название_архива_с_прошивкой&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Может написать когда вы будете заходить на сервер, что нет такой команды sftp. Тогда если в терминале, то пишите команду &lt;strong&gt;sudo apt-get install openssh&lt;/strong&gt;, а если в термуксе, то &lt;strong&gt;pkg install openssh&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Всё теперь можете прошивать прошивку и проверять работает или нет.&lt;/p&gt;

</content></entry></feed>