Как редактировать apk в android studio
Перейти к содержимому

Как редактировать apk в android studio

  • автор:

Как отредактировать чужой апк в Android Studio?

Читал, что для работы с приложениями, точнее, над приложениями, используют прогу под названием Android Studio. Но не знаю, как. И плюс было бы круто если бы был способ обойтись без компа, т.е. сделать все с мобилы Моей целью является «подправить» название пакейджа файла, а заодно и номер версии. Дело в том, что у меня на самсунге камера ну капец лагучая, а вот сторонний софт — очень даже ниче так. И вот я вытащил 2 апк файла, у одного имя com.sec.android.camera, у другого net.sourceforge.opencamera. Я хочу в OpenCamera’вском манифесте поменять имя пакета и изменить версию, чтобы накатом «обновить» системную камеру до сторонней.

Отслеживать
задан 22 мар 2022 в 13:06
3 1 1 серебряный знак 4 4 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Тогда можно просто скачать исходники с SourceForge и в gradle.build изменить package на нужный Вам. Плюс в манифесте и коде надо автозаменой найти всё связанное с net.sourceforge.opencamera .

Но поверх стандартного приложения оно не встанет, см. в конце ответа.

А ниже общая информация по модификации APK:

Android Studio обычно используется для создания и сборки приложений при наличии исходного кода.

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

  • Ресурсы ( res/* ),
  • Код приложения ( smali/ , smali_classes2/ . ),
  • Двоичные файлы ( assets/ ),
  • Библиотеки, если есть ( lib// ),
  • Файлы другого типа, манифест и инфа для apktool ( other , AndroidManifest.xml и apktool.json соответственно).

При этом привычного Java-кода Вы там не встретите, classes.dex «конвертируется» в Smali — это по сути, ассемблер для Android. Чтобы с таким кодом работать, нужно знать его устройство.
А ресурсы и манифест можно спокойно редактировать.

Пакет можно менять и вручную, заменяя все вхождения в manifest.xml и smali, но лучше пользоваться патчерами по типу Batch ApkTool + плагин AllInOne:

  • Декомпилировать,
  • Запустить AllInOne,
  • Поставить ✓флажок на «Клонировать APK»,
  • Ввести имя пакета,
  • Рекомпилировать,
  • Подписать.

Но без root-прав камеру поверх стандартной поставить не получится, т.к. не будут совпадать подписи!
Нужно будет применять патч на проверку подписи в packagemanager, например, через LuckyPatcher: Инструменты -> Настройки Xposed -> Включить 2 и 3.

Редактирование APK

введите сюда описание изображения

Имеется APK-файл скачанный с Play Market через онлайн-загрузчик (всё скачалось корректно, пробовал устанавливать). Попробовал декомпилировать пакет и заново его собрать с помощью apktool, batch apktool и APK Editor Studio (использовал последние на настоящий момент версии). И несмотря на то что я не вносил совершенно никаких изменений, при запуске после установки я вижу ошибку. Для подписи APK использовал Apk / Zip File signer прямо на телефоне (APK Editor Studio и batch apktool эту работу выполняют автоматически). Ссылка на приложение, с которым я работаю: https://play.google.com/store/apps/details?id=pedometer.steptracker.calorieburner.stepcounter

Отслеживать
задан 5 мар 2023 в 10:54
1,092 1 1 золотой знак 14 14 серебряных знаков 41 41 бронзовый знак

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Исправить проблему с неустановленным APK

Сбросив настройки приложения

Шаг 1: Перейдите в «Настройки», нажмите «Приложения и уведомления».

Шаг 2: Нажмите «Просмотреть все приложения».

Шаг 3: В правом верхнем углу нажмите на три точки, затем нажмите «Сбросить настройки приложения».

Шаг 4: Когда откроется диалоговое окно, нажмите «СБРОС ПРИЛОЖЕНИЙ».

Отслеживать
ответ дан 15 мар 2023 в 2:14
1,816 1 1 золотой знак 4 4 серебряных знака 19 19 бронзовых знаков

Я попробовал отключить защиту Google Play, распаковать и собрать обратно APK с помощью APK Editor Studio — всё запустилось хорошо. Однако как только я внёс небольшое изменение в исходники (удалил 1 тег в файле с разметкой в расположении Resources/layout/*.xml), я снова получаю ошибку «Файл повреждён» при запуске после установки. Сброс приложений не помог. Я не пробовал самостоятельно подписывать APK. Может ли в этом быть проблема? Дело в том, что APK Editor Studio автоматически подписывает APK.

15 мар 2023 в 16:45

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

15 мар 2023 в 16:47
Может ли эту ошибку выводить само приложение? Защита от редактирования какая нибудь.
15 мар 2023 в 19:19

@D.Stark а как насчет дивайса с которого совершаются попытки запуска апк файла? Он свеж, в плане дров и обновлений?

16 мар 2023 в 0:10

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

16 мар 2023 в 10:21

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

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

Попробуйте проверить подпись APK-файла с помощью команды jarsigner из JDK. Для этого выполните следующую команду в терминале:

jarsigner -verify -verbose -certs your_app.apk 

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

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

Как открыть APK файл в Android Studio?

Можно, но зачем это делать ВАМ и при чем тут IDE? Как вам «намекнул» @metalurgus, используйте архиватор, чтобы залезть внутрь..

23 янв 2015 в 19:25
На Github частенько бывают исходники приложений, не ленитесь там поискать.
23 фев 2018 в 21:08

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Никак. APK файл — это обычный ZIP архив, содержащий скомпилированный код. Android Studio не открывает APK файлы.

Отслеживать
11 1 1 золотой знак 2 2 серебряных знака 8 8 бронзовых знаков
ответ дан 23 янв 2015 в 19:07
Vladyslav Matviienko Vladyslav Matviienko
20.4k 3 3 золотых знака 30 30 серебряных знаков 52 52 бронзовых знака

Простой способ: использовать онлайн-инструмент http://www.javadecompilers.com/apk , загрузить apk и получить исходный код.

Процедура для декодирования .apk файлов, шаг за шагом: Шаг 1:

Создайте новую папку и скопируйте файл .apk, который вы хотите декодировать. Теперь переименуйте расширение этого .apk-файла в .zip (например, переименуйте с filename.apk в filename.zip) и сохраните его. Теперь вы можете получить доступ к файлам classes.dex и т. Д. На этом этапе вы можете видеть чертежи, но не файлы xml и java, поэтому продолжайте. 
Теперь извлеките этот .zip-файл в ту же папку (или NEW FOLDER). Загрузите dex2jar и извлеките его в ту же папку (или NEW FOLDER). Переместите файл classes.dex в папку dex2jar. Теперь откройте командную строку и смените каталог на эту папку (или NEW FOLDER). Затем напишите d2j-dex2jar classes.dex (для терминала mac или ubuntu write ./d2j-dex2jar.sh classes.dex) и нажмите enter. Теперь у вас есть файл classes.dex.dex2jar в той же папке. Загрузите java decompiler , дважды щелкните по jd-gui, щелкните по открытому файлу и откройте classes.dex .dex2jar из этой папки: теперь вы получаете файлы классов. Сохраните все эти файлы классов (в jd-gui, щелкните File -> Save All Sources) по имени src. На этом этапе вы получаете источник java, но файлы .xml по-прежнему не читаются, поэтому продолжайте. 

Теперь откройте еще одну новую папку

Вставьте файл .apk, который вы хотите декодировать Загрузите последнюю версию apktool И окно установки apktool (обе могут быть загружены из одной и той же ссылки ) и поместите их в ту же папку Откройте командное окно Теперь запустите команду, например apktool if framework-res.apk и следующую apktool d myApp.apk (где myApp.apk обозначает имя файла, которое вы хотите декодировать) 

теперь вы получаете папку с файлами в этой папке и можете легко прочитать XML-файлы apk. Шаг 4:

Это не какой-либо шаг, просто скопируйте содержимое обеих папок (в данном случае и новую папку) в один файл

и наслаждайтесь источником код .

Как в Android Studio создавать установочный apk файл?

введите сюда описание изображения

«Build — Generate Signed APK», а дальше что? Там окошко Как его заполнять? Я попробовал просто вставить значение «1», чтобы пропустило дальше, но ничего не вышло, конце выдало ошибку.

Отслеживать
задан 7 июл 2015 в 13:42
953 6 6 золотых знаков 13 13 серебряных знаков 34 34 бронзовых знака
Что если на help в окошке нажать
7 июл 2015 в 13:47

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

7 июл 2015 в 13:50

Для того, чтобы создать установочный .apk, вам нужно подписать его собственным ключом разработчика. Из вашего вопроса очевидно, что такого ключа у вас нет, поэтому нажмите на: Create New , чтобы сгенирировать такой ключ, заполнив необходимые поля появившейся формы, а затем уже в этом окне надо будет указать путь до сгенерированного ключа и ту информацию, которую вы использовали для его генерации ( пароль и тд).

7 июл 2015 в 13:55

Вот теперь я получил папку «app» с файлами, что теперь необходимо сделать чтобы это установить на мой смартфон?

7 июл 2015 в 14:00
7 июл 2015 в 14:00

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Если вы хотите просто установить приложение на телефон, для проверки его функционала, то вам надо зайти в папку, где у вас хранится проект и зайти в папку app\build\outputs , там у вас будет файл app-debug.apk.
Этот файл вы копируете на свой телефон и через программу fileManager находите ее и устанавливаете.
То что вы делали, это нужно для того, чтобы создать уникальный сертификат для вашего приложения (это нужно для того чтобы выложить приложение в Google play Market).

P.C. не копируйте файл app-debug-unaligned. При каждом компилировании проекта у вас будет обновляться ваш файл app-debug.apk

Отслеживать
36.8k 6 6 золотых знаков 49 49 серебряных знаков 125 125 бронзовых знаков
ответ дан 8 июл 2015 в 5:49
358 2 2 серебряных знака 7 7 бронзовых знаков

Запятые? Не, не слышал . Можно просто использовать устройство в качестве отладочного и тогда для того, чтобы установить приложение нужно просто нажать «Run».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *