В какой тип упаковываются файлы packaging в ос android

Обновлено: 04.07.2024

Иногда некоторые приложения на Android чем-то не устраивают пользователя. В качестве примера можно привести назойливую рекламу. А то бывает и так — всем хороша программа, да только перевод в ней или кривой, или вовсе отсутствует. Или, например, программа триальная, а получить полную версию возможности нет. Как же изменить ситуацию?

Введение

В этой статье мы поговорим о том, как разобрать пакет APK с приложением, рассмотрим его внутреннюю структуру, дизассемблируем и декомпилируем байт-код, а также попробуем внести в приложения несколько изменений, которые могут принести нам ту или иную выгоду.

Чтобы сделать все это самостоятельно, потребуются хотя бы начальные знания языка Java, на котором пишутся приложения для Android, и языка XML, который используется в Android повсеместно — от описания самого приложения и его прав доступа до хранения строк, которые будут выведены на экран. Также понадобится умение обращаться со специализированным консольным софтом.

Итак, что же представляет собой пакет APK, в котором распространяется абсолютно весь софт для Android?

Декомпиляция приложений

В статье мы работали только с дизассемблированным кодом приложения, однако если в большие приложения вносить более серьезные изменения, разобраться в коде smali будет гораздо сложнее. К счастью, мы можем декомпилировать код dex в Java-код, который будет хоть и не оригинальным и не компилируемым обратно, но гораздо более легким для чтения и понимания логики работы приложения. Чтобы сделать это, нам понадобятся два инструмента:

Использовать их следует так. Сначала запускаем dex2jar, указывая в качестве аргумента путь до apk-пакета:

В результате в текущем каталоге появится Java-пакет mail.jar, который уже можно открыть в jd-gui для просмотра Java-кода.

Устройство APK-пакетов и их получение

Пакет приложения Android, по сути, является обычным ZIP-файлом, для просмотра содержимого и распаковки которого никаких специальных инструментов не требуется. Достаточно иметь архиватор — 7zip для Windows или консольный unzip в Linux. Но это что касается обертки. А что внутри? Внутри же у нас в общем случае такая структура:

  • META-INF/ — содержит цифровой сертификат приложения, удостоверяющий его создателя, и контрольные суммы файлов пакета;
  • res/ — различные ресурсы, которые приложение использует в своей работе, например изображения, декларативное описание интерфейса, а также другие данные;
  • AndroidManifest.xml — описание приложения. Сюда входит, например, список требуемых разрешений, требуемая версия Android и необходимое разрешение экрана;
  • classes.dex — компилированный байт-код приложения для виртуальной машины Dalvik;
  • resources.arsc — тоже ресурсы, но другого рода — в частности, строки (да-да, этот файл можно использовать для русификации!).

Перечисленные файлы и каталоги есть если не во всех, то, пожалуй, в абсолютном большинстве APK. Однако стоит упомянуть еще несколько не столь распространенных файлов/каталогов:

  • assets — аналог ресурсов. Основное отличие — для доступа к ресурсу необходимо знать его идентификатор, список asset’ов же можно получать динамически, используя метод AssetManager.list() в коде приложения;
  • lib — нативные Linux-библиотеки, написанные с помощью NDK (Native Development Kit).

Этот каталог используют производители игр, помещая туда движок игры, написанный на C/C++, а также создатели высокопроизводительных приложений (например, Google Chrome). С устройством разобрались. Но как же получить сам файл пакета интересующего приложения? Поскольку без рута с устройства забрать файлы APK не представляется возможным (они лежат в каталоге /data/app), а рутить не всегда целесообразно, имеется как минимум три способа получить файл приложения на компьютер:

  • расширение APK Downloader для Chrome;
  • приложение Real APK Leecher;
  • различные файлообменники и варезники.

Какой из них использовать — дело вкуса; мы предпочитаем использовать отдельные приложения, поэтому опишем использование Real APK Leecher, тем более что написан он на Java и, соответственно, работать будет хоть в винде, хоть в никсах.

Настройка Real APK Leecher

Настройка Real APK Leecher

Просмотр и модификация

