Как отредактировать чужой апк в 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.
Как поменять версию приложения на Андроиде

Android обладает широким набором возможностей в плане самостоятельной настройки пользователем, однако некоторые функции недоступны через стандартный системный интерфейс, ввиду чего требуется задействовать решения в лице сторонних программ. Иногда они даже требуют права root на Android, которые можно легко получить с помощью распространённых в Сети утилит.
Темой статьи выступает изменение версии программы на Android, которое возможно без рутирования девайса и управления устройством с помощью компьютера по ADB.
- 1 Зачем менять версию приложений?
- 2 Как изменить версию приложения Android
- 2.1 APK Editor
- 2.2 Lucky Patcher
- 3.1 Приложение Lucky Patcher не работает
- 3.2 Модифицированное приложение не работает
Зачем менять версию приложений?
Рядовому пользователю выполнять шаги, представленные на этой странице, не следует – это не даст никакой прибавки производительности и не откроет какую-либо новую функциональность софта. Инструкции, приведённые здесь, помогут пользователям старых устройств запустить приложения, недоступные по умолчанию из-за несовместимости версий: той, которая установлена на смартфоне читателя и другой, выставленной разработчиком программного обеспечения при его компиляции.
Несмотря на доступность этой функции по отношению ко многим разработкам, доступных для Android, не всегда можно выполнить такие изменения. Кроме того, модифицированное приложение даже в случае успешной сборки может начать работать нестабильно, «вылетая» и «зависая». Лучшим решением выступает обновление версии Android, установленной на устройстве, до последней предусмотренной производителем. Например, на сайте есть статья, посвящённая обновлению девайсов Xiaomi. Таким образом, смартфон начнёт поддерживать больше приложений, а также получит обновления дизайна и безопасности.
Как изменить версию приложения Android
Наиболее простыми выступают два решения, которые рассмотрены в этом тексте и, как упоминалось ранее, не требуют рутирования, тоже заслужившего внимания в отдельном материале. Root повлёк бы понижение защищённости устройства и от вирусов, и от злоумышленников, завладевших доступом к мобильному девайсу. Собственно, если не знаете, как изменить версию приложения на Андроиде, используйте методы, описанные ниже.
APK Editor
Первый вариант – пользование PRO-версией программы APK Editor, которая доступна в интернете бесплатно. Для работы с ней достаточно выполнить следующие шаги:
- Проведите пальцем снизу вверх, чтобы открыть меню приложений;

- Запустите браузер (например, Chrome);

- Оба приложения недоступны в Google Play, однако вы можете загрузить их с таких сторонних источников, как 4PDA (требуется авторизация) и Trashbox. На первом сайте минимальной версией Android выступает 4.0, а на втором есть как этот релиз, так и совместимые с 3.2 и 3.1 выпуски;

- Подтвердите действия, нажав «Скачать»;

- Выберите «ОК» в окне-предупреждении, вызванном браузером;

- Запустите инсталлятор, что станет возможно после загрузки;

- Тапните «Установить»;

- Откройте программу;

- Выдайте доступ к взаимодействию с файловой системой устройства;

- Нажмите первую или вторую кнопку в зависимости от типа APK;

- Укажите путь к файлу. Если выбран второй вариант, нажмите по наименованию приложения;

- Выберите «Декодировать все файлы»;

- Перейдите во вкладку «Файлы»;

- Откройте xml;

- Найдите строку, начинающуюся комбинацией
- Нажмите иконку дискеты, находящуюся в нижнем левом углу, для сохранения.

Подробнее о версиях 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 из приложений, блокировки рекламы и даже более интересных целей, таких как накрутка внутриигровой валюты.
Поделиться ссылкой:
How to change Android version and code version number?
How to change Android version and code version number Android Studio? I want to change apk file (app) on Google Play and I need to change Android version and code version number. I tried with this in AndroidManifest.xml file in Android Studio:
But it does not work. When I tried to publish it on Google Play it display that I must to change Android version name and code.
27.6k 22 22 gold badges 122 122 silver badges 151 151 bronze badges
asked Mar 8, 2014 at 20:28
Marko Stojkovic Marko Stojkovic
3,305 4 4 gold badges 19 19 silver badges 20 20 bronze badges14 Answers 14
Go in the build.gradle and set the version code and name inside the defaultConfig element
defaultConfig

