Как посмотреть исходный код приложения Android
С каждым днем приложений для Android становится все больше и больше. Миллионы интересных игр и полезных программ можно найти в Play Market. Все они имеют удобный интерфейс и справляются с поставленной задачей. Без них сложно представить современный мир информационных технологий. Эта статья ориентирована на людей, которые не только ценят функционал и внешний вид приложений, а еще и интересуются их внутренним устройством.
Если Вам когда-либо было интересно, что находится “под капотом” любимого приложения, и вы немного смыслите в программировании – эта статья для Вас. Мы расскажем, как посмотреть исходный код приложения Android прямо на вашем гаджете. Поехали!
Общие сведения
Большинство программ для ОС Android, как и большая часть самой операционной системы, написаны на языке программирования Java. А это значит, что посмотрев в исходный код программ Android, мы, скорее всего, увидим Java код с использованием Android SDK (которая включает в себя инструменты платформы Android). Повторюсь: чтобы понимать исходный код приложений, нужно иметь базовые знания Java и принципы работы Android.
Как узнать исходный код приложений Android?
Для начала скачайте приложение, исходный код которого Вас заинтересовал. Затем зайдите в Play Market и скачайте утилиту под названием Show Java. Именно она будет заниматься декомпилированием. Установили? Отлично, а теперь перейдем к самому интересному – извлечению исходного кода Android программы. Запускаем Show Java.
Выберите нужное приложение из установленных, или найдите его на SD карте. Теперь нужно выбрать декомпилятор. Я обычно выбираю CRF. Если возникнут проблемы – пробуйте JaDX.
Начнется декомпиляция программы. Это может занять некоторое время. Чем больше приложение – тем дольше декомпилятор будет доставать исходные коды. Пока вы ждете результата, почитайте о перспективных языках программирования.
По завершению процесса вы получите список пакетов с исходниками Android приложения. Конечно, это не 100% копия кода, которую писали разработчики этого приложения. Но основная логика сохраняется, разобрать не сложно. Что делать с исходниками? Что угодно. Смотрите, разбирайте, возможно Вам будут интересны некоторые “фичи” или особенности реализации функционала программы.
Где можно найти исходники реальных приложений android?
Работаю один, хотел бы как-то подтянуть скилл, посмотреть реальные приложения(как организовано/сверстано).
Интересуют различные приложения, кроме игр. Может кто-нибудь знает где есть база исходников?
Или подскажите, как эффективно искать на гитхабе. Например, хочу посмотреть, как сделано приложение по резервации скажем очереди в клинике или фитнесе и т.д.
- Вопрос задан более трёх лет назад
- 58989 просмотров
Модификация исходного кода android-приложения с использованием apk-файла
Так уж получилось, что приложение для чтения комиксов и манги, которое я использую на своем android-смартфоне, после обновления стало показывать рекламу в конце каждой главы комикса. Данное приложение пару лет назад было доступно на Google Play (платная версия которого и была мной куплена), но было удалено в силу «нарушения авторских прав», после чего ушло в подполье и стало распространятся через сайт разработчика. Увы, достойных альтернатив этому приложению на android и iOS я не нашел, но и смотреть рекламу особо не было желания, тем более я уже покупал версию без рекламы. Сам разработчик почему-то не сделал возможности отключить ее, а на просьбы добавить такую возможность не отозвался. Поэтому пришлось искать альтернативные методы ее отключения. Первое, что пришло в голову, это то, что android-приложения пишутся на java, а значит есть вероятность, что автор не обфусцировал свое приложение и его можно попытаться декомпилировать. Немного подумав, я приступил к работе.
Для начала был загружен сам apk-файл приложения. Затем недолгий поиск по интернету привел меня на сайт http://www.decompileandroid.com/. С его помощью можно было загрузить apk-файл с приложением и на выходе получить набор исходников. Увы, декомпиляция в java-классы происходит не совсем идеально и поэтому восстановить полностью сам проект приложения в IDE(Idea) у меня не получилось, но это позволило проанализировать саму структуру проекта и разобраться как он примерно работает. После проведения анализа, было найдено два перспективных метода в классе BaseReaderFragment.java – placeAdViewIfNeeded и removeAdViewIfNeeded.
Код метода placeAdViewIfNeeded:
if (adViewPlaced || adView == null) < return; >else
Самое простое, что пришло на ум после чтения кода, это убрать все лишнее, и оставить лишь вызов return;
Но, как уже было сказано, даже если бы я изменил в java-классе что-либо, я бы не смог в итоге скомпилировать приложение в IDE. Поэтому пришлось искать альтернативу. Оказалось, что smali-файлы, которые создаются в процессе декомпиляции, позволяют также после внесения нужных изменений, вновь собрать модифицированное приложение. Увы, сайт, что был приведен выше, позволял лишь получать исходники, но не собирать новые. Поэтому пришлось искать способы сделать это самостоятельно.
Была найдена утилита ApkTools, которая позволяла декомпилировать и компилировать apk-файлы. Кроме того, потребовалась утилита aapt.exe, которая была взята мной из стандартного SDK под андроид в папке android-sdk\build-tools\20.0.0.
Для удобства вызова утилиты из под windows был создан скрипт apktool.bat:
@echo off set PATH=%CD%;%PATH%; java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
Для декомпиляции приложения были выполнены команды:
apktool if .apk apktool d .apk
После чего, в полученных исходниках был найден файл BaseReaderFragment.smali и нужные нам методы были изменены следующим образом:
.method protected placeAdViewIfNeeded(Landroid/view/ViewGroup;)V .locals 3 .param p1, "layoutAds" # Landroid/view/ViewGroup; .prologue const/4 v2, -0x2 return-void .end method .method protected removeAdViewIfNeeded(Landroid/view/ViewGroup;)V .locals 1 .param p1, "layoutAds" # Landroid/view/ViewGroup; .prologue .line 149 const/16 v0, 0x8 return-void .end method
Далее пришла очередь сборки apk-файла из исходников.
Сделать это можно cледующей командой:
apktool b
Но это еще не все. Чтобы приложение можно было установить, его нужно было подписать цифровой подписью. Самый простой способ сделать это – это скачать архив в котором находится утилита для подписи приложений и цифровые сертификаты к ней.
Распаковываем архив, выполняем команду:
java -jar signapk.jar certificate.pem key.pk8 .apk .apk
Полученный apk-файл можно загружать на телефон, чтобы проверить наше модифицированное приложение. Однако в процессе тестирования изменений оказалось, что объявления больше не показываются, однако сама страница для их показа создается, что не очень приятно. Снова был проанализирован код приложения, найден класс BaseSeamlessReaderFragment, а в нем метод appendPages.
В нем было видно, что строчка:
addPage(new MangaPage(i - 1, null, chapteritem, true), false);
создает дополнительную страницу, помимо тех, что есть в главе манги, с параметром, отвечающим за показ объявлений. Было решено удалить эту строчку и посмотреть результат. Снова заглядываем в аналогичный smali-файл(BaseSeamlessReaderFragment$4) и удаляем строчку:
invoke-virtual , Lorg/mangawatcher/android/fragments/BaseSeamlessReaderFragment;->addPage(Lorg/mangawatcher/android/fragments/BaseSeamlessReaderFragment$MangaPage;Z)V
Снова проводим сборку apk-файла из исходников и подписываем наше приложение. После установки и тестирования приложения экран с рекламой окончательно исчез, что и было конечной целью.
Данный пример показывает, что в случае необходимости можно довольно просто и быстро модифицировать уже существующие android-приложения, чтобы добавить в них недостающий функционал или наоборот удалить некоторые нежелательные возможности в тех ситуациях, когда доступа к исходникам нет. Надеюсь он поможет людям, которые попали в похожую ситуацию и не хотят мирится с ней, найти решение проблемы.
- android
- декомпиляция
- разработка под android
- reverse engineering
- Информационная безопасность
- Разработка под Android
Как скачать приложение с помощью QR-кода