Допустим, ты нашел интересующий тебя пакет, скачал, распаковал… и при попытке просмотра какого-нибудь XML-файла с удивлением обнаружил, что файл не текстовый. Чем же его декомпилировать и как вообще работать с пакетами? Неужели необходимо ставить SDK? Нет, SDK ставить вовсе не обязательно. На самом деле для всех шагов по распаковке, модификации и упаковке пакетов APK нужны следующие инструменты:

Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в Linux или Mac OS X, то тут есть инструмент под названием apktool. Он позволяет распаковывать ресурсы в оригинальный вид (в том числе бинарные XML- и arsc-файлы), пересобирать пакет с измененными ресурсами, но не умеет подписывать пакеты, так что запускать утилиту signer придется вручную. Несмотря на то что утилита написана на Java, ее установка достаточно нестандартна. Сначала следует получить сам jar-файл:

Далее нам понадобится скрипт-обвязка для запуска apktool (он, кстати, доступен и для Windows), включающий в себя еще и утилиту aapt, которая понадобится для запаковки пакета:

Далее просто сваливаем содержимое обоих архивов в каталог

/bin и добавляем его в $PATH:

Если же ты работаешь в Windows, то для нее есть превосходный инструмент под названиемVirtuous Ten Studio, который также аккумулирует в себе все эти инструменты (включая сам apktool), но вместо CLI-интерфейса предоставляет пользователю интуитивно понятный графический интерфейс, с помощью которого можно выполнять операции по распаковке, дизассемблированию и декомпиляции в несколько кликов. Инструмент этот Donation-ware, то есть иногда появляются окошки с предложением получить лицензию, но это, в конце концов, можно и потерпеть. Описывать его не имеет никакого смысла, потому что разобраться в интерфейсе можно за несколько минут. А вот apktool, вследствие его консольной природы, следует обсудить подробнее.

Импорт APK в Virtuous Ten Studio

Импорт APK в Virtuous Ten Studio

Рассмотрим опции apktool. Если вкратце, то имеются три основные команды: d (decode), b (build) и if (install framework). Если с первыми двумя командами все понятно, то что делает третья, условный оператор? Она распаковывает указанный UI-фреймворк, который необходим в тех случаях, когда ты препарируешь какой-либо системный пакет.

Рассмотрим наиболее интересные опции первой команды:

  • -s — не дизассемблировать файлы dex;
  • -r — не распаковывать ресурсы;
  • -b — не вставлять отладочную информацию в результаты дизассемблирования файла dex;
  • --frame-path — использовать указанный UI-фреймворк вместо встроенного в apktool. Теперь рассмотрим пару опций для команды b:
  • -f — форсированная сборка без проверки изменений;
  • -a — указываем путь к aapt (средство для сборки APK-архива), если ты по какой-то причине хочешь использовать его из другого источника.

Пользоваться apktool очень просто, для этого достаточно указать одну из команд и путь до APK, например:

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

Препарирование. Отключаем рекламу

Теория — это, конечно, хорошо, но зачем она нужна, если мы не знаем, что делать с распакованным пакетом? Попробуем применить теорию с пользой для себя, а именно модифицируем какую-нибудь софтину так, чтобы она не показывала нам рекламу. Для примера пусть это будет Virtual Torch — виртуальный факел. Для нас эта софтина подойдет идеально, потому что она под завязку набита раздражающей рекламой и к тому же достаточно проста, чтобы не потеряться в дебрях кода.

Поиск кода рекламы в jd-gui

Поиск кода рекламы в jd-gui

Итак, с помощью одного из приведенных способов скачай приложение из маркета. Если ты решил использовать Virtuous Ten Studio, просто открой APK-файл в приложении и распакуй его, для чего создай проект (File -> New project), затем в контекстном меню проекта выбери Import File. Если же твой выбор пал на apktool, то достаточно выполнить одну команду:

После этого в каталоге com.kauf.particle.virtualtorch появится файловое дерево, похожее на описанное в предыдущем разделе, но с дополнительным каталогом smali вместо dex-файлов и файлом apktool.yml. Первый содержит дизассемблированный код исполняемого dex-файла приложения, второй — служебную информацию, необходимую apktool для сборки пакета обратно.

Первое место, куда мы должны заглянуть, — это, конечно же, AndroidManifest.xml. И здесь мы сразу встречаем следующую строку:

Нетрудно догадаться, что она отвечает за предоставление приложению полномочий на использование интернет-соединения. По сути, если мы хотим просто избавиться от рекламы, нам, скорее всего, достаточно будет запретить приложению интернет. Попытаемся это сделать. Удаляем указанную строку и пробуем собрать софтину с помощью apktool:

