Как изменить версию apk?
Как установить более старую версию приложения на андроид?
Откройте «Настройки» и выберите пункт «Приложения» (может называться «Диспетчер приложений»). Выберите приложение, версию которого нужно вернуть до заводской. Нажмите на кнопку «Удалить обновления».
Можно ли установить другую версию андроида?
Обычно опция «Обновление системы» или «Обновление ПО» скрывается в разделе «Система», «Об устройстве», «О телефоне», «Версия MIUI» или как‑то так — в зависимости от производителя. Если производитель выпустит свежий апдейт, высветится уведомление. Вам достаточно будет коснуться его, затем нажать «Обновить» и подождать.
Как изменить версию приложения в плей маркете?
Как обновлять приложения Android:
- Откройте приложение Google Play.
- В правом верхнем углу экрана нажмите на значок профиля.
- Выберите Управление приложениями и устройством. Приложения, которые можно обновить, будут собраны в разделе «Доступны обновления».
- Нажмите Обновить.
Как вернуть приложение в предыдущую версию?
Приложение будет таким, каким вы запустили его в первый раз:
- Откройте «Настройки».
- Выберите пункт «Приложения» или «Диспетчер приложений».
- Выберите пункт «Диспетчер приложений», если он есть на вашем устройстве.
- Найдите приложение, версию которого нужно вернуть до заводской.
- Нажмите на кнопку «Удалить обновления».
Как можно скачать предыдущую версию приложения?
Архив версий можно найти на GitHub, если искомое приложение имеет открытый код. Сайты вроде OldApps.com специализируются на хранении старых версий дистрибутивов популярных программ. Найти архив версий можно на таких сайтах, как Download.com, Softpedia.com или MajorGeeks.com.
Как установить приложение если не подходит версия андроид?
Чтобы установить несовместимое приложение на Android, есть несколько способов, например:
- Запросите apk-файл приложения. Когда вы скачиваете несовместимое приложение из Play Market, происходит проверка вашего телефона на соответствие требованиям.
- Использовать специализированное приложение «Market Helper».
Что такое APKMirror?
APKMirror Installer — это вспомогательное приложение, которое позволяет устанавливать файлы пакетов приложений. apkm,. xapk и. apks, а также обычные файлы APK.
Какая версия андроида уже не поддерживается?
Интернет-гигант Google решил окончательно умертвить смартфоны на базе ОС Android 2.3.7 и более ранних ее версий. Как пишет Liliputing, с 27 сентября 2021 г. владельцы таких гаджетов больше не смогут войти в свои аккаунты, что автоматически закрывает им доступ к большинству функций популярных сервисов Google.
Как установить андроид 12 на любой телефон?
Зарегистрируйте совместимый смартфон, если вы не делали этого ранее. На Google Pixel перейдите в Настройки → Система → Дополнительно → Обновления системы. Обновление до бета-версии Android 12 должно быть доступно для загрузки. Нажмите кнопку «Загрузить и установить», чтобы начать процесс установки.
Что будет если не обновлять телефон?
Что будет, если не обновлять свой смартфон
Если отказаться от нового обновления, в первую очередь ваш гаджет становится менее защищенным. Таким образом, когда пользователь отказывается от обновления, может возрасти и риск взлома смартфона, а также кибератак.
Как откатить андроид с 12 на 11?
Дождитесь перезагрузки смартфона. Подключите смартфон к компьютеру, откройте терминал, как сделали это прежде. При помощи физических кнопок регулировки громкости выберите пункт Lock the bootloader и подтвердите нажатием кнопки питания. Перезагрузите смартфон и завершите первичную настройку смартфона как обычно.
Как удалить последнее обновление?
Удаление обновления Windows:
- Выберите Пуск > Параметры > Центр обновления Windows > Журнал обновлений > Удалить обновления. Просмотр журнала обновлений
- В отображемом списке найдите обновление, которое нужно удалить, а затем выберите «Удалить» рядом с ним.
Как изменить приложение на андроид?
- Откройте приложение «Настройки» на телефоне.
- Нажмите Приложения Приложения по умолчанию.
- Выберите нужное действие.
- Нажмите на приложение, которое хотите использовать по умолчанию.
Как сменить версию Джавы?
В панели управления Java перейдите на вкладку Java. Убедитесь, что новейшая версия среды исполнения Java включена (установлен флажок Включено). Нажмите OK в окне панели управления Java, чтобы подтвердить изменения и закрыть окно.
Почему не могу обновить систему андроид?
Популярная причина отказа в автоматическом обновлении Андроида является отсутствие приложений, которые отвечают за своевременное обновление, так же влиять на возникновение неполадки могут права «рут» и кастомное рекавери. В данном случае телефон часто входит в режим «кирпича» и перестает функционировать.
Как обновить андроид 4.2 2 до 5?
Обновление Андроид через настройки:
- Заходим в Настройки Андроид.
- Тапаем по пункту «Обновление ПО».
- Теперь тапаем на кнопке «Загрузка и установка»
- Когда все данные с сервера производителя будут загружены, в меню тапаем кнопку «Установить» и ожидаем, пока завершится апдейт и выполнится перезагрузка аппарата.
Как узнать минимальную версию Андроид для приложения?
Google без лишнего шума обновила магазин приложений Google Play, и теперь каждое приложение в описании указывает минимальную версию Android. Для того, чтобы увидеть эту информацию, нужно зайти в раздел «Описание» и прокрутить список вниз. Там будет указана требуемая версия Android.
Как на Android устанавливать сторонние приложения?
Перейдите в Настройки своего смартфона. Выберите пункт Приложения и уведомления > Дополнительно. Нажмите Специальный доступ. Нажмите Установка неизвестных приложений.
Как вернуть старую версию приложения на Сяоми?
Возьмите в руки телефон и откройте в нем меню «Настройки», после чего перейдите в пункт «Управление приложениями» или «Приложения». Перед вами откроются все установленные на смартфоне программы. Теперь в списке программ найдите то приложение, которое хотите откатить до изначальной версии.
Что будет если несколько раз нажать на версию Андроид?
Если в смартфоне c Android 11 зайти в «Настройки» → «О телефоне» → «Версия Android» и несколько раз подряд быстро нажать на версию прошивки, то на экране появится мини-игра. На экране будет один большой зеленый круг и белый круг поменьше внутри него.
Зачем менять прошивку на андроид?
А теперь хотим с вами обсудить те причины, которые могут убедить вас рискнуть и установить в свой Android стороннюю прошивку:
- Получение последней версии Android.
- Отказ от «фирменных» оболочек
- Удаление предустановленного ПО
- Получение дополнительных функций и системных настроек
- Безопасность
Как установить андроид 11 на любой телефон?
Для этого надо только открыть настройки телефона. После этого прокрутить вниз до раздела «Система» (на других смартфонах может называться иначе) и в открывшемся меню выберите «Дополнительно», далее откройте «Обновление системы». Вот так проще всего обновить Android.
Почему нельзя установить приложение в плей маркете?
Приложения из Плей Маркет могут не скачиваться сразу по нескольким причинам. Во-первых, эта проблема может возникнуть из-за большого количества кэша. Во-вторых, приложения могут не скачиваться из-за проблем с сетью. В-третьих, проблемы со скачиванием могут возникнуть в результате некорректной работы Google-аккаунта.
Как установить две разные версии одного приложения на андроид?
Чтобы одновременно пользоваться одним и тем же приложением на Android-смартфоне, нужно установить премиум-версию программы App Cloner, которая есть в Google Play. Кстати, подобных программ много, но большинство, в отличие от App Cloner, требует наличия root-прав.
Нужно ли обновлять приложения?
Почему операционную систему и основные приложения стоит обновлять? «Если вы перестанете обновлять операционную систему и приложения, это сделает ваше устройство менее защищенным. Риск быть подвергнутым взлому или атаке возрастает в разы. Поэтому обновлять устройство можно и нужно.
Как поменять версию Minecraft на телефоне?
Открой App Store или Google Play на своем устройстве и выполни поиск по слову «Minecraft». Если у тебя уже есть Minecraft, должен появиться запрос на обновление версии, если она еще не обновлена. Если у тебя установлена последняя версия, просто нажми кнопку Open (Открыть) и играй!
Что нужно сделать перед обновлением андроид?
Что нужно сделать перед обновлением телефона Android, чтобы избежать проблем:
Как изменить версию приложения apk на андроид
Вскрываем, модифицируем и запаковываем Android-приложения
Иногда некоторые приложения на Android чем-то не устраивают пользователя. В качестве примера можно привести назойливую рекламу. А то бывает и так — всем хороша программа, да только перевод в ней или кривой, или вовсе отсутствует. Или, например, программа триальная, а получить полную версию возможности нет. Как же изменить ситуацию?
Введение
В этой статье мы поговорим о том, как разобрать пакет APK с приложением, рассмотрим его внутреннюю структуру, дизассемблируем и декомпилируем байт-код, а также попробуем внести в приложения несколько изменений, которые могут принести нам ту или иную выгоду.
Чтобы сделать все это самостоятельно, потребуются хотя бы начальные знания языка Java, на котором пишутся приложения для Android, и языка XML, который используется в Android повсеместно — от описания самого приложения и его прав доступа до хранения строк, которые будут выведены на экран. Также понадобится умение обращаться со специализированным консольным софтом.
Итак, что же представляет собой пакет APK, в котором распространяется абсолютно весь софт для Android?
Декомпиляция приложений
В статье мы работали только с дизассемблированным кодом приложения, однако если в большие приложения вносить более серьезные изменения, разобраться в коде smali будет гораздо сложнее. К счастью, мы можем декомпилировать код dex в Java-код, который будет хоть и не оригинальным и не компилируемым обратно, но гораздо более легким для чтения и понимания логики работы приложения. Чтобы сделать это, нам понадобятся два инструмента:
- dex2jar — транслятор байт-кода Dalvik в байт-код JVM, на основе которого мы сможем получить код на языке Java;
- jd-gui — сам декомпилятор, позволяющий получить из байт-кода JVM читаемый код Java. В качестве альтернативы можно использовать Jad (www.varaneckas.com/jad); хоть он и довольно старый, но в некоторых случаях генерирует более читаемый код, нежели Jd-gui.
Использовать их следует так. Сначала запускаем 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 и, соответственно, работать будет хоть в винде, хоть в никсах.
После запуска программы необходимо заполнить три поля: Email, Password и Device ID — и выбрать язык. Первые два — e-mail и пароль твоего гуглоаккаунта, который ты используешь на устройстве. Третий же является идентификатором устройства, и его можно получить, набрав на номеронабирателе код ##8255## и затем найдя строку Device ID. При заполнении надо ввести только ID без префикса android-.
Настройка Real APK Leecher
Другие статьи в выпуске:
Хакер #170. Малварь для OS X
После заполнения и сохранения нередко выскакивает сообщение «Error while connecting to server». Оно не имеет отношения к Google Play, поэтому смело его игнорируй и ищи интересующие тебя пакеты.
Просмотр и модификация
Допустим, ты нашел интересующий тебя пакет, скачал, распаковал… и при попытке просмотра какого-нибудь XML-файла с удивлением обнаружил, что файл не текстовый. Чем же его декомпилировать и как вообще работать с пакетами? Неужели необходимо ставить SDK? Нет, SDK ставить вовсе не обязательно. На самом деле для всех шагов по распаковке, модификации и упаковке пакетов APK нужны следующие инструменты:
- архиватор ZIP для распаковки и запаковки;
- smali — ассемблер/дизассемблер байт-кода виртуальной машины Dalvik (code.google.com/p/smali);
- aapt — инструмент для запаковки ресурсов (по умолчанию ресурсы хранятся в бинарном виде для оптимизации производительности приложения). Входит в состав Android SDK, но может быть получен и отдельно;
- signer — инструмент для цифровой подписи модифицированного пакета (bit.ly/Rmrv4M).
Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в 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
Рассмотрим опции 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
Итак, с помощью одного из приведенных способов скачай приложение из маркета. Если ты решил использовать 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
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:
Здесь создается поле ad для хранения объекта класса Ad. Комментируем с помощью установки знака ### перед строкой. Продолжаем поиск. Строка 423:
Здесь происходит создание объекта. Комментируем. Продолжаем поиск и находим в строках 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. Однако, имея базовые знания, разобраться во всем этом — лишь вопрос времени.
Как изменить версию приложения apk на андроид
APK Editor PRO
версия: 2.0.5
Последнее обновление программы в шапке: 11.10.2022
Краткое описание:
Просмотр и редактирование apk-файлов
Описание:
APK Editor является мощным инструментом, который может редактировать/взламывать АПК файлы, и поможет сделать с апк много интересного.
Это приложение поможет в таких операциях, как изменение строк локализации, замены фона изображений, изменения макета архитектуры, убрать рекламу, изменить разрешения и т.д. То, что оно может сделать, зависит от того, как вы используете это приложение.
В любом случае, что бы, что то сделать с АПК файлом, нам необходимы некоторые знания и навыки.
Не бойтесь, на странице помощи приведены некоторые примеры.
Это про версия, по сравнению с бесплатной версией, есть некоторые отличия:
(1) Нет никаких ограничений функционала
(2) Отсутствие рекламы
(3) Улучшенная поддержка
Где взять и как установить старую версию Android-приложения?
Если вы читаете отзывы, которые пользователи оставляют в Google Play, то вам хотя бы раз попадалось на глаза высказывание в стиле «приложение супер, но после обновления перестало работать».
Да, бывают случаи, когда после обновления программа полностью или частично теряет работоспособность. И если вас по какой-то причине не устраивает апдейт, вы можете откатиться на предыдущую версию.
Что может быть плохого в апдейтах?
Наиболее распространенные проблемы, на которые жалуются пользователи после обновления программ, следующие:
- баги;
- прекращение поддержки старых версий Android;
- несовместимость приложения с аппаратными характеристиками устройства;
- до неузнаваемости измененный интерфейс;
- отсутствие привычных функций;
- обилие рекламных окон.
Если вы столкнулись хотя бы с парой пунктов из перечисленного, вам наверняка захочется откатиться на старую версию приложения.
Как установить старую версию Android-приложения?
К сожалению, сделать это через официальный магазин не получится. Google Play разрешает разработчикам выставлять только одну версию APK, поэтому с каждым обновлением приложение перезаливается, а его предыдущую версию удаляют.
При этом Google тщательно следит за тем, чтобы на устройствах пользователей всегда были установлены свежие версии приложений. Для этого было придумано автоматическое обновление.
Так что если вы хотите пользоваться именно старой версией программы, скачивать ее придется со стороннего ресурса.
Что стоит сделать перед установкой старого приложения
Для начала подготовьте свой смартфон. По умолчанию система запрещает установку приложений откуда бы то ни было, кроме как из официального магазина. Зайдите во вкладку «безопасность» и поставьте галочку напротив пункта «неизвестные источники». После этого вы сможете установить APK, скачанное с любого сайта.
Однако эта инструкция не актуальна для восьмой версии Android. В Oreo вам придется давать разрешение на запуск сторонних APK какому-либо приложению, например, Google Drive или Chrome. Это зависит от того, каким образом приложение попадет на ваш смартфон: если вы собираетесь скачать его с помощью браузера, дайте разрешение Chrome или тому обозревателю, который используете. Данная настройка находится во вкладке «конфиденциальность и безопасность» — «еще» — «установка неизвестных приложений».
Не забудьте отключить автоматическое обновление приложений
Отключите автоматическое обновление в Google Play. В противном случае магазин быстро обнаружит на вашем устройстве неактуальное ПО, и вы даже не заметите, как оно обновится.
Удалив ненужное приложение, вы сотрете все связанные с ним данные, настройки, игровой прогресс и т.п. При желании можете сделать бэкап и сохранить его в облаке, чтобы потом восстановить в старой версии приложения.
Удалите обновленное приложение и переходите к поиску нужной версии.
Где можно скачать старые версии приложений?
Бесплатно скачать старые версии APK можно с таких сайтов, как APKMirror, 4PDA, UpToDown, APK4Fun и APKPure. В описании вы найдете всю нужную информацию: версию приложения, предупреждения о багах и несовместимости и т.д.
Установка предельно проста: качаете файл, находите в памяти устройства и запускаете. Все.
Скачать приложение можно и через десктопный ПК. Тогда вам придется перемещать его в память смартфона через USB-кабель или облачный сервис, но это не займет много
Как изменить версию приложения apk
может любой приятель сказать мне, как я могу изменить свою версию. спасибо.
Просто попробуйте изменить.. в файле манифеста
Обновление :: Экспорт проекта..
Это. вы закончили свою работу.
Какую версию вы хотите изменить? Если он обновит ваше приложение в магазине, вы должны увеличить andro . Что не будет видно для пользователей.
Если вы хотите показать пользователям, что вы увеличили свою версию приложения, вы можете увеличить и andro , просто имейте в виду, что приращение версииCode является обязательным для обновления вашего приложения в магазине.
В android Studio добавить/изменить версиюCode и versionName:
не только в манифесте, но и в большинстве встроенных файлов build.gradle :: defaultConfig <> вашего модуля: Например:
build.gradle (модуль: MYAPP)
Имейте в виду, что build.gradle "сильнее", чем манифест. Значение, если у вас есть эти строки
внутри build.gradle тогда те же строки в манифесте не будут иметь никакого влияния. Если вы хотите обновить версию из манифеста, то удалите эти строки из build.gradle.
android:versionCode — целочисленное значение, представляющее версию кода приложения, по сравнению с другими версиями.
Значение представляет собой целое число, так что другие приложения могут программно его оценивать, например, для проверки отношения обновления или понижения. Вы можете установить значение для любого целого числа, которое вы хотите, однако вы должны убедиться, что каждая последующая версия вашего приложения использует большее значение. Система не применяет это поведение, но увеличение значения с последующими выпусками является нормативным.
Как правило, вы должны отпустить первую версию своего приложения с параметром versionCode, равным 1, затем монотонно увеличить значение с каждой версией, независимо от того, является ли релиз основным или второстепенным выпуском. Это означает, что значение android:versionCode не обязательно имеет сильное сходство с версией выпуска приложения, которая видна пользователю (см. android:versionName , ниже). Приложения и службы публикации не должны отображать это значение версии для пользователей.
android:versionName — строковое значение, которое представляет версию версии кода приложения, как это должно быть показано пользователям.
Значение представляет собой строку, так что вы можете описать версию приложения как строку.. или как любой другой тип абсолютного или относительного идентификатора версии.
Как и в случае с android:versionCode , система не использует это значение для каких-либо внутренних целей, кроме того, чтобы приложения отображали их пользователям. Издательские услуги также могут извлекать значение android:versionName для отображения пользователям.
Привет всем. Здесь вы узнаете, как открыть файл apk на Андроид и даже поковырять его код. Не будем останавливаться на общих понятиях расширения apk, сразу перейдем к делу. Для этих целей создано приложение “APK Editor Pro”. Этот инструмент поможет открыть, а также редактировать apk файлы. Ссылки для скачивания приложены в конце статьи.
При помощи его я редактировал созданное в конструкторе приложение, так как некоторые ссылки и изображения (по умолчанию встраиваемые конструктором) не устраивали. Нет, я не программист и понимаю в кодах не больше вашего, но инструмент APK Editor позволяет работать с ним пользователям любого уровня от новичка до профессионала, так как оно имеет подсказки.
Как открыть Apk файл на Андроид
Содержание
Интерфейс APK Editor Pro
Главная страница содержит четыре кнопки:
- Выберете Аpk
- Выберете Аpk из приложения
- Помощь
- Выход
Для редактирования используются первые две.
1. Первая кнопка открывает непосредственно файлик apk, сохраненный в памяти устройства. То есть, открывается встроенный менеджер, находите нужное место расположения редактируемого объекта.
Клик по нужному элементу вызовет окно, где нужно выбрать, что вы хотите делать.
- Редактирование ресурсов
- замена файлов
- общее редактирование
Функция редактирования ресурсов позволяет изменять строки, файлики, манифест. Через эту функцию доступно практически все содержимое редактируемого файла.
Замена, подразумевает полную подмену одного файла на другой. Как правило, её используют для замены изображений, аудио и других элементов.
Общее редактирование поможет изменить название приложения, пакета, место установки, код версии, название версии.
2. Вторую кнопку используют в случае отсутствия файла apk, но при наличии установленного приложения. Выбираете из списка и приступаете к редактированию.
Клик на кнопку вызовет список всех установленных приложений. Здесь же можно переключиться между пользовательскими и системными.
Выбрав объект, открывается окно для выбора редактирования, но добавляется дополнительно “Редактирование данных”.
По-большому счету эта функция ничего интересного не даст, разве что только профи найдет в нем смысл.
3. Раздел “Помощь” – это одна большая подсказка по работе с некоторыми функциями: замена названия приложения, подмена фонового рисунка, ликвидация рекламы, перемещение данных на карту, удаление подозрительных разрешений.
В принципе инструкция написана неплохо, но при изучении советую внимательно изучить от начала и до конца.
4. Последняя кнопка “Выход” говорит сама за себя. Нажав её, приложение закроется.
Теперь на примерах рассмотрим использование приложения.
Как заменить картинку в приложении
1. Выбираем вторую кнопку “Выберете … из приложений”
2. Находим объект, который подвергнем испытанию, клик по нему.
з. Переход по “Замена файлов”
4. Выбрать “Изображения”
5. Долгое нажатие откроет окно:
Нам нужна замена. Заранее необходимо подготовить другой файл и закинуть его в устройство. Для этих целей я использую папку “Others”. По умолчанию она имеется в каждом устройстве.
6. Клик по готовому изображению произведет подмену.
7. Жмем “Сохранить” и ждем готового результата. Это может занять некоторое время, все зависит от размера приложения.
8. По окончании будет указан путь, куда сохраняется модифицированный файл. Прежде чем запустить новый apk, старый необходимо удалить.
Как удалить рекламу из приложения
Рекламный код может быть прописан где угодно, все зависит от её назначения. Мы рассмотрим стандартный способ. Этот способ описан в разделе помощь, но пришлось немного потратить время на разбор, так как названия папок и файлов немного не соответствовало. Видимо, информация устаревает.
Начнем сразу с пункта №3. Первый и второй выполняем как в первом примере.
- Переход по “Редактирование ресурсов”
- Выбираем параметр “Файлы”
- Находим место где расположена папка “layout”
- Выбираем файл “main. xml”
- Далее, находим файл: layout_height=”wrap_content”
- Вместо “wrap_content” прописываем “0dip”
- Все это сохраняем и ждем завершения
Удаляем старый apk и устанавливаем новый.
В этом случае убрали рекламу только с главной страницы.
Работать с редактированием элементов лучше всего через программу AirDroid. Оно выводит экран смартфона на монитор компьютера. Приятней работать с нормальной клавиатурой, а не тыкать в малюсенькие кнопочки устройства.
Ссылки
С вопросом “как открыть apk файл на андроид” разобрались. Плюс ко всему мы можем его полноценно редактировать под свои интересы.
Где взять приложение выбирать вам, ссылки ниже.
Установить APK Editor
с Плэй Маркет (платно)
с 4PDA (со скидкой и …)
Содержание статьи
Иногда некоторые приложения на Android чем-то не устраивают пользователя. В качестве примера можно привести назойливую рекламу. А то бывает и так — всем хороша программа, да только перевод в ней или кривой, или вовсе отсутствует. Или, например, программа триальная, а получить полную версию возможности нет. Как же изменить ситуацию?
Введение
В этой статье мы поговорим о том, как разобрать пакет APK с приложением, рассмотрим его внутреннюю структуру, дизассемблируем и декомпилируем байт-код, а также попробуем внести в приложения несколько изменений, которые могут принести нам ту или иную выгоду.
Чтобы сделать все это самостоятельно, потребуются хотя бы начальные знания языка Java, на котором пишутся приложения для Android, и языка XML, который используется в Android повсеместно — от описания самого приложения и его прав доступа до хранения строк, которые будут выведены на экран. Также понадобится умение обращаться со специализированным консольным софтом.
Итак, что же представляет собой пакет APK, в котором распространяется абсолютно весь софт для Android?
Декомпиляция приложений
В статье мы работали только с дизассемблированным кодом приложения, однако если в большие приложения вносить более серьезные изменения, разобраться в коде smali будет гораздо сложнее. К счастью, мы можем декомпилировать код dex в Java-код, который будет хоть и не оригинальным и не компилируемым обратно, но гораздо более легким для чтения и понимания логики работы приложения. Чтобы сделать это, нам понадобятся два инструмента:
- dex2jar — транслятор байт-кода Dalvik в байт-код JVM, на основе которого мы сможем получить код на языке Java;
- jd-gui — сам декомпилятор, позволяющий получить из байт-кода JVM читаемый код Java. В качестве альтернативы можно использовать Jad (www.varaneckas.com/jad); хоть он и довольно старый, но в некоторых случаях генерирует более читаемый код, нежели Jd-gui.
Использовать их следует так. Сначала запускаем 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), а рутить не всегда целесообразно, имеется как минимум три способа получить файл приложения на компьютер:
Какой из них использовать — дело вкуса; мы предпочитаем использовать отдельные приложения, поэтому опишем использование Real APK Leecher, тем более что написан он на Java и, соответственно, работать будет хоть в винде, хоть в никсах.
После запуска программы необходимо заполнить три поля: Email, Password и Device ID — и выбрать язык. Первые два — e-mail и пароль твоего гуглоаккаунта, который ты используешь на устройстве. Третий же является идентификатором устройства, и его можно получить, набрав на номеронабирателе код ##8255## и затем найдя строку Device ID. При заполнении надо ввести только ID без префикса android-.
Настройка Real APK Leecher
Хакер #170. Малварь для OS X
После заполнения и сохранения нередко выскакивает сообщение «Error while connecting to server». Оно не имеет отношения к Google Play, поэтому смело его игнорируй и ищи интересующие тебя пакеты.
Просмотр и модификация
Допустим, ты нашел интересующий тебя пакет, скачал, распаковал… и при попытке просмотра какого-нибудь XML-файла с удивлением обнаружил, что файл не текстовый. Чем же его декомпилировать и как вообще работать с пакетами? Неужели необходимо ставить SDK? Нет, SDK ставить вовсе не обязательно. На самом деле для всех шагов по распаковке, модификации и упаковке пакетов APK нужны следующие инструменты:
- архиватор ZIP для распаковки и запаковки;
- smali — ассемблер/дизассемблер байт-кода виртуальной машины Dalvik (code.google.com/p/smali);
- aapt — инструмент для запаковки ресурсов (по умолчанию ресурсы хранятся в бинарном виде для оптимизации производительности приложения). Входит в состав Android SDK, но может быть получен и отдельно;
- signer — инструмент для цифровой подписи модифицированного пакета (bit.ly/Rmrv4M).
Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в 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
Рассмотрим опции 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
Итак, с помощью одного из приведенных способов скачай приложение из маркета. Если ты решил использовать 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
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:
Здесь создается поле ad для хранения объекта класса Ad. Комментируем с помощью установки знака ### перед строкой. Продолжаем поиск. Строка 423:
Здесь происходит создание объекта. Комментируем. Продолжаем поиск и находим в строках 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. Однако, имея базовые знания, разобраться во всем этом — лишь вопрос времени.
Как поменять версию приложения на Андроиде
Android обладает широким набором возможностей в плане самостоятельной настройки пользователем, однако некоторые функции недоступны через стандартный системный интерфейс, ввиду чего требуется задействовать решения в лице сторонних программ. Иногда они даже требуют права root на Android, которые можно легко получить с помощью распространённых в Сети утилит.
Темой статьи выступает изменение версии программы на Android, которое возможно без рутирования девайса и управления устройством с помощью компьютера по ADB.
Зачем менять версию приложений?
Рядовому пользователю выполнять шаги, представленные на этой странице, не следует – это не даст никакой прибавки производительности и не откроет какую-либо новую функциональность софта. Инструкции, приведённые здесь, помогут пользователям старых устройств запустить приложения, недоступные по умолчанию из-за несовместимости версий: той, которая установлена на смартфоне читателя и другой, выставленной разработчиком программного обеспечения при его компиляции.
Несмотря на доступность этой функции по отношению ко многим разработкам, доступных для Android, не всегда можно выполнить такие изменения. Кроме того, модифицированное приложение даже в случае успешной сборки может начать работать нестабильно, «вылетая» и «зависая». Лучшим решением выступает обновление версии Android, установленной на устройстве, до последней предусмотренной производителем. Например, на сайте есть статья, посвящённая обновлению девайсов Xiaomi. Таким образом, смартфон начнёт поддерживать больше приложений, а также получит обновления дизайна и безопасности.
Как изменить версию приложения Android
Наиболее простыми выступают два решения, которые рассмотрены в этом тексте и, как упоминалось ранее, не требуют рутирования, тоже заслужившего внимания в отдельном материале. Root повлёк бы понижение защищённости устройства и от вирусов, и от злоумышленников, завладевших доступом к мобильному девайсу. Собственно, если не знаете, как изменить версию приложения на Андроиде, используйте методы, описанные ниже.
APK Editor
Первый вариант – пользование PRO-версией программы APK Editor, которая доступна в интернете бесплатно. Для работы с ней достаточно выполнить следующие шаги:
- Проведите пальцем снизу вверх, чтобы открыть меню приложений;
- Запустите браузер (например, Chrome);
- Оба приложения недоступны в Google Play, однако вы можете загрузить их с таких сторонних источников, как 4PDA (требуется авторизация) и Trashbox. На первом сайте минимальной версией Android выступает 4.0, а на втором есть как этот релиз, так и совместимые с 3.2 и 3.1 выпуски;
- Подтвердите действия, нажав «Скачать»;
- Выберите «ОК» в окне-предупреждении, вызванном браузером;
- Запустите инсталлятор, что станет возможно после загрузки;
- Тапните «Установить»;
- Откройте программу;
- Выдайте доступ к взаимодействию с файловой системой устройства;
- Нажмите первую или вторую кнопку в зависимости от типа APK;
- Укажите путь к файлу. Если выбран второй вариант, нажмите по наименованию приложения;
- Выберите «Декодировать все файлы»;
- Перейдите во вкладку «Файлы»;
- Откройте xml;
- Найдите строку, начинающуюся комбинацией <uses-sdk. Замените значение атрибута android:minSdkVersion на иное;
- Нажмите иконку дискеты, находящуюся в нижнем левом углу, для сохранения.
Подробнее о версиях API можно узнать в англоязычной «Википедии» (графа «API Level»). Например, Android 5 использует версию 21, поэтому нужно ввести это значение для совместимости с данной версией системы. Вероятно, вам стоит провести больше времени над редактированием, чем могло бы показаться, так как изменение значения на слишком существенное способно привести к невозможности запустить программу вовсе.
Lucky Patcher
Ещё один способ изменения приложений – Lucky Patcher. К сожалению, представители Google удалили утилиту из «Плей Маркета», а встроенный в Android антивирус помечает такое программное обеспечение небезопасным. Именно поэтому максимально важно искать официальные или сторонние, но надёжные источники для загрузки последней версии программы, ведь существует шанс установить настоящий вирус.
- Загрузите приложение;
- Нажмите «ОК», тем самым подтвердив согласие с возможной вредоносностью утилиты;
- Откройте APK-установщик;
- Выберите «Установить», а потом запустите программу;
- Выдайте разрешения, которые потребует утилита, воспользовавшись кнопкой «Предоставить»;
- Обеспечьте доступ ко всем файлам на устройстве;
- Выдайте доступ к местоположению (необязательно);
- Разрешите обрабатывать данные звонков (необязательно);
- Дайте возможность взаимодействовать с памятью;
- Ознакомьтесь с информацией о возможных ложных срабатываниях антивируса и тапните любой вариант в зависимости от вашего решения (ничто не мешает нажать «Нет»);
- Тапните по наименованию приложения, которое нужно модифицировать;
- Выберите «Меню патчей»;
- Нажмите «Создать изменённый APK»;
- Воспользуйтесь вариантом «APK с изменёнными разрешениями и активити»;
- Тапните по названиям функций, которые несовместимы с вашим девайсом;
- Нажмите «Пересобрать приложение».
Как видно, данное решение работает совсем иным образом, поскольку предоставляет возможности управления разрешениями. Зато оно отлично справляется с другими задачами: например, с удалением рекламы из приложений и даже читерством в играх. Можно также выполнять действия из-под раздела «Пересобрать & установить», с помощью которого даётся управлять ещё не установленными версиями ПО.
Проблемы и способы их решения
Приложение Lucky Patcher не работает
Наиболее вероятной причиной выступает отсутствие нужных разрешений. Выдавать доступ к местоположению и звонкам необязательно, однако без возможности взаимодействовать с файловой системой девайса утилита не выполняет свои функции.
- Выполните свайп снизу вверх, чтобы открыть меню приложений;
- Найдите Lucky Patcher и удерживайте на его иконке палец, после чего тапните «i». Вы также можете открыть меню приложения через программу «Настройки»;
- Перейдите в раздел «Разрешения»;
- Нажмите «Память»;
- Выберите «Разрешить управление всеми файлами»;
- Вернитесь к разделу «Приложения». Тапните иконку с тремя точками, расположенную в верхнем правом углу;
- Нажмите «Особые права доступа»;
- Тапните «Доступ ко всем файлам»;
- Найдите Lucky Patcher и нажмите по его названию;
- Переведите тумблер вправо.
Возможно, проблема связана с конкретной версией. В таком случае нужно обновить приложение.
- Раскройте боковое меню, выполнив свайп вправо или нажав соответствующую иконку;
- Выберите действие «Обновить Lucky Patcher».
Если более свежая версия доступна, появится предложение её загрузить. В противном случае на экране возникнет информация о том, что новые релизы недоступны.
При пользовании программами-антивирусами вы тоже сможете встретить неполадки в работе Lucky Patcher. Добавьте это приложение в «белый список» либо отключите утилиту, защищающую гаджет от вредоносного обеспечения, на время использования этого приложения. Ранее мы рассказывали, как проверить Андроид на наличие вирусов.
Модифицированное приложение не работает
Это – вполне реальный исход, о котором было предупреждение в начале этой статьи. Проблема возникает в случае, если разработчики ПО и так выбрали минимально возможную версию, а не просто указали какой-либо новый Android. Сделать в таком случае ничего другого, кроме как обновить версию «Андроида», в том числе перепрошивкой с использованием образа, скачанного со стороннего источника, не получится.
Модификация приложений – возможный способ открыть приложение, не предназначенное для установленной версии Android, однако он не всегда работает, может показаться сложным и требует установки стороннего программного обеспечения. Несмотря на имеющиеся недостатки, ничто не мешает попробовать воспользоваться Lucky Patcher либо APK Editor, заслужившими упоминания в этой статье, однако не стоит ожидать стопроцентно эффективных результатов. Благодаря нашей статье теперь вы знаете, как изменить версию приложения на Android и какие действия необходимо выполнить.
Обе программы работают по-разному, и лучше всё же отдать предпочтение APK Editor, позволяющему управлять manifest-файлом программ. Другой же способ отлично подойдёт для вырезания сервисов Google из приложений, блокировки рекламы и даже более интересных целей, таких как накрутка внутриигровой валюты.
Как понизить версию приложения Android без удаления
Случалось ли с вами когда-нибудь, что вы обновили приложение, и одна из ваших любимых функций исчезла из приложения. В этом случае у вас остается единственный вариант — это приложение для понижения версии Android без удаления, но в этом случае вы можете потерять все свои данные. Поэтому вам придется выполнить процедуру, чтобы понизить версию приложения для Android без потери данных.
Как понизить версию приложения Android без удаления
Мы знаем, как много значат некоторые функции приложения для его пользователя, и обновление может поставить вас в сложное положение, если вы каким-то образом справитесь с обновленным приложением или предпримете дополнительные усилия для понижения версии приложения. Кроме того, мы добавили дополнительное руководство о том, как понизить версию сервисов Google Play и магазина приложений.
Предпосылки для использования ADB
Перед тем, как обновить приложение Android без удаления, вам сначала нужно будет выполнить некоторые шаги, чтобы ваш смартфон и компьютерная система были готовы к понижению версии. Первый шаг — включить отладку по USB. Вы должны выполнить этот шаг на своем Android-устройстве, используя следующие методы:
Как включить отладку по USB
1. Откройте «Настройки» и нажмите «Система».
2. Перейдите на вкладку «Система» и нажмите, чтобы открыть
3. Теперь нажмите на опцию «Разработчик» семь-восемь раз.
4. В параметрах разработчика прокрутите вниз до раздела «Отладка».
5. Включите отладку по USB.
Следующим шагом является загрузка и установка ADB на ваш компьютер. Выполните шаги, указанные в следующем разделе, чтобы сделать то же самое.
Как скачать и установить ADB в Windows
1. Получите доступ к страница загрузки для инструментов платформы для Android SDK.
2. Нажмите кнопку SDK Platform-Tools для Windows, чтобы продолжить. В зависимости от операционной системы, которую вы используете, вы также можете выбрать один из других вариантов.
3. Нажмите кнопку «Загрузить» после подтверждения условий.
4. После загрузки zip-файла распакуйте его там, где вы хотите сохранить файлы набора инструментов.
Теперь мы выполним третий и последний шаг процедуры
Как понизить версию Android-приложения без потери данных
Чтобы понизить версию приложения для Android без потери данных, убедитесь, что ADB правильно настроен и что подключенное устройство распознается, прежде чем переходить к установке APK с помощью инструкций ADB.
1. Подключите смартфон Android к компьютеру, а затем запустите папку SDK platform-tools.
2. Загрузите APK-версию приложения, версию которого вы хотите понизить. Это можно сделать, выполнив поиск на APKMirror.
3. Вставьте APK в извлеченную папку ADB, которую вы скачали.
4. Щелкните правой кнопкой мыши, удерживая клавишу Shift, в этой папке. Выберите в меню пункт «Открыть окно команд здесь». Нажмите здесь на окно «Открыть PowerShell», если опция открытия командного окна отсутствует.
5. Введите следующую команду в окне PowerShell:
Примечание. Здесь файлы были переименованы следующим образом: Instagram.apk — это имя исходного файла, а Insta.apk — это новое имя, данное пониженной версии по вашему выбору.
Как понизить сервисы Google Play
Процесс понижения версии сервисов Google Play довольно прост по сравнению с процессом понижения версии других приложений, для которого вы можете выполнить приведенные ниже шаги, поскольку он отличается от процесса, за которым следует понижение версии приложения Android без удаления.
1. Откройте настройки
2. Введите Приложения администратора устройства/администратор устройства и нажмите на него, чтобы открыть.
3. Отключите функцию «Найти мое устройство».
4. Поиск в настройках сервисов Google play. Откройте и нажмите на три точки в правом верхнем углу
5. Нажмите «Удалить обновления».
6. В сервисах Google Play отключите использование фоновых данных в разделе использования данных.
7. Наконец, перезагрузите телефон Android.
Как понизить версию приложения в Play Store
В настоящее время нет способа понизить версию магазина приложений. Поэтому единственный оставшийся способ — понизить версию приложений для Android по отдельности.
Часто задаваемые вопросы (FAQ)
Q1. Зачем понижать версию Android-приложения?
Ответ Обновление часто происходит тихо и без вашего уведомления. В результате вы можете быть вынуждены использовать версию программного обеспечения, которая либо слишком сложна для работы, либо слишком содержит ошибки, либо просто лишена функциональности, необходимой для вашего образа жизни. Приложение возвращается к предыдущей версии при понижении версии.
Q2. Как понизить версию приложения на Samsung?
Ответ: Чтобы понизить версию телефона Samsung до предыдущей версии, загрузите APK-файл и выполните ту же процедуру, что указана выше.
Q3. Безопасно ли понижение версии Android?
Ответ Понижение — это практика, которую производители официально не одобряют. Это трудно выполнить, и это может привести к аннулированию гарантии на устройство. Вы не должны пытаться это сделать, если у вас нет предварительного опыта в изменении программного обеспечения на вашем устройстве, так как существует потенциальный риск его блокировки.
Q4. Как понизить версию приложения YouTube на Android?
Ответ Понизить версию приложения YouTube проще, чем вы могли подумать. Откройте «Настройки», введите приложения и уведомления в строке поиска и прокрутите, пока не найдете YouTube. Откройте его и нажмите значок с тремя точками в правом верхнем углу, а затем нажмите «Удалить обновления».
Q5. Почему вы должны понизить версию своих приложений для Android?
Ответ Понижение не является практикой, которую официально одобряют производители. Это сложно сделать, это может привести к аннулированию гарантии и поломке устройства. Вы не должны пытаться это сделать, если у вас нет опыта изменения программного обеспечения на вашем устройстве.
Мы надеемся, что с помощью этого руководства вы смогли узнать, как понизить версию приложения Android без удаления. Если у вас есть какие-либо вопросы или предложения, не стесняйтесь оставлять их в разделе комментариев ниже.