Update : August 31, 2023
Знаете ли вы, что можно отсканировать QR-код, чтобы загрузить приложение на свой телефон?
Чтобы загрузить приложение с QR-кодом, пользователю нужно всего лишь открыть приложение камеры, направить его на QR-код и открыть всплывающее уведомление.
Вы видели QR-код приложения рядом с продуктом или веб-сайтом и вам интересно, как с его помощью можно загрузить приложение?
В этой статье мы покажем вам, как работает QR-код в магазинах приложений. Продолжайте читать, чтобы узнать, как это сделать.
Оглавление
- Что такое QR-код магазина приложений?
- Как создать QR-код для магазина приложений?
- Динамический QR-код магазинов приложений
- Как QR-коды магазина приложений повлияют на ваш маркетинг?
- Как отсканировать QR-код, чтобы загрузить приложение
- Как скачать приложение по QR-коду
- Советы по созданию QR-кода для загрузки приложений
- Реальное использование QR-кодов приложений, используемых в маркетинге
- Создайте QR-код для магазина приложений с помощью QR TIGER
Что такое QR-код магазина приложений?

Ан QR-код магазинов приложений это решение для QR-кодов, которое позволяет сканерам мгновенно
скачать мобильное приложение, отсканировав QR-код с помощью своего смартфона.
Чтобы отсканировать QR-код приложения, они могут использовать приложение «Камера» или специальное приложение для сканирования QR-кода. Благодаря этой технологии им больше не нужно вручную искать мобильное приложение на Google Play Store или Apple App Store.
Это тип динамического QR-кода, который перенаправляет пользователей в зависимости от используемого ими устройства, будь то ОС Android или iOS от Apple.
Поэтому QR-код приложения разработан так, чтобы быть более удобным, простым и понятным для пользователей.
Гибкая маркетинговая кампания

