PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Софт > Бутанимация

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2013, 20:23   #1
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 49
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 669
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию Замена Splash экрана в Android

Предупреждение: данные действия вы выполняете на свой страх и риск! Неправильные действия могут привести к неработоспособности вашего устройства!

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

При загрузке андроида последовательно используется 3 экрана:

1) Splash (обычно логотип фирмы-производителя)
2) Logo (по умолчанию зелёный робот)
3) Анимация

На рутованном девайсе заменить анимацию -- самое простое (это файл bootanimation.zip, состоящий из серии зипованных PNG файлов).
Но я хотел получить п. 1 и п. 2 без перепрошивки и пересборки ядра. Как ни странно, оказалось, что заменить п. 1 проще.

Нужен SSH доступ к девайсу. Смонтированные ROM-имиджи находятся в папке /dev/mtd. Чтобы узнать какой из них за что отвечает пишем в шеле:

cat /proc/mtd

Мой медиаплеер Iconbit Toucan Nano выдаёт что-то вроде (ненужное опущено):

mtd0: logo
mtd1: boot
mtd2: system
mtd3: cache
mtd4: userdata
mtd5: ubootenv

Далее через SFTP (я использовал обычный Far Manager с установленным WinSCP плагином) копируем "файл" mtd0 в компьютер. У меня получился файл размером ровно 4 мб внутри которого безо всяких заголовков тупо лежал 24-битный стандартный BMP файл с логотипом Iconbit, а лишнее пространство было просто заполнено нулями (ну это же всё-таки дамп флэша).

Открыв файл в Фотошопе я не меняя разрешения отредактировал его так как хотелось и сохранил в формате 24 бит. Получилось около 1 мб. При помощи утилиты hiew заполнил пустое место нулями.

Для прошивки флэша из командной строки Андроида (т.е. линукса) используется утилита flash_image. В моём девайсе её не оказалось, но я нашёл её в инете и она чудным образом у меня заработала. )) Утилита во вложении.

flash_image имя_раздела путь/имя_файла

Записываемый файл нужно залить сначала на девайс, затем его и указываем, например:

flash_image logo /sdcard/logo/logo1.img

У меня была какая-то непонятность с записью во флэш. Если просто указываешь эту команду, она выполняется, но старые данные не стираются. Однако, если указать в качестве параметра какой-то короткий файл (например 600 кб), то утилита выдаёт ошибку, что файл якобы не найден (хотя он там есть), а в "файле" /dev/mtd/mtd0 после этого оказываются нули. Вот теперь уже можно записывать нужный нам файл. После записи можно проверить результат снова скопировав /dev/mtd/mtd0 на компьютер, там уже должны быть новые данные.

Далее пишем в шеле reboot и наслаждаемся новым Splash-экраном. ))

Часть 2 (лого) находится во втором разделе (boot), но там свой формат, его нужно сначала распаковать, а затем корректно пересобрать. Если это сделать неправильно, можно превратить девайс в "кирпич".
Вложения
Тип файла: rar flash_image.rar (4.8 Кб, 1320 просмотров)

Последний раз редактировалось AngelOfGrief; 13.05.2013 в 19:14.
AngelOfGrief вне форума   Ответить с цитированием
Старый 12.05.2013, 21:14   #2
tsynik
Старший Пользователь
 
Регистрация: 17.03.2011
Город: Moscow
Регион: 77, 97, 99, 177
Машина: Alfa Romeo
Сообщений: 322
tsynik has a spectacular aura abouttsynik has a spectacular aura abouttsynik has a spectacular aura about
По умолчанию

Добавлю, по своим экспериментам с лого, что иногда нужно так же удалять первые несколько байтов заголовка BMP, и оставлять только RAW данные изображения, чтобы все было красиво. Иначе первые несколько пикселей будут мусором (у меня было заметно на черном фоне). В остальном все верно. Еще, форматы BMP в разных устройствах разнятся, но как правило это 24bit R8 G8 B8. Так же, logo бывает зашито в uboot.
tsynik вне форума   Ответить с цитированием
Старый 12.05.2013, 21:45   #3
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 49
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 669
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

