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

Читал, что для работы с приложениями, точнее, над приложениями, используют прогу под названием Android Studio. Но не знаю, как. И плюс было бы круто если бы был способ обойтись без компа, т.е. сделать все с мобилы

Моей целью является "подправить" название пакейджа файла, а заодно и номер версии. Дело в том, что у меня на самсунге камера ну капец лагучая, а вот сторонний софт - очень даже ниче так. И вот я вытащил 2 апк файла, у одного имя com.sec.android.camera, у другого net.sourceforge.opencamera.

Я хочу в OpenCamera'вском манифесте поменять имя пакета и изменить версию, чтобы накатом "обновить" системную камеру до сторонней.


Ответы (1 шт):

Автор решения: Andrey

OpenCamera'вском

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

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

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


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

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

  • Ресурсы (res/*),
  • Код приложения (smali/, smali_classes2/ ...),
  • Двоичные файлы (assets/),
  • Библиотеки, если есть (lib/<arch>/),
  • Файлы другого типа, манифест и инфа для 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.

→ Ссылка