- Несколько способов заменить загрузочную анимацию в Android
- Телефон пишет: «Запуск Андроид, оптимизация приложения» и не включается. Что делать?
- Скачать Clean Master Lite для очистки кэша Андроид
- Бесконечная загрузка Android: почему она появляется и как её устранить?
- Делаем экран загрузки Android приложения правильно
- Что рекомендует Google
- Правильный Splash Screen
- Реализация Splash Screen
- Делаем это правильно
- Android. Автозапуск приложения при загрузке: теория и практика
- 1. Теория
- 2. Практика: ошибки и особенности эксплуатации
- 3. Отладка ресивера в эмуляторе и на реальных устройствах.
- Итоги
Несколько способов заменить загрузочную анимацию в Android
Вы давно уже поменяли стандартную тему на своем устройстве, установили новую оболочку системы типа SPB Shell или Regina Launcher и задумываетесь над тем, чем бы еще украсить свой телефон или планшет. А не хотите ли установить новую бутанимацию, или загрузочную анимацию, как ее еще называют?
Сегодня я представлю вам несколько способов как поменять загрузочную анимацию в Android.
Для начала, я хочу напомнить, что для того чтобы у вас появилась возможность установить новую загрузочную анимацию, вы должны иметь права доступа root на своем Android устройстве.
Что такое права доступа root в Android, для чего они нужны и как их получить, вы можете почитать в этой статье.
Замена загрузочной анимации в Android с помощью root файлового менеджера Root Explorer, SU File Manager или ES проводник
1. Скачайте из маркета и установите, любой из перечисленных выше файловых менеджеров.
2. Скачайте zip файл с загрузочной анимацией lдля вашего устройства, который обычно имеет имя bootanimation.zip
3. Скопируйте файл на SD карту памяти.
4. Если файл имеет другое имя, переименовать его в bootanimation.zip
5. Скопируйте файл bootanimation.zip
6. Перейдите в папку /system/media/ на вашем устройстве.
7. Переименуйте файл bootanmation.zip, который там находится в bootanimation.bak .
8. Вставьте файл bootanmation.zip в текущую папку
9. Перезагрузите телефон или планшет и насладитесь новой загрузочной анимацией.
У вас ничего не получилось? Попробуйте следующие варианты решения проблемы:
Скопируйте файл bootanimation.zip в папку /data/local/ или папку /system/customize/resource/
На некоторых устройствах файл с загрузочной анимацией может иметь другое имя, отличное от bootanimation.zip. Например, на HTC Desire HD этот файл называется VFAU_bootanimation.zip, или spc_bootanimation.zip в HTC EVO.
В таком случае, как вы уже, наверное, и сами догадались, нам нужно заменить эти файлы новым файлом с бутанимацией. Не забудьте только переименовать старый файл в .bak и назначить новому файлу такое же имя, которое было у старого файла.
Замена загрузочной анимации в Android c помощью эмулятора терминала
1. Скачайте и установите из маркета следующие два приложения:
Superuser
Android Terminal Emulator
2. Скачайте файл bootanimation.zip для вашего устройства и скопируйте его на карту памяти
3. Откройте приложение Terminal Emulator и перейдите в папку /system/media , введя следующие команды:
su
cd /system/customize/resource
После чего, для того, чтобы убедиться, что мы находимся в /system/media , можно ввести команду ls
Переименовываем старый файл:
mv bootanimation.zip bootanimation.bak
Теперь уже можно скопировать новый файл с загрузочной анимацией:
cp /sdcard/bootanimation.zip /system/media bootanimation.zip
Перезагружаем телефон или планшет:
reboot
Ваш телефон или планшет должен перезагрузиться. Если этого не произошло, перезагрузите его вручную.
Если этот метод не сработал, почитайте методы решения проблем из предыдущего способа и попробуйте в приведенных выше командах заменить папку
/system/media на папку /data/local или /system/customize/resource
Как заменить бутанимацию в Android через загрузочное меню восстановления вашего устройства
1. Скопируйте файл с бутанимацией для вашего устройства bootanimation.zip на карту памяти
2. Перезагрузитесь в меню восстановления
3. Выберите пункт «Flash ZIP from sdcard«
4. Выберите и прошейте .zip файл с загрузочной анимацией
5. Перезагрузите устройство.
Как заменить загрузочную анимацию в Android с помощью ADB
1.Установите ADB, как описано в этой статье.
2.Подключите ваше устройство к компьютеру с помощью USB кабеля или через WiFi
3.Скачайте файл с бутанимацией для вашего устройства и переименуйте его в bootanimation.zip
4.Скопируйте файл в папку, где находится программа adb
5.Запустите командную строку и введите следующие команды:
adb remount
adb push bootanimation.zip /data/local/bootanimation.zip
adb reboot
Как вы уже догадываетесь, возможно придется вместо /data/local ввести /system/media или /system/customize/resource
Источник
Телефон пишет: «Запуск Андроид, оптимизация приложения» и не включается. Что делать?
На некоторых телефонах пользователи, в свое время включавшие РУТ-права, иногда сталкиваются с такой проблемой: при запуске телефон пишет сообщение «Запуск Андроид, оптимизация приложения» и при этом не не включается. Что делать в таких случаях? Иногда придется просто подождать, причем ощутимо долго (до 30 минут) — пока не пройдет вся запланированная синхронизация, которую впоследствии надо будет отключить.
Если телефон все-таки загрузился после синхронизации — рекомендуем почистить кэш. Именно в неправильном функционировании кэша на Андроиде заключается данная проблема. Самым удобным способом будет это сделать через установку бесплатного приложения с Гуггл Плей Маркета: Clean Master Lite. Это если у вас после долгих раздумий все же запустился телефон.
Скачать Clean Master Lite для очистки кэша Андроид
Если у вас нет под рукой интернета или есть другие проблемы, препятствующие очистке кэша через приложение — проделайте это вручную, запустив режим восстановления на Андроид.
1. Выключаем телефон,
2. Зажимаем и держим кнопку «Включение» и нижнюю кнопку «Громкость»,
3. Дожидаемся появления меню восстановления и выбираем пункт «Recovery», кнопками управления звуком,
4. Далее в меню появится строка «Нет команды»,
5. Нажимаем на кнопку «Включения» и в новом меню выбираем пункт «Wipe cache partition»
6. Перезагружаем телефон, выбирая пункт «Reboot system now».
Если действия, описанные в этом руководстве не помогли и телефон все так же при включении пишет: «Запуск Андроид, оптимизация приложения» и при этом не запускается — потребуется процедура сброса к заводским настройкам. Она затронет данные в вашем телефоне — помните это. Так что заблаговременно создайте резервную копию содержимого своего телефона.
Источник
Бесконечная загрузка Android: почему она появляется и как её устранить?
Владельцы смартфонов и планшетов на базе Android иногда сталкиваются с проблемой «бутлупа» — из-за неё загрузка операционной системы на устройстве останавливается на начальном этапе. Самый главный признак бутлупа — на экране всё время показан логотип загрузки Android и больше ничего не происходит, устройство не запускается, и работать с ним нельзя. Почему так происходит и как можно устранить эту проблему?
Причины появления бутлупа могут быть разнообразные:
— Повреждение накопителя или сбой данных в операционной системе из-за программной ошибки.
— Физическое повреждение любого компонента устройства (например, водой или электрическим шоком)
— Ошибка при установке официального обновления Android.
— Ошибка при установке кастомной сборки Android.
— Вирус, проникший в область загрузчика или операционную систему.
Чаще всего бутлуп появляется из-за ошибок, возникающих при установке обновления операционной системы, но также бывает комбинированная проблема — к примеру, когда апдейт установился на повреждённый накопитель или вирус «сожрал» часть системных файлов, которые должны были установиться вместе с новой прошивкой.
К сожалению, не существует способа, который позволил бы определить, что вашему смартфону или планшету угрожает бутлуп — вы узнаете о том, что на нём были ошибки только после того, как это случится.
Как решить проблему бутлупа?
Если бутлуп появился на смартфоне после установки официального обновления, самый оптимальный вариант — отнести его в магазин и потребовать ремонт. Если гарантия ещё действует, это будет бесплатно, а если смартфон старый, то смартфон нужно нести в СЦ и ремонтировать за деньги.
Будьте готовы, что СЦ при восстановлении устройства сотрёт все ваши данные на нём, так что заранее позаботьтесь об их резервном хранении. Кроме того, СЦ может попросить у вас пароль от аккаунта Google. Предоставьте его только в том случае, если вы уверены, что к этому аккаунту не привязаны какие-либо «чувствительные» данные (банковские кабинеты, обнажённые фотографии и прочее).
Бутлуп, появившийся после установки кастомной прошивки, не покрывается гарантией, поэтому производитель не обязан бесплатно восстанавливать ваше устройство. В этом случае вы можете попытаться установить другую прошивку, следуя инструкции с того сайта, с которого вы её скачаете. Возможно, в первый раз вы скачали не те файлы (например, не для той модели или модификации устройства или не для той страны). Если у вас не получится самостоятельно восстановить операционную систему, обратитесь к знакомым, у которых есть опыт в подобных вещах, или опять же в сервисный центр.
Также учтите, что с бутлупом наверняка сталкивались другие пользователи той же модели устройства и наверняка на каком-нибудь сайте есть описание решения этой проблемы. Напишите в Google слово «brick» или «кирпич» и номер вашей модели. Как правило, процесс восстановления довольно прост: нужно зайти в рекавери и выполнить полный сброс операционной системы с затиранием разных областей операционной системы и загрузчика.
Источник
Делаем экран загрузки Android приложения правильно
Splash Screen (прим.: тут и далее — экран загрузки) просто отнимает ваше время, верно? Как Android разработчик, когда я вижу экран загрузки, я тут же представляю как некоторые плохие разработчики добавляют трехсекундную задержку в коде.
Я должен смотреть на какое-то изображение в течении нескольких секунд, и до тех пор я не могу использовать приложение. И я должен это делать каждый раз после запуска приложения. Я знаю какое приложение я запустил. Я знаю что оно делает. Просто позвольте мне использовать его!
Что рекомендует Google
Вы будете удивлены, узнав что сторонники Google используют Splash Screen. Это описано прямо вот тут, в спецификации к Material Design.
Так было не всегда. Google был против Splash Screen, и даже назвал его анти-паттерном.
Правильный Splash Screen
Я считаю, что Google не противоречит сам себе. Старый совет и новые рекомендации хорошо сочетаются. (Тем не менее, все-таки не очень хорошая идея использовать экран загрузки который отнимает время пользователя. Пожалуйста, не делайте так)
Однако, Android приложениям требуется некоторое количество времени для запуска, особенно при холодном запуске. Существует задержка которую вы не можете избежать. Вместо того чтобы показывать пустой экран, почему бы не показать пользователю что-то хорошее? Именно за этот подход Google и выступает. Не стоит тратить время пользователя, но не показывайте ему пустой, ненастроенный раздел приложения, когда он запускает его впервые.
Если вы посмотрите на последние обновления Google приложений, вы увидите подобный способ использования экрана загрузки. Например, взгляните на приложение YouTube:
Количество времени, которые вы тратите на просмотр Splash Screen, точно соответствует количеству времени, которое требуется приложению для запуска. При холодном запуске, это означает что Splash Screen будет виден дольше. А если приложение уже закэшировано, заставка исчезнет почти сразу.
Реализация Splash Screen
Реализация Splash Screen правильным способом немного отличается от того что вы можете себе приставить. Представление Splash Screen, который вы видите, должно быть готово немедленно, даже прежде чем вы можете раздуть (прим.: inflate) файл макета в вашей Splash Activity (прим.: Activity — активность, деятельность).
Поэтому мы не будем использовать файл макета. Вместо этого мы укажем фон нашего Splash Screen в фоне темы своей Activity. Для этого, сначала необходимо создать XML drawable в res/drawable.
Здесь я задал цвет фона и изображение.
Дальше, вы должны установить этот drawable в качестве фона для темы вашего Splash Screen Activity. Перейдите в файл styles.xml и добавьте новую тему для Splash Screen Activity:
В вашей новой SplashTheme установите в качестве фона ваш XML drawable. И установите эту тему в своей Splash Screen Activity в вашем AndroidManifest.xml:
И, наконец, ваш класс SplashActivity должен перенаправить вас в ваше основное Activity:
Обратите внимание, что вы не настраивает вид для SplashActivity. Представление берется непосредственно из темы. Когда вы задаете вид вашей Splash Screen Activity через тему, он доступен немедленно.
Если у вас есть файл макета для вашей Splash Activity, он будет показан только после того как ваше приложение будет полностью инициализировано, а это что очень поздно. Ведь мы хотим чтобы Splash Screen отображался только небольшой промежуток времени, до того как приложение будет инициализировано.
Делаем это правильно
Как только шаги выше завершены, вы получите Splash Screen реализованный правильным путем:
Вооруженные этим знанием, заставьте ваш Splash Screen работать правильно. Не тратьте время пользователей попусту, но дайте им то, на что им будет приятно смотреть пока они ждут.
Источник
Android. Автозапуск приложения при загрузке: теория и практика
1. Теория
Взглянув на примеры из официального источника (например, этот и этот) и изучив рекомендации на сайте stackoverflow.com, можно выделить следующие правила:
- В манифесте в элементе «manifest» указать разрешение:
В манифесте в элементе «application» зарегистрировать ваш ресивер на прием сообщения ACTION_BOOT_COMPLETED:
Используйте правильное полное или относительное имя класса вашего broadcast-ресивера. В описании ресивера без необходимости не указывайте атрибуты «enabled», «exported» и т.д. Вполне достаточно настроек и атрибутов по умолчанию.
Код вашего broadcast-ресивера:
Если ваш ресивер используется только для сообщения ACTION_BOOT_COMPLETED, то проверка «if» не обязательна. Однако иногда разработчики используют один и тот же ресивер для разных сообщений. В этом случае фильтруйте сообщения, проверяя их внутри метода onReceive.
Приложение должно быть установлено на внутреннюю память. ОС Android устроена таким образом, что сообщение ACTION_BOOT_COMPLETED отправляется приложениям перед монтированием внешний памяти. Поэтому приложения, установленные на внешней памяти, никогда не получат это сообщение. Чтобы указать системе не устанавливать приложение на внешнюю память, в манифесте НЕ нужно прописывать для атрибута «@android:installLocation» значения «auto» или «preferExternal». По умолчанию, т.е. если этот атрибут не указан, ОС установит ваше приложение только на внутреннюю память. Однако согласно официальной документации лучше явно указать значение «internalOnly», чтобы у вас и других разработчиков не возникло искушение в будущем указать иное значение.
После установки или принудительной остановки (force stop) приложение должно быть запущено хотя бы один раз, чтобы система «запомнила» это приложение для отправки ему сообщения ACTION_BOOT_COMPLETED. Такое поведение было реализовано в версии Android 3.1 в целях безопасности. В чем суть? Все только что установленные приложения находятся в состоянии «stopped» (не путать с активити, т.к. ОС управляет этим состоянием у приложений и активити по-разному). В это же состояние приложение «уходит», когда пользователь в настройках телефона принудительно его останавливает. Пока приложение находится в таком состоянии, оно не будет запущено системой ни по какой причине (например, через ACTION_BOOT_COMPLETED), исключая, конечно же, запуск самим пользователем. Благодаря такому нововведению немалая часть«вирусни и троянцев» перестала работать, т.к. уже нет возможности запуститься автоматом после установки.
Исключение составляют системные приложения: см. замечание пользователя kolipass.
Особенности режима Fast boot в HTC-устройствах. Известно, что HTC-устройства не перезагружаются в классическом смысле, а используют так наз. режим Fast boot (это одна из форм гибернации), сохраняя состояние ОС на диск. Поэтому сообщение ACTION_BOOT_COMPLETED не отправляется системой, т.к. в действительности перезагрузка не происходит (см. здесь). Вместо ACTION_BOOT_COMPLETED система может отправить следующие сообщения:
В вашем приложении укажите в теге «receiver» кроме ACTION_BOOT_COMPLETED также вышеуказанные сообщения. Кроме этого необходимо прописать разрешение в дополнение к п.1:
2. Практика: ошибки и особенности эксплуатации
Разберем ошибки, которые совершают новички при настройке приложения и в коде.
- После установки или force stop приложение ни разу не запускалось (см. п.1.5).
Приложение установлено не на внутренней памяти, или пользователь вручную перенес его на внешнюю память (см. п. 1.4).
У некоторых разработчиков прием начинал работать, когда они указывали относительное имя класса ресивера.
Также некоторые разработчики, отлаживая приложение, в logcat не видели своих сообщений из ресивера. Используйте Toast для отладки:
Опечатки или несуществующие сообщения внутри тега ресивера:
Неправильное положение элементов в манифесте приложения:
- «uses-permission» должен быть указан только как прямой потомок элемента «manifest», не нужно его указывать/дублировать в теге «receiver»;
- тег «receiver» должен быть указан только как прямой потомок элемента «application».
Как было указано выше, некоторые устройства используют режим Fast boot. Можно попробовать в настройках телефона отключить этот режим или учесть п. 1.6.
В приложении нет ни одной активити, поэтому после установки у пользователя нет возможности хотя бы 1 раз запустить ваше приложение. Из-за этого сообщение ACTION_BOOT_COMPLETED не будет отправлено в ваше приложение.
Не ошибки, но все же: указаны лишние, не обязательные атрибуты в теге «receiver», например («uses-permission», «enabled», «exported»):
3. Отладка ресивера в эмуляторе и на реальных устройствах.
- В терминале выполните:
Далее, чтобы отправить ACTION_BOOT_COMPLETED всем приложениям, наберите в терминале:
Или для отправки ACTION_BOOT_COMPLETED конкретному приложению наберите в терминале:
В эмуляторе: установите ваше ПО, запустив его из студии. При этом студия соберет ваш проект, установит приложение и запустит его. После этого закройте эмулятор (это аналогично выключению на реальном устройстве). Чтобы получить сообщение ACTION_BOOT_COMPLETED, запустите эмулятор из AVD-менеджера, а не с помощью кнопки «Run app» в тулбаре студии.
После запуска эмулятора во вкладке Android Monitor укажите запущенный эмулятор и ваше приложение, чтобы просмотреть логи logcat.
Итоги
Чтобы ваше приложение запускалось при загрузке на всех устройствах, манифест как минимум должен выглядеть так:
Код ресивера, как правило, будет таким:
Надеюсь, эта статья поможет новичкам побороть «коварного врага» под названием «ACTION_BOOT_COMPLETED».
Источник