В каталоге com.kauf.particle.virtualtorch/build/ появится результирующий APK-файл. Однако установить его не получится, так как он не имеет цифровой подписи и контрольных сумм файлов (в нем просто нет каталога META-INF/). Мы должны подписать пакет с помощью утилиты apk-signer. Запустили. Интерфейс состоит из двух вкладок — на первой (Key Generator) создаем ключи, на второй (APK Signer) подписываем. Чтобы создать наш приватный ключ, заполняем следующие поля:

  • Target File — выходной файл хранилища ключей; в нем обычно хранится одна пара ключей;
  • Password и Confirm — пароль для хранилища;
  • Alias — имя ключа в хранилище;
  • Alias password и Confirm — пароль секретного ключа;
  • Validity — срок действия (в годах). Значение по умолчанию оптимально.

Остальные поля, в общем-то, необязательны — но необходимо заполнить хотя бы одно.

Создание ключа в apk-signer

Создание ключа в apk-signer

WARNING

Чтобы подписать приложение с помощью apk-signer, ты должен установить Android SDK и указать полный путь до него в настройках приложения.

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

Теперь этим ключом можно подписать APK. На вкладке APK Signer выбираем только что сгенерированный файл, вводим пароль, алиас ключа и пароль к нему, затем находим файл APK и смело жмем кнопку «Sign». Если все пройдет нормально, пакет будет подписан.

Так как мы подписали пакет нашим собственным ключом, он будет конфликтовать с оригинальным приложением, а это значит, что при попытке обновить софтину через маркет мы получим ошибку.

Цифровая подпись необходима только стороннему софту, поэтому если ты занимаешься модификацией системных приложений, которые устанавливаются копированием в каталог /system/app/, то подписывать их не нужно.

Обычно авторы приложений создают специальные классы для вывода рекламы и вызывают методы этих классов во время запуска приложения или одной из его «активностей» (упрощенно говоря, экранов приложения). Попробуем найти эти классы. Идем в каталог smali, далее com (в org лежит только открытая графическая библиотека cocos2d), далее kauf (именно туда, потому что это имя разработчика и там лежит весь его код) — и вот он, каталог marketing. Внутри находим кучу файлов с расширением smali. Это классы, и наиболее примечателен из них класс Ad.smali, по названию которого нетрудно догадаться, что именно он выводит рекламу.

Мы могли бы изменить логику его работы, но гораздо проще будет тупо убрать вызовы любых его методов из самого приложения. Поэтому выходим из каталога marketing и идем в соседний каталог particle, а затем в virtualtorch. Особого внимания здесь заслуживает файл MainActivity.smali. Это стандартный для Android класс, который создается Android SDK и устанавливается в качестве точки входа в приложение (аналог функции main в Си). Открываем файл на редактирование.

Внутри находится код smali (местный ассемблер). Он довольно запутанный и трудный для чтения в силу своей низкоуровневой природы, поэтому мы не будем его изучать, а просто найдем все упоминания класса Ad в коде и закомментируем их. Вбиваем строку «Ad» в поиске и попадаем на строку 25:

Здесь происходит создание объекта. Комментируем. Продолжаем поиск и находим в строках 433, 435, 466, 468, 738, 740, 800 и 802 обращения к методам класса Ad. Комментируем. Вроде все. Сохраняем. Теперь пакет необходимо собрать обратно и проверить его работоспособность и наличие рекламы. Для чистоты эксперимента возвращаем удаленную из AndroidManifest.xml строку, собираем пакет, подписываем и устанавливаем.

Наш подопытный кролик. Видна реклама Он же, но уже без рекламы

Оп-па! Реклама пропала только во время работы приложения, но осталась в главном меню, которое мы видим, когда запускаем софтину. Так, подождите, но ведь точка входа — это класс MainActivity, а реклама пропала во время работы приложения, но осталась в главном меню, значит, точка входа другая? Чтобы выявить истинную точку входа, вновь открываем файл AndroidManifest.xml. И да, в нем есть следующие строки:

