Как отредактировать чужой апк в Android Studio?
Читал, что для работы с приложениями, точнее, над приложениями, используют прогу под названием Android Studio. Но не знаю, как. И плюс было бы круто если бы был способ обойтись без компа, т.е. сделать все с мобилы
Моей целью является "подправить" название пакейджа файла, а заодно и номер версии. Дело в том, что у меня на самсунге камера ну капец лагучая, а вот сторонний софт - очень даже ниче так. И вот я вытащил 2 апк файла, у одного имя com.sec.android.camera, у другого net.sourceforge.opencamera.
Я хочу в OpenCamera'вском манифесте поменять имя пакета и изменить версию, чтобы накатом "обновить" системную камеру до сторонней.
Ответы (1 шт):
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.