2. Добавление логотипа, изображения или значка в QR-код.
Добавление логотипа или значка в QR-код App Store полезно для продвижения вашего бренда и делает его более профессиональным и законным.
Более того, он также защищает ваши сканеры и гарантирует, что это не спам-QR-код.
Разместите свой логотип или значок в центре QR-кода, чтобы выделить его.
3. Добавьте цвета
Добавьте цвета в свой QR-код, чтобы сделать ваш бренд заметным и привлекательным для сканеров.
QR-коды с настроенными цветами повышают ценность вашего бренда и выделяют его среди остальных элементов QR.
Однако просто убедитесь, что цвет переднего плана вашего QR-кода темнее фона.
4. Учитывайте правильный размер.
На своем веб-сайте они используют QR-код приложения, который побуждает клиентов загружать их приложение, позволяя клиентам быть в курсе своих встреч, предстоящих предложений, скидок и доступности!
Джумия
Джумия — один из самых популярных розничных интернет-магазинов в Уганде.
Интернет-покупатели могут загрузить свое приложение с помощью QR-кода магазина приложений, который при сканировании позволит им удобно совершать покупки в любое время и в любом месте!
ПроВиа
ProVia — один из примеров онлайн-каталога продукции.
Они также использовали QR-код магазина приложений на своем веб-сайте, где клиенты могут загружать и легко искать среди большого количества запчастей для коммерческих автомобилей, а также находить подходящий продукт на замену в любое время и в любом месте, когда они загружают приложение.
Это также позволит их клиентам видеть последние обновления каталога Provia на кончиках пальцев, а также видеть новые характеристики продуктов, линейки и информацию о дистрибьюторах.
Создайте QR-код для магазина приложений с помощью QR TIGER
За мобильными приложениями будущее в ближайшие годы и далее, и считается, что они окажут наибольшее влияние на успех большинства компаний.
Приложения — это популярный способ использования технологий, и они всегда меняют способы работы бизнеса и рынка, делая их наиболее удобными.
Чтобы максимально увеличить количество загрузок приложений, сгенерируйте QR-код магазина приложений с помощью QR TIGER прямо сейчас.
png_800_75.jpeg)




Оставайтесь в курсе Подпишитесь на нашу рассылку и первыми узнавайте об акциях, обновлениях и советах
