Android data tools apk

Android data tools apk

Краткое описание:
Управляйте вашим смартфоном через интерфейсы ADB и fastboot
Описание:
Android Tool — мощная и красивая Open Source программа, созданная для облегчения использования популярных команд adb и fastboot. Темная тема, интуитивно понятный интерфейс и другие полезные функции

  • Пакетная или одиночная установка приложений (.apk)
  • Открытие, закрытие или удаление данных приложения
  • Отключение, включение или удаление системных приложений
  • Получение и сохранение в файл логов с вашего устройства
  • Установка кастомного recovery в fastboot или вайп разделов
  • Всегда самые свежие и актуальные ссылки на прошивки и всё что с ними связано
  • И не только 😉

Использование
Первый способ (рекомендуется)

  • Скачать программу .jar файл
  • Откройте его и нажмите кнопку «Install», чтобы загрузить SDK Platform Tools.
  • Наслаждайтесь

Второй способ (портативный)

  • Загрузите портативный zip-архив для вашей системы
  • Извлеките его
  • Откройте файл программы .jar и наслаждайтесь

Системные требования:

  • ОС (Windows (11, 10, 8.1, 8), Linux, MacOS)
  • JRE (Java Runtime Environment)

Русский интерфейс: Нет

Сообщение отредактировал fast_geek — 11.09.21, 00:30

Sanya ,
Поддержка будет, но как говорится когда неизвестно), если серьезно, то постараюсь в ближайшее время начать перенос, раз интересна такая тема

Сообщение отредактировал fast_geek — 31.07.20, 14:18

Тип: Новая версия
Версия: 0.8.5
Краткое описание: Новая версия Android Tool
Что нового:

  1. Добавлена кнопка выключения устройства (Adb)
  2. Изменён дизайн некоторых элементов для совместимости с шрифтами других систем
  3. Оптимизация кода и производительности
  4. Исправлены несколько ошибок

Про поддержку Linux
Начиная с версии 0.8.5 будет полная совместимость с Linux (Один и тот же .jar файл будет работать и на ОС Windows, и на Linux)
Для работы на Linux в терминале необходимо выполнить команды:

  • sudo apt-get install default-jre — установка jre, (выполнять, если не установлена)
  • sudo apt-get install android-tools-adb android-tools-fastboot — установка adb и fasboot, после этого достаточно извлечь Android_Tool.jar без дополнительных файлов и пользоваться