Они говорят нам (и, что важнее, андроиду) о том, что активность с именем Start должна быть запущена в ответ на генерацию интента (события) android.intent.action.MAIN из категории android.intent.category.LAUNCHER. Это событие генерируется при тапе на иконку приложения в ланчере, поэтому оно и определяет точку входа, а именно класс Start. Скорее всего, программист сначала написал приложение без главного меню, точкой входа в которое был стандартный класс MainActivity, а затем добавил новое окно (активность), содержащее меню и описанное в классе Start, и вручную сделал его точкой входа.

Открываем файл Start.smali и вновь ищем строку «Ad», находим в строках 153 и 155 упоминание класса FirstAd. Он тоже есть в исходниках и, судя по названию, как раз и отвечает за показ объявлений на главном экране. Смотрим дальше, идет создание экземпляра класса FirstAd и интента, по контексту имеющего отношение к этому экземпляру, а дальше метка cond_10, условный переход на которую осуществляется аккурат перед созданием экземпляра класса:

Скорее всего, программа каким-то случайном образом вычисляет, нужно ли показывать рекламу на главном экране, и, если нет, перескакивает сразу на cond_10. Ок, упростим ей задачу и заменим условный переход на безусловный:

Больше упоминаний FirstAd в коде нет, поэтому закрываем файл и вновь собираем наш виртуальный факел с помощью apktool. Копируем на смартфон, устанавливаем, запускаем. Вуаля, вся реклама исчезла, с чем нас всех и поздравляем.

  • Перевод приложений Android;
  • пример снятия триала с приложения.

Итоги

Эта статья лишь краткое введение в методы вскрытия и модификации Android-приложений. За кадром остались многие вопросы, такие как снятие защиты, разбор обфусцированного кода, перевод и замена ресурсов приложения, а также модификация приложений, написанных с использованием Android NDK. Однако, имея базовые знания, разобраться во всем этом — лишь вопрос времени.

Пакет приложения мы прописываем в визарде создания приложения.


Потом его можно найти в манифесте.


Он же по дефолту становится пакетом для Java-классов


Как-то не особо значимая цель .

Может быть он используется как-то еще? Оказывается да. Более того, пакет - это крайне важная вещь при создании приложения. Пакет является идентификатором приложения в системе. Т.е. когда вы устанавливаете приложение, система смотрит его пакет и ищет уже установленное приложение с таким пакетом. Если не нашлось, то все ок и приложение устанавливается.

А вот если нашлось, то тут в дело вступает механизм подписи приложения ключом, который мы рассмотрели на прошлом уроке. Система проверяет, если установленное и устанавливаемое приложения подписаны одним и тем же ключом, то, вероятнее всего, это означает, что оба приложения создал один автор. И устанавливаемое приложение является обновлением установленного, т.к. их пакеты и ключи одинаковы. Система устанавливает новое приложение, заменяя старое - т.е. обновляет старое.

Если же система определила, что приложения были подписаны разными ключами, то это значит, что приложения были созданы разными авторами, пакеты совпали случайно, и новое вовсе не является обновлением старого. В этом случае при установке нового, старое было бы заменено, а значит потеряно (а не обновлено), т.к. приложения абсолютно разные. И система не дает поставить новое приложение, пока не будет вручную удалено старое.

Проведем пару тестов. Я создам два приложения Package1 и Package2 с одинаковым пакетом.

Установлю первое. Оно появилось в списке.


Теперь не удаляя первое, установлю второе.

Первое исчезло. Осталось только второе.


Система решила, что второе является обновлением первого (т.к. пакеты и ключи совпадают), поэтому первое благополучно снесла и заменила вторым. Собственно, это и происходит при обычном обновлении.

Теперь подпишу Package2 другим ключом, чем оно было подписано изначально и попробую обновить через adb.


Параметр r здесь означает, что приложение надо переустановить, если оно уже существует.

Видим ошибку Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]. Система сверила ключи у установленного и устанавливаемого приложений, увидела, что они разные и решила, что это будет не обновление, а просто приложение от другого разработчика ломится с тем же пакетом. И вполне разумно решила не удалять имеющееся приложение, а предупредить пользователя, что не совпадают ключи.


Из вышесказанного можно сделать следующий вывод: ваш ключ, которым вы подписываете приложение ни в коем случае нельзя терять или давать кому-либо.

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

Если же вы ключ кому-то предоставите, то этот человек сможет сделать обновление для вашего приложения без вашего участия. И если этот человек имеет доступ и к вашей учетке разработчика в маркете, то он сможет залить туда свою версию вашего приложения.

