Создание Android прошивки из исходного кода (AOSP)

Давно мечтали собрать сами своими руками прошивку Android из исходного кода, но ни как получалось из за отсутствия внятного материала? Android +1 подготовил вам подробную интересную статью!

Создание Android прошивки из исходного кода

Предисловие

И так перед тем как начать повествовать статью, немного слов для кого она написана: вы уже знаете что такое Linux и установить Ubuntu, Mint, Fedora, OpenSuSe, по крайней мере устанавливали хотя бы один раз из этих ОС, уже знаете что такое командная строка или терминал, команда cd, ls, sh знакома и не вводит в ступор. Отлично, тогда продолжаем изучать статью. Статья Только для устройств Nexus!

Задача научить подготовить систему для компилирования вашей первой Android прошивки, а не научить устанавливать Linux, изучить команды итп.

Необходимое для создания Android прошивки из исходного код

  1. Компьютер или мощный ноутбук
  2. LTS версия ОС UBUNTU 64-разрядная (12.04 или 14.04)
  3. Количество свободного места в разделе /home не менее 100 GB

 

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

Создание Android прошивки из исходного кода

Подготовка

1. Перейдите в параметры системы UBUNTU

2. Раздел «Программы и обновления»

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

4. Вкладка «Другое ПО», установить галочки на Партнеры Canonical и Партнеры Canonical (исходный код)

5. Нажать внизу кнопку Закрыть и после Обновить

6. Запустить программу «Обновление приложений» и обновить систему и перезагрузить компьютер

7. Запустите терминал (горячими кнопками CTRL+ALT+T)

8. Установите JAVA (объектно-ориентированный язык программирования)

Для Ubuntu 16.04:

sudo apt-get install openjdk-8-jdk

Для Ubuntu 14.04:

Загрузить версию JDK и установить с помощью команд:

sudo dpkg -i {downloaded.deb file}

sudo apt-get -f install

9. Если ранее была установлена другая среда Java, то выполнить также данные дополнительные команды:

 sudo update-alternatives --config java
sudo update-alternatives --config javac

10. Установите (на ваше усмотрение, опционально) пакет (до версии Ubuntu 14.10, далее установлен по умолчанию)

sudo apt-get install nautilus-open-terminal

11. Перезагрузите компьютер

12. Запустите терминал

13. Установите набор пакетов необходим для создания прошивки

Для Ubuntu 14.04 и новее:

sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
  lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
  libgl1-mesa-dev libxml2-utils xsltproc unzip

Для Ubuntu 12.04:

sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

14. Перезагрузите компьютер

15. Запустите терминал

16. Установите пакет еще один пакет

 sudo apt-get install phablet-tools

17. Вводим команду для «первого знакомства» с репозиториями Google

 mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo

18. Ввод команду для внесения папки bin в переменную

 sudo gedit .bashrc

после чего откроется текстовый редактор с открытым документом .bashrc, прокручиваем его в самый конец и дописываем с новой строки

 export PATH=~/bin:$PATH

Сохраняем документ и закрываем

19. Идентифицируем будущую сборку, тоесть чтобы в собранной прошивки были указаны данные кто ее собрал

git config --global user.email "ваш@эмайл"
git config --global user.name "ваш_никнейм"

20. Создаем проект в которым в дальнейшем загрузится исходный код Android и драйвера

 mkdir ~/AOSP
cd ~/AOSP

21. Скачиваем драйвера для своего Nexus в зависимости от вашей версии Android или скачиваем последние доступные версии (нестабильные)

22. Извлекаем из архива файл extracted-xxxxxxx.sh в папку AOSP

23. В терминале пишем

sudo sh extracted-xxxxxxx.sh

где xxxxxx это каждый изъятый файл, то есть вам необходимо по очереди запустить каждый файл sh, после введите команду

make clobber

и удалите файлы sh

24. Теперь о загрузке исходного кода, вам необходимо указать какой вы хотите собрать Android, то есть версию:

repo init -u https://android.googlesource.com/platform/manifest -b android-5.0.2_r1

Вместо android-5.0.2_r1 указывать необходимую версию Android

Загружаем исходный код на компьютер:

repo sync

Данная процедура будет длится долго (не менее 3 часов) и будет загружено около 30 GB

Сборка проекта

25. После того как скачается весь исходный код Android начнем сборку прошивки Android, введите команду:

source build/envsetup.sh

lunch

Перед вами появится окно со списком устройств возможных для создания AOSP прошивки, выбираем цифру и нажимаем ENTER

26. Запускаем сборку Android прошивки

make -j2 otapackage

Вместо j2 стоит указать количество ядер процессора и потоков, если процессор 2 ядреный и включена технология hyper threading (если она доступна), то у вас будет 4 потока (j4), если процессор 4 ядерный и выключена технология hyper threading, то также 4 потока (j4), а если включена то 8 (j8).

В зависимости от мощности и количества ядер участвующих в процессе сборки прошивки зависит и время сборки прошивки, от 20 минут до 24 суток.

Установка

27. После сборки вы обнаружите пакет в папке AOSP/out/target/product/кодовое_имя_nexus/ архив ZIP

28. Переместите данный архив ZIP на устройство NEXUS

29. Установите меню Recovery

30. Перейдите в меню Recovery

31. Установите архив ZIP и после сделайте обязательно wipe

Вот и все! Ничего сложного нет! Статья подошла к концу, подписывайтесь социальные группы и оставайтесь вместе с сайтом Android +1!