Тестирование приветствуется!

  • Обновлены неактуальные ссылки в разделе Links
  • Обновлены инструменты adb и fastboot
  • Исправлено несколько багов, а также изменены некоторые элементы для более удобного взаимодействия с ними
  • Рекомендую обновиться всем
    :thank_you: Тестирование приветствуется!

    Сообщение отредактировал fast_geek — 18.08.20, 16:42

    Источник

    Как устроен билд APK файла внутри

    Процесс создания APK и компиляции кода

    Рассматриваемые темы

    • Архитектура процессоров и необходимость для виртуальной машины
    • Понимание Java виртуальной машины
    • Компиляция исходного кода
    • Виртуальная машина Андроид
    • Процесс компиляции в .dex файл
    • ART против Dalvik
    • Описание каждой части билд процесса
    • Исходный код
    • Файлы ресурсов
    • AIDL файлы
    • Модули библиотек
    • AAR библиотеки
    • JAR библиотеки
    • Android Asset Packaging Tool
    • resources.arsc
    • D8 и R8
    • Dex и Multidex
    • Подписывание APK файла
    • Ссылки

    Понимание флоу процесса билда APK файла, среда исполнения и компиляция кода
    Этот пост нацелен быть отправной точкой для разработчиков, чтобы они ближе познакомились с билд процессом и созданием APK файла.

    Архитектура процессоров и зачем нужна виртуальная машина

    Андроид после того как вышел в 2007 году претерпел множество изменений связанный с билд процессом, средой исполнения и улучшениями производительности.

    У андроида много удивительных характеристик и одна из них разные архитектуры процессоров такие как ARM64 и x86

    Невозможно скомпилировать код, который поддерживает каждую архитектуру. Вот именно поэтому используется Java виртуальная машина.

    Понимание Java виртуальной машины

    JVM это виртуальная машина, позволяющая устройству запускать код, который скомпилирован в Java байткод

    Используя JVM, вы избавляетесь от проблемы с разной архитектурой процессоров.

    JVM предоставляет переносимость и она позволяет запускать Java код в виртуальной среде, вместо того, чтобы запускать его сразу «на железе»

    Но JVM была создана для систем с большими мощностями по ресурсам, а наш андроид имеет сравнительно мало памяти и заряда батареи.

    По этой причине Google создал адаптированную под андроид виртуальную машину, которая называется Dalvik.

    Компилируем исходный код

    Наш исходный Java код для андроида компилируется в класс файл .class с байткодом с помощью javac компилятора и запускается на JVM

    Для котлина есть kotlinc компилятор, который делает совместимый с Java байткод.

    Читайте также:  Создаем интерфейс для андроид

    Байткод — это набор инструкций, который выполняется на целевом устройстве.

    Java байткод — это набор инструкций для Java виртуальной машины.

    Андроид виртуальная машина

    Каждое андроид приложение работает на своей виртуальной машине. С версий 1.0 до 4.4, это был Dalvik. В андроид 4.4, вместе с Dalvik, Google представил в качестве эксперимента новый андроид runtime, который назывался ART

    Сгенерированный класс файл .class содержит JVM Java байткод.

    Но у андроида есть свой собственный оптимизированный формат байткода, который называется Dalvik bytecode — это просто инструкции машинного кода для процессора также как и JVM байткод.

    Комплияция в .dex файл

    Во время компиляции происходит конвертация .class класс файл и .jar библиотеки в один classes.dex файл, который содержит Dalvik байткод.

    Команда dx превращает все .class и .jar файлы в один classes.dex файл, который написан с форматом Dalvik байткода.

    Dex — это аббревиатура с английского — Dalvik Executable.

    ART против Dalvik

    C версии 4.4 андроид мигрировал на ART. ART также работает с .dex файлом.

    Преимущество ART над Dalvik проявляется в том, что приложения запускаются быстрее, потому что весь DEX байткод транслируется в машинный код во время установки, не нужно дополнительного времени на компиляцию в рантайме.

    ART и Dalvik совместимы, так что приложения разработанные для Dalvik должны работать и на ART.

    Компиляция Dalvik (JIT- just in time) имела такие минусы как — быстрая трата батареи, лаги в приложениях и плохой перформанс. В Dalvik трансляция происходит только когда это нужно. Мы открываем новый экран и только в этот момент происходит трансляция, за счет этого установка происходит быстрее, но при этом проседает перформанс.

    Это причина по которой Google сделал Android Runtime (ART).

    ART — основан на AOT (ahead of time) компиляции, она происходит до того как приложение запустится.

    В ART компиляция происходит во время установки приложения. Это ведет к более долгому времени установки, но уменьшает трату батареи и избавляет от лагов, которые были на Dalvik.

    Несмотря на то, что Dalvik был заменен на ART, .dex формат файлов еще используется

    В андроид 7.0 JIT вернулся. Гибридная среда сочетает фичи как от JIT компиляции так и
    от ART

    Среда запуска байткода это очень важная часть андроида и она вовлечена в процесс запуска и установки приложения

    Каждый этап описанного процесса

    Source Code (Исходный код)

    Это Java и Kotlin файлы в src пакете.

    Resource Files

    Файлы находящиеся в директории с ресурсами

    AIDL Files

    AIDL — аббревиатура Android Interface Definition Language, позволяет вам описать интерфейс межпроцессорного взаимодействия.

    AIDL — может использоваться между любыми процессами в андроиде.

    Library Modules

    Модули библиотек содержат Java или Kotlin классы, компоненты андроида и ресурсы.

    Код и ресурсы бибилотеки компилируются и пакуются вместе с приложением.

    Поэтому модуль библиотеки может считаться компайл тайм артефактом.

    AAR Libraries

    Андроид библиотеки компилируются в AAR — android archive файл, который вы можете использовать как зависимость для вашего android app модуля.

    AAR файлы могут содержать андроид ресурсы и файл манифеста, что позволяет вам упаковать туда общие ресурсы такие как layouts и drawables в дополнение к Java или Kotlin классам и методам.

    JAR Libraries

    JAR это Java библиотека и в отличие от AAR она не может содержать андроид ресурсы и манифесты.

    Android Asset Packaging Tool

    AAPT2 — аббревиатура (Android Asset Packaging Tool) — компилирует манифест и файлы ресурсов в один APK.

    Этот процесс разделен на два шага компиляцию и линковку Это улучшает производительность так как если вы поменяете один файл, вам нужно компилировать только его и прилинковать к остальным файлам командой ‘link’

    AAPT2 может компилировать все типы андроид ресурсов, таких как drawables и XML файлы.

    При вызове AAPT2 для компиляции, туда передается по одному ресурсному файлу на каждый вызов

    Затем APPT2 парсит файл и генерирует промежуточный бинарный файл с расширением .flat

    Фаза линковки склеивает все промежуточные файлы сгенерированные в фазе компиляции и дает нам на выход один .apk файл. Вы также можете сгенерировать R.java файл и правила для proguard в это же время.

    resources.arsc

    Полученный на выходе .apk файл не включает в себя DEX файл, APK не подписан и не может быть запущен на устройстве.

    APK содержит AndroidManifest, бинарные XML файлы и resources.arsc

    resource.arsc содержит всю мета информацию о ресурсах, такую как индексы всех ресурсов в пакете

    Читайте также:  Скрытое удаленное управление android

    Это бинарный файл и APK который может быть запущен. APK который вы обычно создаете и запускаете не сжат и может быть использован просто посредством размещения в памяти.

    R.java файл это выходной файл вместе с APK ему назначен уникальный id, который позволяет Java коду использовать ресурсы во время компиляции.

    arsc это индекс ресурса который используется во время запуска приложения

    D8 и R8

    Начиная с андроид студии 3.1 и далее, D8 был сделан дефолтным компилятором.

    D8 производит более маленькие dex файлы с лучшей производительностью, если сравнивать со старым dx.

    R8 используется для компиляции кода. R8 это оптимизированная версия D8

    D8 играет роль конвертера класс файлов в Dex файлы, а также производит дешугаринг функций из Java 8 в байткод, который может быть запущен на андроиде

    R8 оптимизирует dex байткод. Он предоставляет такие фичи как оптимизация, обфускация, удаление ненужных классов.

    Обфускация уменьшает размер вашего приложения укорачивая названия классов, методов и полей.

    Обфускация имеет и другие преимущества для предотвращения реверс инжиниринга, но основная цель уменьшить размер.

    Оптимизация уменьшает размер Dex файла путем переписывания ненужных частей кода и инлайнинга.

    С помощью дешугаринга мы можем использовать удобные фичи языка Java 8 на андроиде.

    Dex and Multidex

    R8 дает на выходе один DEX файл, который называется classes.dex

    Если количество методов приложения переваливает за 65,536, включая подключенные библиотеки, то произойдет ошибка при билде

    Источник

    Android data tools apk

    Platform-tools: r31.0.3
    ADB: 1.0.41 (31.0.3-7562133)
    Fastboot: 31.0.3-7562133
    Make_f2fs: 1.14.0 (2020-08-24)
    Mke2fs: 1.46.2 (28-Feb-2021)
    Последнее обновление утилит в шапке: 01.08.2021

    ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
    Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
    Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
    ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
    Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
    Официальная страница
    ADB позволяет:

    • Посмотреть какие устройства подключены и могут работать с ADB.
    • Просматривать логи.
    • Копировать файлы с/на аппарат.
    • Устанавливать/Удалять приложения.
    • Удалять (очищать) раздел data.
    • Прошивать (перезаписывать) раздел data.
    • Осуществлять различные скрипты управления.
    • Управлять некоторыми сетевыми параметрами.

    Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.

    Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.

    Скрытые команды ADB
    adb -d Команда посылается только на устройство подключенное через USB.
    Внимание: Выдаст ошибку, если подключено больше одного устройства.

    adb -e Команда посылается на устройство в эмуляторе.
    Внимание: Выдаст ошибку, если подключено больше одного эмулятора.

    adb -s Команда посылается на устройство с указанным серийным номером:

    adb -p Команда посылается на устройство с указанным именем:
    Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.

    adb devices Список всех подсоединенных устройств.

    adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).

    adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
    Если не задан ни один параметр, отключиться от всех активных соединений.

    adb push Копировать файл/папку PC->девайс.

    adb pull [ ] Копировать файл/папку девайс->PC.

    adb sync [ ] Копировать PC->девайс только новые файлы.
    Ключи:
    -l Не копировать, только создать список.

    adb shell Запуск упрощенного unix shell.
    Примеры использования

    adb emu Послать команду в консоль эмулятора

    adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
    Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
    Ключи:
    -l Блокировка приложения
    -r Переустановить приложение, с сохранением данных
    -s Установить приложение на карту памяти
    Установка split apk

    adb uninstall [-k] Удаление приложения с устройства.
    Ключи:
    -k Не удалять сохраненные данные приложения и пользователя.

    adb wait-for-device Ждать подключения устройства.

    adb start-server Запустить службу/демон.

    adb kill-server Остановить службу/демон.

    adb get-state Получить статус:
    offline Выключен.
    bootloader В режиме начальной загрузки.
    device В режиме работы.

    adb get-serialno Получить серийный номер.

    adb status-window Непрерывный опрос состояния.

    adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.

    Читайте также:  Андроид родительский контроль как подключить

    adb reboot bootloader Перезагрузка в режим bootloader.

    adb reboot recovery Перезагрузка в режим recovery.

    adb root Перезапуск демона с правами root

    adb usb Перезапуск демона, прослушивающего USB.

    adb tcpip Перезапуск демона, прослушивающего порт TCP.

    adb ppp [параметры] Запуск службы через USB.
    Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
    Параметры:
    defaultroute debug dump local notty usepeerdns

    FastBoot — консольное приложение для PC. Используется для действий над разделами

    fastboot devices Список присоединенных устройств в режиме fastboot.
    fastboot flash Прошивает файл .img в раздел устройства.

    fastboot erase Стереть раздел.
    Разделы: boot, recovery, system, userdata, radio
    Пример: fastboot erase userdata Стирание пользовательских данных.

    fastboot update Прошивка из файла имя_файла.zip

    fastboot flashall Прошивка boot + recovery + system.

    fastboot getvar Показать переменные bootloader.
    Пример: fastboot getvar version-bootloader Получить версию bootloader.

    fastboot boot [ ] Скачать и загрузить kernel.

    fastboot flash:raw boot [ ] Создать bootimage и прошить его.

    fastboot devices Показать список подключенных устройств.

    fastboot continue Продолжить с автозагрузкой.

    fastboot reboot Перезагрузить аппарат.

    f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
    Перед командами fastboot можно использовать ключи:
    -w стереть данные пользователя и кэш
    -s Указать серийный номер устройства.
    -p

    Указать название устройства.
    -c Переопределить kernel commandline.
    -i Указать вручную USB vendor id.
    -b Указать в ручную базовый адрес kernel.
    -n

    Указать размер страниц nand. по умолчанию 2048.

    Команду logcat можно использовать с машины разработки
    $ adb logcat
    или из удаленного shell
    # logcat Каждое сообщение лога в Android имеет тэг и приоритет
    Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
    Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
    V — Verbose (Низший приоритет).
    D — Debug
    I — Info
    W — Warning
    E — Error
    F — Fatal
    S — Silent (Наивысший приоритет, при котором ничего не выводится).

    Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / .
    Пример выводимого logcat сообщения:
    I/ActivityManager( 585): Starting activity: Intent

    Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит.
    Выражения фильтра имеют следующий формат : . где указывает нужный тэг, указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар : в одном выражении фильтра. Для разделения пар : используется пробел.

    Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
    adb logcat ActivityManager:I MyApp:D *:S
    Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).

    При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
    adb logcat *:W

    Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
    export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»

    Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
    Вышеописанная команда export работает в ОС *nix и не работает в Windows.

    Контроль формата вывода лога

    Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.

    brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
    process Показывать только PID.
    tag Показывать только приоритет/тэг.
    thread Показывать только процесс:поток и приоритет/тэг.
    raw Показать необработанное сообщение, без полей метаданных.
    time Показывать дату, время вызова, приоритет/тэг и PID процесса.
    long Показывать все поля метаданных и отдельно сообщения с пустыми строками.

    При запуске logcat можно указать формат вывода используя параметр -v:
    adb logcat [-v

    Источник

    Оцените статью