Бинарные файлы для андроида

Как обновить бинарный файл su на Андроид

вкл. 28 Сентябрь 2016 . Опубликовано в Android — Общее

Как обновить бинарный файл su на Андроид. Бинарный файл SU требует обновления. Обновить? Не получается обновить файл SU? Наш Сайт спешит к вам на помощь в решение данной проблеме!

Очень часто в последнее время у многих пользователей случается проблема которая появляется после получение Root прав — это не обновляется бинарный файл su, куча вопросов в сети Интернет и почти 0 решений, пора это исправить!

Теория

Зачем нужен этот файл su и зачем его обновлять? Файл su — это и есть root права, удалив его вы лишитесь прав SuperUser. Если не обновлять его, то возможны проблемы при выполнение операций необходимым Root. Чтобы не повторяться прочтите объемною статью все о root правах.

Хотя на самом деле все приложения будут работать нормально и без принудительного обновления Root так что можете просто расслабиться и не обращать внимание.

Способы решения SuperSU не удается обновить бинарный файл su

В идеале приложение SuperSu при запросе «Бинарный файл SU требует обновления. Обновить?» нажать кнопку «нормально«, то все отлично обновиться. Если это не так:

Способ 1

Если не удается обновить su установите recovery (если не установлено) — Как установить Recovery. После установки Recovery, снова зайдите в SuperSu и выберите способ обновления su через «CWM/TWRP», после этого Android перезагрузиться и произойдет обновление и снова смартфон или планшет загрузиться! Теперь бинарный файл su обновлен!

Если вы для вашего устройства не нашли Recovery, тогда придется немного сложным путем…

Способ 2

[Данный материал подразумевает что вы уже знаете файловую структуру Android] и работу с командой строкой.

Данный способ поможет протолкнуть обновление…

1. Архив updatesu.zip разархивировать и переместить папку updatersu на внутреннюю память Android или на карту памяти.

2. Запустить приложение Root Browser и зайти в папку updatersu и скопировать файлы — .has_su_daemonи .installed_su_daemon и install-recovery.sh в папку:

3. Теперь необходимо задать правильные права для этих файлов

Для файла .has_su_daemon

Для файла .installed_su_daemon

Для файла install-recovery.sh

Теперь переходим в папку:

4. Создаем папку .ext (точка ext)

5. Задать права для папки

6. Скопируйте файл su из папки

в папку которую только что создали (/system/bin/.ext)

7. Переименуйте файл su на .su (точка su)

8. Задайте права для файла .su

9. Запустите приложение Android Terminal

10. Наберите следующие команды

11. Перезагрузите Android и теперь попробуйте снова обновить бинарный файл su способом «Нормально» в приложение SuperSu.

Источник

Как открыть файл .bin файл на Андроиде?

Бывают ситуации, когда пользователям необходимо открыть файл формата «.bin» на Андроид смартфоне. Изначально система смартфона не позволяет открывать эти файлы для просмотра, поскольку это набор исполняемых команд для компьютера. В статье рассмотрим как можно просмотреть такой файл на Андроиде или с компьютера.

Читайте также:  Как создать тхт файл андроид

Что такое BIN формат?

Бин файл с расширением «.bin» на конце – это набор строк в бинарном формате, который состоит из одной или нескольких команд. Содержимое файла кодируется в привычный текст, но изначально идет в двоичном формате и состоит из нулей и единиц (0 и 1).

Обратите внимание, что запускать данный файлы может быть опасно, тем более на компьютерах. Если вы скачали что-то из Интернета – исполняемый файл может содержать угрозы и вирусы.
Если запустить такой файл в Windows – компьютер выполнит по очереди все команды записанные внутри. Обычно там содержатся ключи активации к программам, играм, различные «Кряки» и «Таблетки» к приложениям.

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

Как открыть .bin файл на телефоне?

Что бы увидеть содержимое файла можно попытаться открыть его в текстовом формате в блокноте на ПК или Андроид. Если у вас под рукой только смартфон. Понадобиться зайти в файловый менеджер (можно использовать встроенный в ваш смартфон):

  • Если загружали из интернета файл скорее всего лежит в папке «Загрузки» или «Downloads».
  • Найдите файл в памяти смартфона и нажмите «Еще» или иконку с тремя точками «…».
  • Затем выберите из списка «Открыть как» или «Открыть с помощью» или «Открыть как текст». Названия пунктов могут отличаться в зависимости от модели вашего смартфона.
  • Запустить данный файл прямо на смартфоне скорее всего НЕ ПОЛУЧИТСЯ, т.к. он предназначит для компьютера. Но просмотреть его содержимое вполне реально.

Лайфхак: если открыть через файловый менеджер не удается можно переименовать файл. Вместо расширения «имя_файла.bin» изменить на «имя_файла.txt». Мы получим текстовый файл, который можно открыть в любом текстовом редакторе и увидеть его содержимое. Затем измените расширение .txt обратно на .bin.

Второй способ

Если открыть БИН на смартфоне не получается или оказалось проблематично можно воспользоваться компьютером. Для этого достаточно перекинуть файл по USB кабелю на ваш ПК. Можно скопировать на любой диск или смартфон. Не запускайте файл двойным кликом! Сначала просмотрите его содержимое:

  1. Кликните правой кнопкой мыши по файлу.
  2. Наведите на пункт меню «Открыть с помощью».
  3. В выпадающем окне выберите вариант «Блокнот».

Открываем BIN файл на компьютере

Если вы хотели загрузить файлы игры или образ диска – вам понадобиться специализированная программа. Для Андроида таких программ нет, а для настольного пк можно выбрать одну из списка ниже:

Программы для просмотра и редактирования BIN файлов

Если возникла острая необходимость увидеть содержимое именно со своего смартфона – можно установить бесплатную программу для просмотра и редактирования БИН содержимого. В Google Play достаточно набрать в поисковой строке «Bin редактор», затем загрузить и установить любую программу. Можно использовать универсальный конвертер ISO Extractor или специальную утилиту BIN Opener.
Для большинства программ потребуется включить отладку по USB в настройках смартфона согласно документации.

Евгений Загорский

IT специалист. Автор информационных статей на тему Андроид смартфонов и IOS смартфонов. Эксперт в области решения проблем с компьютерами и программами: установка, настройка, обзоры, советы по безопасности ваших устройств. В свободное время занимается дизайном и разработкой сайтов.

Источник

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

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

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

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

Понимание флоу процесса билда 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

Читайте также:  Hotspot shield free для android

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

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

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 содержит всю мета информацию о ресурсах, такую как индексы всех ресурсов в пакете

Это бинарный файл и 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, включая подключенные библиотеки, то произойдет ошибка при билде

Источник

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