Что касается AOSP, то чистый исходный код не включает аппаратные особенности устройства. Говоря простым языком, такое оборудование, как камера и графический процессор, не будет работать «из коробки» при разработке с использованием AOSP. Фактически, ваше устройство даже не загрузится без этих аппаратных двоичных файлов.
Если вы разрабатываете телефон под брендом Google (Pixel, Nexus и т. Д.), Вы можете найти двоичные файлы оборудования. прямо из Google , и это руководство поможет вам получить и встроить их в свой ROM. Однако, если вы разрабатываете ПЗУ для фирменного телефона (Sony, Samsung и т. Д.)… Что ж, благословите свое сердце, потому что вас ждет поездка.
Несколько производители имеют свои собственные проекты с открытым исходным кодом или выпускают инструменты разработки для потенциальных разработчиков, тогда как другие производители держат в секрете свои проприетарные коды. Вот краткий список проектов с открытым кодом от наиболее популярных производителей:
Центр выпусков с открытым исходным кодом Samsung
Мир разработчиков Sony
Поддержка Lenovo
Центр выпусков с открытым исходным кодом Huawei
Разработчики Motorola
Разобравшись с этим, давайте продолжим в предположении, что мы создаем ПЗУ для самого простого, ванильного Android-интерфейса для устройства Google Pixel. Обладая этими знаниями, вы сможете самостоятельно развиваться и начинать разработку индивидуальных версий ПЗУ конкретных производителей.
Требования к данному руководству:
- Проект с открытым исходным кодом Android
- Телефон Pixel XL или же эмулятор Android для Linux
- 64-битная операционная система Linux - Ubuntu или же Linux Mint - самые удобные для новичков дистрибутивы, тогда как BBQLinux был разработан специально для разработчиков Android.
- Python
- Мощный компьютер (компиляция кода требует много памяти и места!)
Настройка среды сборки
Начнем с настройки эмулятора Android на вашем компьютере с Linux. Независимо от того, есть ли у вас устройство Google Pixel XL, всегда безопаснее всего попробовать новое ПЗУ на эмуляторе Android. до перепрошивка на ваше устройство. Мне больше всего нравится Genymotion, поэтому я расскажу вам, как установить именно этот эмулятор. Однако вы также можете ознакомиться с этим руководством « Лучшие эмуляторы Android », Поскольку большинство из них также имеют совместимость с Linux.
Перейдите к Сайт Genymotion , зарегистрируйте учетную запись, подтвердите ее по электронной почте и загрузите исполняемый файл на рабочий стол Linux.
Теперь откройте терминал Linux и введите:
Chmod + x genymotion-xxxxx.bin (замените xxxx номером версии в имени файла)
./genymotion-xxxxxx.bin
Нажмите И для создания каталога Genymotion. Теперь введите в терминал:
cd genymotion && ./genymotion
Теперь он попросит вас начать процесс установки, поэтому просто продолжайте нажимать «Далее», пока не дойдете до окна «Добавить виртуальные устройства». Выберите «Pixel XL» в разделе «Модель устройства» и завершите установку. Вы можете протестировать виртуальное устройство, если хотите, это будет похоже на телефон Pixel XL на вашем рабочем столе.
Теперь настроим Python:
$ apt-get install python
Теперь нам нужно установить Java Development Kit на вашем компьютере с Linux. Откройте терминал Linux и введите следующие команды:
$ sudo apt-get update
$ sudo apt-get установить openjdk-8-jdk
Теперь вам нужно настроить систему Linux, чтобы разрешить доступ к USB-устройству. Запустите следующий код в терминале Linux:
Это загрузит необходимый файл 51-android.txt, который разрешит доступ к вышеупомянутому USB-устройству. Откройте файл .txt и измените его, включив в него свое имя пользователя Linux, затем поместите файл .txt в следующее место: (как пользователь root ). Теперь подключите устройство к компьютеру через USB, чтобы новые правила вступили в силу автоматически.
Загрузка исходного кода Android
AOSP размещен на Git, поэтому мы собираемся использовать инструмент под названием Repo для связи с Git.
Сначала нам нужно настроить папку / bin в вашем домашнем каталоге. Введите следующие команды в терминал Linux:
$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH
Теперь мы загрузим инструмент Repo, поэтому введите в терминал Linux:
$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / репо
После установки Repo мы должны создать пустой каталог для хранения ваших рабочих файлов. Так что введите это в терминал Linux:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
Теперь мы настроим Git с вашим именем и адресом электронной почты - используйте адрес Gmail, который вы регулярно проверяете , иначе вы не сможете использовать инструмент проверки кода Gerrit.
$ git config –global user.name «Ваше имя»
$ git config –global user.email you@gmail.com
Теперь мы скажем Repo извлечь последний главный манифест AOSP из Git:
$ репо init -u https://android.googlesource.com/platform/manifest
Если все будет выполнено успешно, вы получите сообщение о том, что Repo инициализирован в вашем рабочем каталоге. Вы также найдете ' .repo » каталог внутри клиентского каталога. Итак, теперь мы загрузим дерево исходных текстов Android с:
$ репо синхронизация
Сборка исходного кода Android
Здесь вступают в игру двоичные файлы оборудования, упомянутые в начале этого руководства. Давайте перейдем к Драйверы AOSP страницу и загрузите двоичные файлы Pixel XL для Android 7.1.0 (NDE63P). Вы хотите загрузить образ производителя и компоненты оборудования. Они поставляются в виде сжатых архивов, поэтому распакуйте их на рабочий стол и запустите самораспаковывающийся скрипт из корневой папки. Выберите установку двоичных файлов в корневой каталог WORKING_DIRECTORY, который мы создали ранее.
Теперь введите в свой терминал Linux:
$ make clobber
$ source build / envsetup.sh
Теперь мы выберем цель для построения, поэтому введите:
$ обед aosp_marlin-userdebug
$ setpaths
$ make –j4
Итак, мы «построили» Android ROM из исходников. Итак, давайте протестируем это в эмуляторе, набрав в терминале:
$ эмулятор
Так что немного поиграйте в эмуляторе. Как видите, чисто обычная работа с Android минимальна, поэтому производители настраивают AOSP под свои нужды. Так что вы мог прошейте это ПЗУ, которое мы только что создали, на ваше устройство, если хотите, но без добавления каких-либо улучшений чисто ванильный опыт Android был бы действительно очень скучным.
Итак, что производители обычно делают с AOSP, это форкуют его, добавляют свои собственные проприетарные двоичные файлы, настраивают пользовательский интерфейс, добавляют загрузочный логотип и т. Д. Производители в основном просто закрашивают стандартное ПЗУ Android, и это будет вашей следующей целью. .
Следите за обновлениями, поскольку во второй части этого руководства мы расскажем о добавлении шрифтов, тем и загрузочной анимации в ваш ROM!
5 минут на чтение