Также не забывайте пароли от хранилища и от ключа. Это будет равносильно тому, что вы потеряли ключ. В общем, относитесь к вашим ключам со всей серьезностью.

И в конце урока небольшой ликбез. Пакет имеет еще одно значение. Как вы уже наверно заметили по вкладке Devices в Eclipse, пакет используется в качестве имени процесса, в котором запускается приложение. При этом, под каждое приложение система создает пользователя. Это позволяет разграничить доступ к данным. Каждое приложение запускается и работает со своими данными в отдельном процессе под отдельным пользователем. Соответственно, другие приложения не имеют к этим данным доступа, т.к. запущены под другими пользователями.

На следующем уроке:

- разбираемся с ViewPager

- в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

- ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

- новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме

Классический рисунок представляющий архитектуру ОС Android:

system-arch

Если кому-то сложно с английским, то на всякий случай то же самое по на русском:

a001


Сразу приведу оригинальное видео с канала Android Developers на Youtube, где все авторитетно рассказывается и показывается, правда на враждебном нам буржуйском языке. Я использовал это видео, чтобы описать некоторые пункты архитектуры, описания которых не нашел в сети на русском языке.

Если представить компонентную модель Android в виде некоторой иерархии, то в самом низу, как самая фундаментальная и базовая составляющая, будет располагаться ядро операционной системы (Linux Kernel).
Часто компонентную модель ещё называют программным стеком. Действительно, это определение тут уместно, потому что речь идет о наборе программных продуктов, которые работают вместе для получения итогового результата. Действия в этой модели выполняются последовательно, и уровни иерархии также последовательно взаимодействуют между собой.

LINUX KERNEL (ЯДРО ЛИНУКС)
Как известно, Андроид основан на несколько урезанном ядре ОС Linux и поэтому на этом уровне мы можем видеть именно его (версии 2.6.x). Оно обеспечивает функционирование системы и отвечает за безопасность, управление памятью, энергосистемой и процессами, а также предоставляет сетевой стек и модель драйверов. Ядро также действует как уровень абстракции между аппаратным обеспечением и программным стеком.

APPLICATIONS (ПРИЛОЖЕНИЯ)
На вершине программного стека Android лежит уровень приложений (Applications). Сюда относится набор базовых приложений, который предустановлен на ОС Android. Например, в него входят браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов и многие другие. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. И помимо этого базового набора к уровню приложений относятся в принципе все приложения под платформу Android, в том числе и установленные пользователем.
Считается, что приложения под Android пишутся на языке Java, но нужно отметить, что существует возможность разрабатывать программы и на C/C++ (с помощью Native Development Kit), и на Basic (с помощью Simple) и с использованием других языков. Также можно создавать собственные программы с помощью конструкторов приложений, таких как App Inventor. Словом, возможностей тут много.


Для загрузки игр и приложений на Андроид стоит понимать, что это — расширение APK. Android Package Kit — файловый формат, используемый для установки программного обеспечения на Android и включающий в себя его архивированные компоненты. Одного такого файла достаточно для инсталляции работоспособного приложения. АПК поддерживается не только платформой Android. С помощью специальных утилит открывать их можно на Windows, Linux или Mac.

APK файл

Предназначение АПК — быстрая инсталляция программного обеспечения. При его запуске поочерёдно распаковываются все компоненты из состава архива. Кроме того, они используются самими разработчиками, которые могут извлекать фрагменты приложения и работать с ними — редактировать, выполнять отладку и т.д.

Немного теории

Что такое apk на Android и как им пользоваться

  • Apk – это формат установочного пакета для операционной системы Android. Представляет собой один файл, в названии которого после точки написано apk.
  • Сам по себе файл является архивом, в котором лежит вся необходимая информация – это изображения, программный код и составляющие программы, как ей вести себя на таком-то таком-то устройстве и так далее.
  • Открыть файл можно с помощью обычного архиватора, а ещё лучше из тотал командера. Это для тех, кому особенно интересно посмотреть, что же находится внутри.
  • Файлы нужны для того, чтобы самостоятельно устанавливать сторонние приложения, которых или нет на маркете, или лень их там искать. Как устанавливать, смотрим и читаем ниже.

Что находится внутри APK файла?