Я теперь пытаюсь понять что находится внутри boot.img чтобы убрать "зелёного робота". По описанию в инете там должно быть ровно 2К системной инфы, а затем image рам-диска с заголовком 00 00 00 00 1F B8. Но у меня там ничего такого нет... Непонятно.
AngelOfGrief вне форума   Ответить с цитированием
Старый 12.05.2013, 22:25   #4
wave_is
Гуру
 
Регистрация: 28.12.2009
Возраст: 40
Регион: Украина
Сообщений: 1,084
wave_is will become famous soon enough
По умолчанию

хорошая работа.
но я считаю что карпк должен слипнуть/просыпаться, а не загружаться при подачи питания.
wave_is вне форума   Ответить с цитированием
Старый 13.05.2013, 00:40   #5
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 49
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 669
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

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

А мой девайс загружается быстрее чем за 1 мин. По-моему, нормально...
AngelOfGrief вне форума   Ответить с цитированием
Старый 13.05.2013, 07:52   #6
kristal0211
Старший Пользователь
 
Регистрация: 14.02.2013
Возраст: 38
Город: Сургут
Регион: 86
Машина: Chevrolet Sonic
Сообщений: 338
kristal0211 is on a distinguished road
По умолчанию

Эх, вот бы на Nexus 7 такое замутить, очень хочется убрать Logo.
kristal0211 вне форума   Ответить с цитированием
Старый 13.05.2013, 09:39   #7
wave_is
Гуру
 
Регистрация: 28.12.2009
Возраст: 40
Регион: Украина
Сообщений: 1,084
wave_is will become famous soon enough
По умолчанию

Цитата:
Сообщение от AngelOfGrief Посмотреть сообщение
Ну это нужно сложнее тогда реализовывать. А что если машина брошена дней на 7? На месяц? Помимо слипа нужно тогда делать и полное отключение при более длительном простое. В штатных навигациях так и делается.

А мой девайс загружается быстрее чем за 1 мин. По-моему, нормально...
я часто на месяц машину не бросаю.
за ночь слипа у меня теряется 2%, за сутки тогда порядка 5, за неделю 35
полное отключение произойдет само при просадке родной батареи или если интеграция без батареи, то лучше всегда вешать АКБ машины через умный БП

но это все конечно холивар.

Реально согласен, обе позиции имеют право на жизнь
wave_is вне форума   Ответить с цитированием
Старый 13.05.2013, 10:20   #8
kristal0211
Старший Пользователь
 
Регистрация: 14.02.2013
Возраст: 38
Город: Сургут
Регион: 86
Машина: Chevrolet Sonic
Сообщений: 338
kristal0211 is on a distinguished road
По умолчанию

Кто сможет такое сварганить для Nexus 7, тут владельцев очень не мало, и думаю это многим понадобиться, дабы полностью сделать вид в авто, законченного продукта.
kristal0211 вне форума   Ответить с цитированием
Старый 13.05.2013, 10:29   #9
MaLiVer
Новый Пользователь
 
Регистрация: 25.08.2012
Возраст: 37
Город: Тюмень
Регион: 72
Машина: mazda 6
Сообщений: 23
MaLiVer is on a distinguished road
По умолчанию

Ну на Nexus 7 анимацию меняли в другой теме и это получалось. Осталось только знак андроида при старте
MaLiVer вне форума   Ответить с цитированием
Старый 13.05.2013, 10:48   #10
kristal0211
Старший Пользователь
 
Регистрация: 14.02.2013
Возраст: 38
Город: Сургут
Регион: 86
Машина: Chevrolet Sonic
Сообщений: 338
kristal0211 is on a distinguished road
По умолчанию

Цитата:
Сообщение от MaLiVer Посмотреть сообщение
Ну на Nexus 7 анимацию меняли в другой теме и это получалось. Осталось только знак андроида при старте
Там меняли, но путем пересборки ядра, что очень не безопасно. Здесь я так понял белее гуманный способ.
kristal0211 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 02:31.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot