Как создать собственное ПЗУ из Android Source Project Pt. 2 —

В нашем предыдущем руководстве «Как создать Android-ROM из AOSP» мы рассмотрели основы — настройку Linux, среды сборки и сборку самых основных из Android-ROM. Это руководство покажет вам, как добавить аромат в ПЗУ, добавив пользовательскую загрузочную анимацию и системные темы. Наденьте свои перчатки, потому что все будет грязно.

Как создать загрузочную анимацию

Необходимые инструменты:

  • Фоторедактор, сохраняющий в формате .PNG (например, GIMP или Photoshop).

Предполагая, что вы хотите создать свою собственную пользовательскую анимацию загрузки, помните, что разрешение изображения должно соответствовать разрешению вашего устройства. Так что ваши изображения должны быть 720 х 1280, если у вас есть телефон с таким разрешением, например. Сохраните их как 32-битные файлы .PNG. Вам необходимо сохранить каждый кадр ваших изображений в соответствующих шагах:

00001.png
00002.png
00003.png

Количество анимационных кадров в загрузочной анимации не ограничено, но лучше всего использовать меньшее количество кадров в цикле. Например, CyanogenMod использует циклическую анимацию всего из нескольких кадров, а не одну длинную непрерывную анимацию.

Вам нужно создать две папки на рабочем столе — назовите их part0 а также part1. Если вы создаете что-то действительно модное, вы можете создать больше часть# папки. Это потому что part0 папка будет «вступлением» анимации, и part1 будут циклы кадров, и часть 2 может быть аутро, если вы решите это сделать. Так что думайте об этом так: ваше изображение исчезает на экране — эти кадры сохраняются в part0. Теперь ваше изображение вращается несколько раз — эти кадры сохраняются в part1. Теперь ваше изображение исчезает с экрана — эти кадры сохраняются в часть 2. Имеет смысл, верно?

Теперь то, что контролирует, как воспроизводится ваша анимация, это текстовый файл с именем «desc.txt». Desc.txt разбивается следующим образом:

720 1280 30
c 1 15 part0
c 0 0 part1
с 1 30 часть2

Вот что все это значит:

  • 720 1280 30 = разрешение (ширина х высота) + воспроизведение со скоростью 30 кадров в секунду. Вы также можете сделать 60 или 10 кадров в секунду.
  • C означает, что анимация будет продолжать воспроизводиться полностью и не прерываться, даже если ОС загружена. При желании вы можете использовать P вместо C, что прервет анимацию и сразу перейдет к ОС, когда она загружена, но это создаст уродливую загрузочную анимацию, которая никогда не воспроизводится полностью — если только вы не создадите анимацию с бесконечной петлей.
  • 1 — количество циклов, означающее, сколько раз будут воспроизводиться кадры в папке part # до перехода к следующей папке.
  • 15 показывает, как долго каждый кадр будет «останавливаться» перед переходом к следующему кадру. 15 — 0,5 секунды, потому что 15 — половина от 30.
  • Part # — это, очевидно, папка, которая воспроизводится.

По сути, вы хотите, чтобы ваш файл desc.txt читался так:
[тип] [количество циклов] [пауза] [путь]

Теперь создайте новый архив .zip и назовите его bootanimation.zip, затем перетащите в этот архив ваши папки desc.txt и part # в этот архив. Если вы следовали части 1 этого руководства, у вас будет WORKING_DIRECTORY на вашем компьютере с Linux. Вам необходимо скопировать свой bootanimation.zip в следующую папку:
выход / цель / продукт // система / медиа

Теперь в следующий раз, когда вы соберете свой ROM, ваш bootanimation.zip будет загрузочной анимацией по умолчанию для вашего ROM.

Установить обои по умолчанию

Перейдите в эту папку:
/ Каркасы / базовые / основные / RES / RES / ваше разрешение

Там вы найдете файл «default_wallpaper.jpg» — вы можете заменить его изображением с таким же разрешением и именем файла, и при сборке вашего ПЗУ это будут обои по умолчанию.

Добавить информацию о ПЗУ в Настройки> О программе

Перейдите к ./packages/apps/Settings/res/xml/ в папке дерева сборки.

Теперь откройте device_info_settings.xml с помощью GEdit и отредактируйте эту информацию по своему вкусу:

Android: включено =»ложь»

андроид: shouldDisableView =»ложь»

android: title = ”ROM name”

android: summary = ”Руководство по сборке ROM Appuals ROM” />

Android: включено =»ложь»

андроид: shouldDisableView =»ложь»

android: title = ”Номер сборки ROM”

Android: резюме =»7.0.1″ />

Настройте приложение Messenger

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

Перейдите к ./packages/apps/Messaging/ и откройте BugleApplication.java с GEdit. Мы собираемся сделать простую функцию тоста, то есть приложение будет отображать всплывающее сообщение при открытии приложения. Поэтому внутри файла BugleApplication.java найдите этот фрагмент кода:

импорт android.widget.Toast;

Найдите функцию onCreate () и добавьте следующие строки непосредственно перед Trace.endSection ():

Toast myToast = Toast.makeText (getApplicationContext (), «Appuals Rocks!», Toast.LENGTH_LONG); myToast.show ();

Сохраните файл, и теперь приложение мессенджера будет отображать это тост-сообщение каждый раз, когда приложение открывается на вашем ПЗУ!

Отредактируйте файл Build.Prop

Перейдите в папку / build / tools в исходной директории Android и отредактируйте файл buildinfo.sh с помощью текстового редактора. Он в основном содержит то, что будет выводиться в файл build.prop ПЗУ при компиляции ПЗУ, например, вы увидите в buildinfo.sh такие вещи, как:

echo «ro.build.date.utc = $ BUILD_UTC_DATE»
echo «ro.build.type = $ TARGET_BUILD_TYPE»
echo «ro.build.user = $ USER»
echo «ro.build.host =` hostname` »
echo «ro.build.tags = $ BUILD_VERSION_TAGS»
echo «ro.product.model = $ PRODUCT_MODEL»
echo «ro.product.brand = $ PRODUCT_BRAND»
echo «ro.product.name = $ PRODUCT_NAME»
echo «ro.product.device = $ TARGET_DEVICE»
echo «ro.product.board = $ TARGET_BOOTLOADER_BOARD_NAM E»
echo «ro.product.cpu.abi = $ TARGET_CPU_ABI»

Все, что вы здесь измените, будет скопировано в build.prop при компиляции ПЗУ. Прочтите это руководство Appual «Как редактировать Android Build.Prop с помощью основных настроек», так как оно покажет вам много полезных вещей для редактирования в файле buildinfo.sh.

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