Файлы в формате APK имеют четко определенную структуру.

  • META-INF:
    • MANIFEST.MF – файл с данными о других файлах, находящихся в данном архиве (контрольные суммы файлов);
    • CERT.RSA – сертификат, которым подписано приложение;
    • CERT.SF – файл с данными о сертификате и ресурсах;
    • armeabi – для процессоров ARMv6 и более старых;
    • armeabi-v7a – для процессоров ARMv7 и более новых;
    • x86 – для процессоров с архитектурой x86;
    • mips – для MIPS процессоров;

    Посмотреть содержимое APK файла очень просто и это может сделать любой желающий. Все что нужно сделать, это открыть APK файл любым архиватором. Например, вы можете использовать бесплатный архиватор 7Zip.

    Зачем мне нужно устанавливать APK файл?

    Приложения на Android не ограничиваются магазином Google Play Store. Сторонние разработчики выпускают собственные приложения в APK файлах, которые предлагают захватывающие возможности. Кроме того, некоторые приложения в Google Play Store нельзя установить в вашей стране. Однако вы можете скачать APK файл, и установить нужное приложение в обход Google Play Store.

    Если ваше Android устройство не имеет доступа к Google Play Store, APK файлы являются единственным вариантом для установки приложений.

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

    Где взять APK файл?

    Вы можете скачать и установить APK файл с магазина приложений Google Play. Также вы можете скачать APK с других сайтов, которые занимаются распространением программного обеспечения. Нередко APK файл можно скачать с сайта разработчика приложения.

    Как проверить APK на наличие вирусов?

    Существует множество ресурсов, позволяющих проверить APK на наличие вирусного содержимого, например, HackApp, VirusTotal или NVISO. Если вас беспокоит безопасность устройства при установке приложений из сторонних источников, советуем прочитать данную статью.

    Зачем может понадобиться установка файла APK?


    робот ждёт окончания загрузки файла

    В виде файла APK часто распространяются новые «сборки» операционной системы Android, которая пока недоступна для конкретной модели смартфона. Кроме того, случается, что некоторые приложения выходят только в определённых регионах, но не в вашем, поэтому загрузить их из Google Play Store нельзя. Даже за деньги. Единственный вариант — загрузка и установка APK обходным путём.

    Заходите к нам в Яндекс.Дзен, там есть много эксклюзивных публикаций!

    Зачастую проще скачать новейшую версию нужного приложения одним APK-файлом, в который уже интегрированы все обновления, чем ждать, пока они станут доступны через магазин приложений, а потом долго и нудно их оттуда выкачивать. Бывает и так, что вам не понравилась новая версия определённой программы, и вы, обновив её до последней версии, решаете, что раньше было лучше. В этом случае можно скачать нужную вам версию программы, упакованную в файл APK.

    Как проверить APK-файлы приложений для Android на вирусы

    Некоторые китайские устройства на Android не имеют доступа в Google Play Store. В этом случае получить и установить новое приложение можно только при помощи скачанного из стороннего источника файла APK. Случается, что пользователь нечаянно удаляет приложение Google Play Store. Чтобы загрузить его назад, также потребуется файл APK с этой программой.

    Стоит отметить, что при загрузке APK-файлов нужно соблюдать меры предосторожностей. Некоторые файлы APK могут содержать вредоносные программы, Malware и прочие неприятные и неочевидные «бонусы». Также следует избегать загрузки и установки пиратских версий программного обеспечения — это незаконно.

    Как понять, что на вашем смартфоне установлены вредоносные программы

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

    Как скачать и установить

    Самое большое хранилище АПК — это Play Market. Его особенность в том, что площадка не позволяет скачать на мобильное устройство сам файл, а сразу выполняет его инсталляцию, поэтому пользователю не приходится задумываться о том, как и чем открыть на Android APK

    Магазин Play Market

    Если пользователю необходим контент, которого нет на Google Play — отыскать АПК он сможет в Сети. Важно загружать их только с проверенных сайтов, иначе существует риск скачать вредоносное ПО или заразить технику вирусами.

    Найти в Сети APK и скачать его можно на компьютер, а затем перенести через кабель, Bluetooth или другим способом на телефон или планшет. Ещё одно решение — выполнить загрузку непосредственно в память мобильного устройства через его браузер.

    • Открыть настройки смартфона.
    • Перейти во вкладку «Безопасность».

    Вкладка Безопасность

    • Найти строку «Неизвестные источники» и активировать функцию, чтобы разрешить установку ПО из APK.

    Установка из неизвестных источников

    • В памяти телефона отыскать загруженный АПК и нажать на него для начала инсталляции.

    APK файл в памяти телефона

    Установка приложения

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

    Подготовка ОС Android

    Смартфон автоматически распознает любое приложение, поступившее не из Google Play, как «неизвестное приложение». Поэтому в настройках нужно разрешить установку из неизвестных источников.

    Сделать это достаточно просто. Перейдите в раздел настроек. Выберите «Безопасность» (или «Блокировка экрана и безопасность»). Найдите пункт «Администрирование устройства» и включите установку из неизвестных источников.

    ustanovka-neizvestnyx-prilozhenij

    После разрешения установки приложений из неизвестных источников понадобится найти APK-файл в смартфоне. Обычно на Android уже есть стандартный диспетчер файлов. Если же его нет, зайдите в Google Play и поищите приложения по ключевому словау «Диспетчер файлов». Появится много вариантов. Выберите любой из них или просто скачайте самый популярный — Cx File Explorer.

    Простой способ

    Самый простой способ установить APK на Android – это скачать его с помощью мобильного браузера. Найдите сайт, предлагающий приложение для Android. На нем вы увидите ссылку для скачивания. Может появиться всплывающее окно с вопросом, хотите ли вы разрешить браузеру сохранять файлы в хранилище смартфона. Ответьте согласием. Вы также увидите предупреждение о том, что «этот тип файла может повредить ваше устройство». Просто нажимайте «ОК» и продолжайте.

    apkpure-download-apk

    Если браузер смартфона не позволяет открыть файл после скачивания, откройте файловый менеджер и найдите папку Downloads. Нажмите на скачанный файл и разрешите приложению выполнить необходимые действия, которые оно запрашивает. Затем в нижней части окна нажмите кнопку «Установить».

    Вы увидите уведомление о том, что приложение установлено. После этого оно должно появиться в списке программ. Если же что-то не получилось, попробуйте воспользоваться другими способами.

    Способ средней сложности

    Если у вас нет доступа в интернет или по какой-то другой причине вы не можете использовать браузер, есть возможность установить приложение с настольного компьютера.

    С помощью браузера на компьютер скачайте APK. Затем подключите смартфон к компьютеру и скопируйте на него файл. Если раньше вы никогда не делали этого, нужно будет включить отладку по USB.

    Для этого выберите «Настройки», прокрутите вниз до пункта «Об устройстве» и семь раз нажмите «Номер сборки». Это откроет вам скрытое меню разработчика. Вернитесь в «Настройки», выберите «Параметры разработчика» и нажмите «Отладка по USB». Установите флажок напротив пункта «Отладка по USB».

    otladka-po-usb-android

    Теперь вы можете подключить смартфон к компьютеру при помощи USB-кабеля. Устройство должно определиться так же, как карта памяти или флешка. Переместите файл, скачанный с сайта, на смартфон. Вот что нужно сделать для этого:

    1. Найдите нужный файл на компьютере.
    2. Кликните по нему правой кнопкой мышки и выберите пункт «Копировать».
    3. Найдите на ПК смартфон, который отображается как съемный диск.
    4. Откройте его и найдите папку /sdcard/download.
    5. Скопируйте APK в эту папку.

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

    Если у вас нет USB-кабеля, можно установить WiFi FTP-Server из Google Play, а затем использовать FTP-клиент на компьютере для переноса файла. Но это более сложный вариант, USB-кабель обычно легче найти.

    Продвинутый способ

    Если по какой-либо причине установщик APK не запускается, когда вы нажимаете на него на смартфоне, можно прибегнуть к экстренному решению. В данном случае предполагается запуск APK Installer с Minimal ADB и Fastboot. Вы можете установить приложение на Android-устройство с компьютера, используя простой инструмент под названием Minimal ADB и Fastboot.

    Вам необходимо выполнить действия, описанные в предыдущем разделе, чтобы подключить смартфон к ПК. Затем скачайте и установите на компьютер последнюю версию Minimal ADB и Fastboot. Запустите инструмент, и откройте командную строку. После синхронизации смартфона с ПК введите команду:

    adb-devices

    Если программа обнаружит смартфон, то вы увидите его идентификатор в списке подключенных устройств.

    Теперь с помощью проводника Windows перейдите в папку Minimal ADB и Fasbtoot (обычно это C:Program Files (x86)Minimal ADB and Fastboot). Вставьте файл APK в эту папку. Можно переименовать файл, присвоив ему короткое название. Так его будет легче вручную вводить в командную строку.

    adb-install-name-of-file-apk

    Вернувшись в то же командное окно, которое вы открывали ранее, введите команду

    Как установить APK с Вашего Android устройства

    Для начала установки можно воспользоваться обычным браузером на смартфоне, при чём любого производителя.

    1. Запустить веб-обозреватель и найти файл на тематическом сайте.
    2. Начать загрузку элемента, о чём свидетельствует уведомление в верхней панели устройства.
    3. После завершения скачивания стоит открыть раздел «Загрузки» и коснуться APK-файла.
    4. В момент запуска система попросит разрешение, в котором нужно нажать на кнопку «Да».
    5. Дождаться окончания установки и наслаждаться программой.

    Как установить файлы APK с компьютера?

    Из-за обилия сайтов в сети, распространяющих APK-файлы, нужно предварительно проверить репутацию веб-ресурса и пользоваться одним или двумя из них, которым есть доверие. Подобное решение позволит значительно снизить риски для конфиденциальности данных и безопасности устройства. Один из доверенных сайтов – APK Mirror. Качать отсюда куда безопаснее, чем с других источников, но полной гарантии все равно нет. Обычно в случае обнаружения вирусов в файле, в комментариях и отзывах об этом есть заметка.


    1. Изначально нужно найти целевой файл на просторах интернета и загрузить его в удобное место для дальнейшего использования.
    2. Взять в руку смартфон и перейти в «Настройки», а затем «Безопасность». Здесь или в одном из подразделов нужно активировать пункт «Неизвестные источники», если этого не было сделано ранее. Действие позволит устанавливать приложения не из Google Play Store. В последних версиях Android не нужно устанавливать глобальный параметр, разрешающий инсталляцию из сторонних источников. Вместо этого в момент попытки установки появляется уведомление с предложение разрешить действие.
    3. Синхронизировать компьютер со смартфоном на базе Android, и выбрать режим «Мультимедийное устройство» или накопитель. Так ПК сможет работать с файлами на телефоне.
    4. Открыть новый диск с названием гаджета в Windows, а именно – в разделе «Этот компьютер».
    5. Скопировать APK-файл и положить в подходящую папку на Android-устройстве.
    6. На телефоне найти загруженный элемент через «Проводник» или файловый менеджер, коснуться его и выбрать опцию «Установить».

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

    Установка APK при помощи устройства на Android


    Samsung Galaxy S10 в руке

    Для установки файла APK обычно не требуется ничего, кроме самого планшета или смартфона на Android, в который и нужно установить ту или иную программу. Чтобы это сделать, следует немного подготовиться. Первым делом идём в Настройки и выбираем там вкладку «Безопасность». Далее ставим «галочку» в пункте «Разрешить установку приложений из неизвестных источников». Это позволит ставить приложения не только из магазина Google Play Store, но и из других источников. Как раз то, что нужно! В более новых версиях Android порядок действий может отличаться. Иногда система уже в процессе установки приложения из файла APK задаёт вопрос о том, разрешает ли пользователь это делать. Разрешить нужно, иначе ничего не получится.

    Теперь, когда подготовка завершена, нужно просто открыть браузер, найти нужный файл APK, загрузить его на устройство, а затем запустить его для установки приложения. Запоминайте, куда скачали файл. Обычно это папка «Загрузки», если перед скачиванием не был выбран другой путь. Найдя загруженный файл, достаточно просто нажать на него, а затем согласиться на установку, тапнув «Да». После этого приложение начнёт устанавливаться. Готово!

    Заключение

    Чтобы устанавливать игры и ПО не только из Google Play, следует знать, что это — файл APK. Это специальный установочный формат для Андроид, доступный для скачивания и загрузки на проверенных и безопасных сайтах в Сети. В настройках гаджета потребуется разрешить инсталляцию из неизвестных источников, после чего файл скачивают на мобильное устройство, затем находят в памяти и, нажав на него, запускают процесс.

    Читайте также: