- Com android system apk
- Как работает SystemUI в Android
- Данное приложение выполняет весьма важные функции:
- Запуск SystemUI
- Регулирование громкости
- RingtonePlayer
- PowerUI
- Задачи
- Главные функции:
- Экран блокировки
- Панель уведомлений
- Путеводитель по системным утилитам для ОС Android, часть 2
- MyDroid System Info
- Gemini App Manager
- Quick System Info
- Заслуживают упоминания
- Permissions Explorer
- System Info Droid
- Uninstaller
- System app remover (Root)
Com android system apk
Краткое описание:
Техническая информация о системе и телефоне.
Описание:
Приложение выводит различную внутреннюю техническую информацию о телефоне (процессор, сенсоры и т.д.) и об операционной системе Android
Некоторая информация специфична для конкретной ОС.
Русский язык: Да
Сообщение отредактировал vovanKARPO — 15.07.17, 11:08
Обновлено до версии 0.7
Скачать: com.electricsheep.asi.apk ( 61.41 КБ )
Изменения в версии 0.7
— Добавлена информация об использовании места (Кэш загрузки, данные, память на карточке)
Обновлено до версии 0.7.1
Скачать: com.electricsheep.asi.apk ( 62.13 КБ )
Изменения в версии 0.7.1
— неизвестно
Обновлено до версии 0.8
Скачать: com.electricsheep.asi.apk ( 68.3 КБ )
Изменения в версии 0.8
— Добавлен вывод лога (logcat)
Обновлено до версии 0.9
Скачать: com.electricsheep.asi.apk ( 69.13 КБ )
Изменения в версии 0.9
— Добавлена информация об аккумуляторе
Прога обновилась до версии 0.9.2:
Обновлено до версии 1.0.0
Скачать: com.electricsheep.asi.apk ( 102.3 КБ )
Изменения в версии 1.0.0
— Существенно изменен интерфейс
— Добавлен информационный экран (dashboard)
p.s. Обновил картинки в шапке.
Обновлено до версии 1.1.0
Скачать: com.electricsheep.asi.apk ( 117.65 КБ )
Изменения в версии 1.1.0
— Исправлен баг с отображением списка приложений (должен помочь избежать fc на Android 2.x/ Motorola Droid)
Сообщение отредактировал cocobot — 19.01.10, 11:03
Обновлено до версии 1.1.1
Скачать: com.electricsheep.asi.apk ( 117.88 КБ )
Изменения в версии 1.1.1
— Исправлен баг с отображением количества памяти
— Добавлено отображение минимального значения памяти (Threshold RAM) в пункте System/Menory
Источник
Как работает SystemUI в Android
В этой статье я разберу архитектуру и принцип работы основного приложения Android — SystemUI. Меня заинтересовала эта тема, потому что мне интересно, как устроена система, которой пользуется такое огромное количество пользователей и для которой ежедневно выкатываются тысячи приложений в Google Play или просто на просторы интернета. Помимо этого меня интересует вопрос информационной безопасности Android и создаваемых под него приложений.
В системе Android, SystemUI — это приложение, путь к исходному коду которого находится в platform_frameworks_base/packages/SystemUI/, на девайсе оно находится в system/priv-app/-SystemUI.
priv-app — это каталог, где хранятся привилегированные приложения. К слову, по пути system/app лежат предустановленные приложения, а обычные приложения, которые мы устанавливаем на свой девайс самостоятельно, хранятся в data/app.
Тут сразу возникает вопрос: почему нельзя засунуть все предустановленные и привилегированные приложения в один каталог, зачем нужно это разделение?
Дело в том, что некоторые приложения более системные, чем другие:) И это разделение необходимо для того чтобы уменьшить покрытие эксплойтами системных приложений, для получения доступа к защищенным операциям. Можно создавать приложение, которое будет иметь специальный ApplicationInfo.FLAG_SYSTEM и в системе получит больше прав, однако apk файл с таким разрешением будет помещен в раздел system.
Итак, SystemUI — это apk-файл, который по сути своей обычное приложение. Однако, если посмотреть на сложное устройство SystemUI, перестает казаться, что это всего лишь простое приложение, верно?
Данное приложение выполняет весьма важные функции:
Запуск SystemUI
Как я и говорила выше, SystemUI не похож на обычное приложение, так что его запуск не сопровождается запуском активности, как это происходит у большинства приложений. SystemUI — это глобальный пользовательский интерфейс, который запускается во время процесса загрузки системы и не может быть завершен.
Если мы залезем в SystemServer, который является одним из двух столпов в мире Android (второй — Zygote, но об этом я расскажу как-нибудь в другой раз), то мы можешь найти место, где стартует SystemUI при загрузке системы.
Тут мы видим как запускается сервис SystemUI с помощью непубличного API startServiceAsUser. Если бы вы захотели использовать это, то вам пришлось бы обратиться к рефлексии. Но если вы решите использовать reflection API в Android — подумайте несколько раз, стоит ли это того. Подумайте раз сто:)
Итак, тут создается отдельный процесс для приложения и по факту каждый раздел SystemUI является отдельным сервисом или независимым модулем.
Метод start() вызывается для запуска каждой службы, которые перечислены ниже.
Регулирование громкости
Мы регулярно пользуемся кнопками громкости на своих устройствах, но не задумываемся какие процессы должны произойти в системе для того чтобы мы могли прибавить или убавить звук. Операция кажется довольно простой на словах, но если заглянуть в VolumeUI, который находится в подпапке SystenUI/volume, в разных режимах интерфейс имеет свою вариацию.
Я уже говорила о том, что сервисы SystemUI запускаются методом start(). Если мы посмотрим на класс VolumeUI, то он тоже наследуется от SystemUI.
Тут мы видим что с помощью mEnabled мы определяем, следует ли нам показывать панель с настройкой звука. И судя по VolumeDialogComponent, VolumeUI отображает звуковую панель в виде диалога. Но все действия относительно нажатия на клавиши громкости обрабатываются в PhoneWindow.
Насколько мы видим, KEYCODE_VOLUME_UP (+) не обрабатывается и перейдет в обработку KEYCODE_VOLUME_DOWN (-). И в обоих событиях, как в onKeyDown, так и в onKeyUp вызывается метод dispatchVolumeButtonEventAsSystemService.
Итак, тут у нас вызывается метод adjustVolume, для того чтобы мы могли проверить наш direction, которому будет присвоен параметр события.
В итоге когда мы доберемся до AudioService, где будет вызван sendVolumeUpdate, где помимо вызова метода postVolumeChanged, будет установлен интерфейс HDMI.
RingtonePlayer
RingtonePlayer в Android выполняет роль проигрывателя. Он так же наследуется от SystemUI и в методе start() мы видим:
Здесь у нас устанавливается mCallback, который по сути является экземпляром IRingtonePlayer.
В итоге можно управлять RingtonePlayerService с помощью Binder для воспроизведения звуковых файлов.
PowerUI
PowerUI отвечает за управление питанием и уведомлениями. Аналогично наследуется от SystemUI и имеет метод start().
Как мы видим из приведенного выше кода, происодит подписка на изменения Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, а после — вызов mReceiver.init().
Тут регистрируется широковещательный приемник, с помощью которого происходит отслеживание изменений.
Задачи
Recents — это основная и часто используемая функция в мобильных устройствах на базе Android.
Главные функции:
- Отображение всех задач
- Переключение между задачами
- Удаление задач
Помимо этого Recents так же наследуется от SystemUI. В RecentsActivity происходит создание и обновление последних задач, чтобы мы могли увидеть их на нашем экране.
А в с помощью RecentTaskInfo мы можем получить информацию о конкретной задаче.
Вообще, запущенные задачи можно вынести в отдельную тему. Я изучила ее со всех сторон, так как хотела размывать экран приложения перед переходом приложения в background, чтобы в RecentsTask отображалась нечитаемая версия снапшота. Однако, проблема заключается в том, что снапшот приложения берется раньше, чем вызывается onPause(). Эту проблему можно решить несколькими способами. Либо выставлять флаг, чтобы система просто скрывала содержимое экрана с помощью
О чем я говорила в предыдущей статье, посвященной как раз снапшотам.
Можно вообще сделать так, чтобы конкретная activity приложения не отображалось в задачах, проставив в манифесте
Либо можно воспользоваться хитростью с помощью
Можно задать основной активности выше приведенный флаг excludeFromRecents = true, для того чтобы ее экран отсутствовал в запущенных задачах, но во время загрузки приложения запустить отдельную задачу, которая будет показывать либо размытый скриншот с основной активности, либо любое другое изображение. Более подробно, как это можно сделать описано в официальной документации на примере Google Drive.
Экран блокировки
Keyguard уже посложнее всех вышеприведенных модулей. Он представляет из себя сервис, который запускается в SystemUI, а управляется при помощи KeyguardViewMediator.
Однако на самом деле KeyguardService самостоятельно не работает с интерфейсом экрана блокировки, он лишь передает информацию в модуль StatusBar, где уже и производятся действия относительно визуального вида экрана и отображения информации.
Панель уведомлений
SystemBars имеет довольно сложное устройство и структуру. Его работа разделяется на два этапа:
- Инициализация SystemBars
- Отображение уведомлений
Если посмотреть на запуск SystemBars
То мы видим ссылку на ресурс из которого читается имя класса и создается его экземпляр.
Таким образом мы видим что тут вызывается StatusBar, который будет работать с выводом уведомлений и UI.
Я думаю никто и не сомневался в том, что Android устроен очень сложно и заключает в себе много хитростей, которые описаны в огромном количестве строчек кода. SystemUI является одной из самых важных частей этой системы и мне понравилось изучать ее. Из-за того что материала на эту тему очень мало, если вы заметите какие-либо ошибки, прошу исправить меня.
Источник
Путеводитель по системным утилитам для ОС Android, часть 2
Основные участники обзора:
- MyDroid System Info
- Gemini App Manager
- Quick System Info
Также будут упомянуты:
- Permissions Explorer
- CPU-Z
- System Info Droid
- Uninstaller
- System app remover (ROOT)
MyDroid System Info
MyDroid System Info можно назвать весьма упрощенной версией Elixir 2 (см. предыдущую часть обзора). Здесь числится 4 раздела, это: просмотр системной информации, мониторинг системных ресурсов, информация о доступных сенсорах и журналы.
Рассмотрим более подробно ключевые возможности утилиты. В разделе Device доступна информационная сводка по компонентам устройства и ОС Android: характеристики процессора, экрана и графической подсистемы, свойства камеры и доступное пространство на карте памяти.
Далее следует системная панель (System dashboard). Посредством ее возможен мониторинг доступных системных ресурсов: процессора, памяти RAM, батареи, sd карты и внутренней памяти телефона, сетевых протоколов.
Достаточно наглядна информация по CPU. Помимо занятости процессора в процентах, на диаграмме показано распределение ресурсов. Для батареи отображается температура, напряжение, статус и другие характеристики, влияющие на энергопотребление. По другим компонентам информации не так много — в основном, это отсылки на стандартные средства Android.
Отдельно от системной панели, разработчики поместили раздел Sensors monitor. В нем также доступен просмотр показателей в реальном времени, для всех имеющихся в наличии датчиков Android.
Наконец, в разделе Logs отображается содержимое журнала logcat, который служит для выявления проблем в системе. Впрочем, по этой части возможности MyDroid System скромны: обновлять данные logcat нужно вручную, других файлов журнала нет, экспорт недоступен и т. д.
Резюме. MyDroid System Info можно использовать для получения сведений об устройстве и системе, анализа производительности и решения соответствующих проблем. Приложение не является универсальным, сравнимо с другими участниками обзора, и носит сугубо «справочный характер».
Gemini App Manager
Gemini App Manager — менеджер приложений для Android. Помимо основных функций, включает в себя следующие компоненты:
- Autorun Control — менеджер автозапуска
- App Firewall — файрволл
- Task Killer — диспетчер процессов
- Move app 2 SD card — перемещение приложений между sd картой и памятью телефона
- Создание резервных копий приложений.
В первую очередь, рассмотрим управление приложениями в Gemini App Manager. Менеджер приложений выдает полезную информации по установленным apk: название, размер установочного пакета, дата установки, расход памяти и нагрузка на CPU, расходуемый трафик.
Приложения можно деинсталлировать (используя пакетный режим), включая некоторые системные утилиты, используя root-полномочия. Помимо деинсталляции, в наличии функция блокировки нежелательных приложений, доступная через специальный модуль App Freezer. При блокировке, помимо собственно отключения, приложение удаляется из общего списка на домашнем экране. Сетевые потребности приложения также могут быть ограничены через файрволл. Таким образом, можно запретить использование 2G/3G и Wifi.
Дополнительно, при управлении приложениями можно отметить следующие удобства: поиск, сортировка списка и просмотр операций в журнале.
Диспетчер задач, он же «тасккиллер», выгружает процессы из RAM, освобождает память, снижая потребление трафика и расход батареи. Возможна выборочная и принудительная остановка процессов. В нижней части строки с приложением, отображаются значки с пометкой, какие ресурсы использует программа: например, функции телефонии, чтение SIM, отправка SMS, почты и т. д. В статусной строке доступны сведения о занятом и свободном пространстве. На верхней панели, при выделении строки, доступны всевозможные пакетные операции.
Команды контекстного меню относятся к другим разделам и доступны отовсюду: можно убить процессы, перенести приложение на sd карту, добавить в исключения файрволла, сделать резервную копию.
Менеджер автозапуска доступен в платной версии Gemini App Manager. Через него пользователь может включить / отключить фоновые приложения, которые запускаются вместе с системой.
Помимо прочего, в Gemini имеется экспертный режим. Он доступен только в платной версии приложения и, в частности, предусматривает расширенный фильтр и сортировку приложений по имени, потреблению RAM, нагрузке на процессор, времени установки, правам доступа и прочим аспектам.
Помимо участника обзора, о котором идет речь, у разработчика Seasmind есть схожие по функциональности приложения. Это:
- Gemini Taskiller Widget — виджет для оптимизации RAM
- Gemini Installer & Clear — установка и очистка приложений
- Gemini Live Logcat — просмотр отчетов в ОС Android.
Резюме. Gemini App Manager содержит необходимый перечень функций для управления приложениями: ограничение доступа и блокировка, деинсталляция, перенос на SD карту и резервное копирование. Кроме того, может быть полезен диспетчер задач и другие утилиты, входящие в состав App Manager.
Quick System Info
Утилита Quick System Info предназначена для системного мониторинга Android, просмотра информации о приложениях, процессах и сетевых подключениях.
В разделе «Основная информация» можно получить сведения о процессоре, памяти, SD-карте и других компонентах устройства. Ниже по списку — информация о батарее, сенсорах, устройствах ввода и usb-. Программа устроена так, что все базовые характеристики выводятся в строке, а по ее нажатию, в отдельном окне, доступны более детальные сведения.
Что касается раздела «Приложения», то здесь можно узнать не только размер и дату установки apk-пакета, но и практически все системные данные о приложении, для чего предназначено контекстное меню. Управление приложениями, нужно отметить, реализовано не совсем стандартно. При выделении элементов в пакетном режиме, в нижней строке Quick System Info появляются кнопки с функциями: E, U, S, X. Неочевидно, но привыкнуть нетрудно.
В разделе «Процессы» — соответствующие функции менеджера задач. Показывается расход процессора и RAM, можно просматривать задачи и управлять ими через список. Кстати говоря, мониторинг CPU и RAM можно перенести на панель уведомлений в виде виджета (функция Live Monitor).
Наконец, последний раздел Quick System Info предназначен для просмотра состояния трафика сетей 2G/3G и Wi-Fi.
Вкратце о других функциях Quick System Info PRO:
- Чистка кэша и истории приложений в один клик
- Создание резервной копии и восстановление
- Просмотр журналов dmesg / logcat
В pro-версии Quick System Info отображается баннер, для его отключения необходимо внести пожертвование в адрес разработчика.
Резюме. В первую очередь, приложение Quick System любопытно именно информационной составляющей. Удобно то, что вся наиболее важная информация находится «на поверхности», и для получения более детальных сведений достаточно нажать по интересующей строке. Управление приложениями и процессами реализовано несколько своеобразно и требует привыкания, однако все основные функции в наличии.
Заслуживают упоминания
Permissions Explorer
При установке любого приложения, имеет смысл проверять его разрешения, необходимые для работы. Однако может возникнуть ситуация, когда: а) в целях безопасности нужно «урезать» определенные права у всех приложений или удалить их; б) нужно проверить права у всех приложений сразу. Permissions Explorer как раз и позволяет пользователю решить эти рутинные задачи оптимальным образом.
Permissions Explorer условно можно отнести к системным утилитам-оптимизаторам. Хотя она и не позволяет вносить изменения, полученная информация о привилегиях может быть полезна при деинсталляции ненужных и небезопасных приложений.
При запуске, Permissions Explorer сканирует систему и систематизирует права доступа для всех приложений. Далее, полученную информацию можно просматривать по разделам: категории, приложения и разрешения. Такая компоновка позволяют лучше ориентироваться в целом и в частности, как распределены права между приложениями в ОС Android.
Перейдя в категории (раздел Categories), можно узнать, какие приложения запрашивают доступ к системным функциям, месторасположению, могут обратиться к функциям оплаты, календарю и т. д.
Также можно перейти к любому приложению (Applications) посмотреть разрешения сугубо для него. В свойствах указывается количество процессов и полный их перечень. Кроме того, при нажатии на определенное разрешение, доступно его описание и список приложений, которые также требуют аналогичных привилегий.
В крайнем разделе, Permissions, все разрешения выведены единым списком. Таким образом, если пользователь желает отключить доступ по заданным критериям, он может выбрать нужный параметр и перейти к списку приложений.
Нужно отметить, что Permissions Explorer работает только в режиме чтения. Соответственно, нельзя ограничить деятельность определенного приложения, а лишь проанализировать запросы и при необходимости деинсталлировать его самостоятельно.
Программа CPU-Z достаточно хорошо знакома пользователям настольных ОС. В данном случае, речь идет о приложении для Android с примерно той же основной задачей: предоставить всю информацию по процессору устройства: имя SoC (System On Chip — однокристальная система), архитектуру, частоту каждого ядра процессора.
В целом, утилита позволяет определить и другие параметры, куда входят:
- различная системная информация: версия ОС, название модели устройства, разрешение экрана, загруженность RAM и доступное пространство на карте памяти
- информация о батарее: уровень заряда, статус, напряжение, температура, емкость
- информация по сенсорам
Вся информация легко читается, доступна в виде текста — правда, экспортировать из CPU-Z ее нельзя. Приложение бесплатно и не содержит рекламы.
System Info Droid
System Info Droid предоставляет информацию по системе и всем компонентам устройства. Главная особенность приложения ¬— минимализм: пожалуй, это самый простой участник обзора, где все параметры собраны сплошным списком. В отличие от CPU-Z, в System Info Droid доступен экспорт отчетов на email.
В реальном времени можно узнать информацию по десяткам параметров, основные из них — это: информация о CPU, общие системные параметры, характеристики графики, аудио, память и RAM, разрешение экрана и камеры, температурные показатели, батарея и сенсоры.
Кроме того, в составе System Info Droid имеется виджет домашнего экрана. Он предназначен для мониторинга CPU: отображает температуру, частоту и загруженность процессора.
Uninstaller
Uninstaller — очень простое приложение с одной задачей — это пакетная деинсталляция приложений. В отличие от «универсалов», вроде Clean Master, здесь нет ни визуальных особенностей, однако и нет неуместных функций. Единственное неудобство — баннер, который отключается при покупке pro-версии.
Собственно, Uninstaller сразу же настроен на пакетный режим, нужно лишь отметить приложения для удаления. В помощь — поиск и сортировка (по имени, размеру и дате). Рядом с названием каждого приложения выводится дата установки и размер пакета.
System app remover (Root)
В функции System app remover входит деинсталляция системных и пользовательских приложений, перенос на sd карту или память телефона, управление apk-пакетами.
Как следует из названия, System app remover позволяет удалять системные приложения. В отличие от подобных инструментов, есть у менеджера свои особенности. Первая: при автоматической деинсталляции все удаляемые приложения резервируются, поэтому их можно восстановить в случае появления проблем. Второй момент: System app remover дает рекомендации по удалению, сортируя приложения по их важности. Имеется три соответствующих отметки:
- Could remove — можно удалить
- Should keep — необходимо оставить
- Key module — ключевой модуль.
При этом — уверяют разработчики — подобные заключения сделаны на основании тестирования «сотен устройств».
Что касается управления приложениями, то здесь все традиционно. Рядом с названием программы отображаются детальные сведения о приложении, можно сортировать список по этим же критериям: имени, расположению, размеру, времени установки и др.
Особенность переноса на sd карту — несколько приложений можно перенести на sd карту или наоборот — на телефон, причем в пакетном режиме.
Напоследок об управлении — APK. В System app remover реализована удобная работа с установщиками — аналогично работе с установленными приложениями. Можно искать пакеты и их дубликаты, перемещать, переименовывать и, наконец, устанавливать APK-приложения на телефон.
Источник