answered Mar 8, 2014 at 20:35
48.3k 28 28 gold badges 94 94 silver badges 114 114 bronze badges
Is there a way to access the versionname in Java?
Jun 13, 2014 at 9:33Do we also have to change the xml verion if only java files have been updated ?-> ?xml version=»1.0″ encoding=»utf-8″?>
Jul 7, 2014 at 9:06
Make sure to clean the project after changing the version or it may not show up in the APK.
Oct 1, 2014 at 8:31It solved my issue too. However, I really really hate,hate,hhhaaate when you have million different places where to change a variable and just one of them is the right one, like in this case.
Jul 17, 2015 at 8:38
It’s pretty annoying, since this setting was just for a single App, why not keep it in APP’s manifest.xml ? Google did this for no reason.
Nov 14, 2017 at 2:39
The easiest way to set the version in Android Studio:
1. Press SHIFT + CTRL + ALT + S (or File -> Project Structure)
- Choose app (from left panel).
- Choose tab ‘Flavors’
- The last two fields are ‘Version Code’ and ‘Version Name’
Android Studio >= 3.4:
- Choose ‘Modules’ in the left panel.
- Choose ‘app’ in middle panel.
- Choose ‘Default Config’ tab in the right panel.
- Scroll down to see and edit ‘Version Code’ and ‘Version Name’ fields.
345 1 1 gold badge 6 6 silver badges 14 14 bronze badges
answered Nov 11, 2014 at 12:55
Ivo Stoyanov Ivo Stoyanov
16.5k 8 8 gold badges 64 64 silver badges 67 67 bronze badges
FYI: File -> Project Structure -> Choose tab ‘Flavors’ Thank you @Ivo Stoyanov
Mar 24, 2015 at 9:40I face very strange issue. I change versionName from build.gradle file but it was not updated in BuildConfig file and so when I generate apk, it shows wrong versionName. Then I edit versionName from flavors, then it starts working. Thank you!
Feb 16, 2017 at 14:28
Note: This no longer works as of Android Studio 3.4
May 3, 2019 at 1:39You can define your versionName and versionCode in your module’s build.gradle file like this :
android < compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig < minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName "1.0" >. //Other Configuration >answered Mar 8, 2014 at 20:36
Piyush Agarwal Piyush Agarwal
25.7k 8 8 gold badges 99 99 silver badges 111 111 bronze badgesPress Ctrl + Alt + Shift + S in android studio or go to File > Project Structure.

Select app on left side and select Flavors tab on right side on default config change version code, name and etc.
1,151 2 2 gold badges 19 19 silver badges 31 31 bronze badges
answered Mar 8, 2015 at 17:18
Masoud.Ebrahimi Masoud.Ebrahimi
309 3 3 silver badges 4 4 bronze badges
Unable to find app option after generating my signed apk
Jun 13, 2019 at 11:07You can manage your application versioning wisely by using the Advanced Build Version Plugin for Gradle.
You just need to include the plugin in yout build.gradle :
buildscript < repositories < jcenter() >dependencies < classpath 'org.moallemi.gradle.advanced-build-version:gradle-plugin:1.5.0' >> apply plugin: 'org.moallemi.advanced-build-version'And then you can use the versioning functions (and, obviously, customize them):
advancedVersioning < nameOptions < >codeOptions < >outputOptions < >> def appVersionName = advancedVersioning.versionName def appVersionCode = advancedVersioning.versionCodeFor more information, take a look at the official documentation.
answered May 10, 2015 at 19:05
13.5k 5 5 gold badges 47 47 silver badges 72 72 bronze badgesThe official documentation on this is here.
The short answer is do it in Gradle not the manifest, Gradle overwrites the manifest.
The File | Project Structure | Modules | Default Config answer given above just updates Gradle via a UI rather than by directly editing XML.

The longer answer is:
If your app defines the app version directly in the element, the version values in the Gradle build file will override the settings in the manifest. Additionally, defining these settings in the Gradle build files allows you to specify different values for different versions of your app. For greater flexibility and to avoid potential overwriting when the manifest is merged, you should remove these attributes from the element and define your version settings in the Gradle build files instead.
Загрузка нового apk приложения — ошибка номера версии
Здравствуйте! При загрузке новой версии приложения в Google Play возникает ошибка такого вида: APK-файл с кодом версии 1 уже существует. Используйте другой код. Вопрос заключается в том, где и как можно заменить этот самый код?
Отслеживать
69.8k 9 9 золотых знаков 66 66 серебряных знаков 123 123 бронзовых знака
задан 7 апр 2016 в 14:59
201 1 1 золотой знак 2 2 серебряных знака 6 6 бронзовых знаков3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Update
в build.gradle(Module: app)
android < . defaultConfig < . versionCode 2 //для Google Play versionName "1.1" //для пользователей >>в manifest Вашего проекта
Отслеживать
ответ дан 7 апр 2016 в 15:17
5,002 2 2 золотых знака 17 17 серебряных знаков 40 40 бронзовых знаковт,е чтобы просто заменить код вместо xml version=»1.0″ ставим xml version=»2.0″ после чего создаем apk ?
7 апр 2016 в 15:20
не-не, я указал часть где меняется версия кода.
7 апр 2016 в 15:32Чтобы Google Play принял новую версию приложения, нужно повысить версию кода android:versionCode . Если ранее android:versionCode=»1″ , то в новой версии он должен быть на 1 больше — android:versionCode=»2″ .
Если Вы пишете приложения в среде разработки Android Studio С применением Gradle системы сборки, то версию кода нужно будет повышать в файле build.gradle уровня приложения, то есть того, что лежит в папке /app . Внутри этого файла Вы легко найдете строчку versionCode .
versionName — Ваша собственная версия приложения, ее можно показывать пользователям. Она может быть двойная, тройная, с буквами.
После этого нужно собрать *.apk через Build-Generate signed APK. .