Как получить файл apk с устройства Android? Или как мне перенести файл apk с устройства на систему?
Используйте adb . С помощью adb pull вы можете копировать файлы с вашего устройства на вашу систему, когда устройство подключено через USB.
Конечно, вам также необходимы правильные разрешения для доступа к каталогу, в котором находится ваш файл. Если нет, вам сначала нужно будет выполнить рутирование устройства.
Если вы обнаружите, что многие из APK называются «base.apk», вы также можете использовать эту однострочную команду, чтобы извлечь все APK из телефона, к которому у вас есть доступ, переименовывая любые имена «base.apk» в имя пакета. Это также устраняет проблему, связанную с отсутствием каталога для путей APK с кажущимися случайными символами после имени:
for i in $(adb shell pm list packages | awk -F':' '{print $2}'); do adb pull "$(adb shell pm path $i | awk -F':' '{print $2}')"; mv base.apk $i.apk 2&> /dev/null ;done
Если вы получаете «adb: error: не удалось определить удаленный объект», это означает, что у вас нет необходимых разрешений. Я запустил это на некоренном Moto Z2 и смог загрузить ВСЕ APK, которые я не удалял (см. Ниже), кроме youtube.
adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver <--- kills presidential alert app!
(для просмотра пользователей запустите adb shell pm list users) Это способ удалить / удалить (не с телефона, так как он возвращается с заводским сбросом) почти ЛЮБОЕ приложение БЕЗ root, включая системные приложения (подсказка раздражающее приложение обновления, которое обновляет ваш телефон) строка это или нет, можно найти с помощью grepping для "ccc")
adb shell pm list packages
и его полный путь, аadb shell pm path your.package.name
затем на своем компьютере, вы можете простоadb pull /full/path/to/your.apk
Ни одно из этих предложений не помогло мне, потому что Android добавлял порядковый номер к имени пакета, чтобы получить окончательное имя файла APK. В более поздних версиях Android (Oreo и Pie) добавляется непредсказуемая случайная строка. Следующая последовательность команд - это то, что сработало для меня на некорневом устройстве :
1) Определите имя пакета приложения, например, «com.example.someapp». Пропустите этот шаг, если вы уже знаете имя пакета.
Просмотрите список имен пакетов и попробуйте найти соответствие между рассматриваемым приложением и именем пакета. Обычно это легко, но обратите внимание, что имя пакета может быть совершенно не связано с именем приложения. Если вы не можете распознать приложение из списка названий пакетов, попробуйте найти приложение в Google Play с помощью браузера. URL-адрес приложения в Google Play содержит название пакета.
2) Получить полный путь к файлу APK для нужного пакета.
Вывод будет выглядеть примерно так
: package: /data/app/com.example.someapp-2.apk
или
package: /data/app/com.example.someapp-nfFSVxn_CTafgra3Fr_rXQ == / base.apk
3) Используя полный путь из шага 2, перетащите APK-файл с устройства Android в окно разработки.
источник
pm list packages
поддерживает-f
флаг, который перечисляет местоположение .apk для вас, какpackage:/data/app/com.google.android.apps.maps-1.apk=com.google.android.apps.maps
. Встроенная справка pm бесполезна, но pm также может фильтровать типы пакетов, см. Developer.android.com/studio/command-line/adb.html#pm для получения дополнительной информации. РЕДАКТИРОВАТЬ: только что заметил, что ответ ниже говорит об этом, но этот ответ не так проголосовал, как этот.adb: error: remote object '/data/app/path.of.the.app-2/base.apk' does not exist
. Если я просматриваю эти папки с помощью файлового браузера, папки пусты.adb shell
и затемcp PathToApk /sdcard/
и затем копируя с SDCard.Корень не требуется:
Этот код получит путь к сторонним пакетам с именем, чтобы вы могли легко определить свой APK
выход будет
Теперь потяните этот пакет, используя следующий код:
если вы выполнили выше cmd в
C:>\
, то вы найдете этот пакет там.источник
-f -s
вместо-f -3
Я видел много решений этой проблемы: либо вам нужно рутировать свой телефон, либо вам нужно установить приложение. Затем, после долгих поисков, я получил это решение для нерутированных / рутированных телефонов.
Чтобы перечислить, какие приложения вы получили до сих пор.
Затем вы можете выбрать приложение, например, Twitter
Здесь важно не устанавливать пароль для шифрования вашей резервной копии.
Это создаст файл с именем backup.ap, но вы все равно не сможете его открыть. Для этого вы должны извлечь его снова, но с помощью команды dd.
После этого все, что вам нужно сделать, это извлечь содержимое tar, и все готово.
Надеюсь, это работает для вас, ребята
источник
Действия по загрузке APK с устройства на рабочий стол
А) Убедитесь, что вы работаете (эмулятор / реальное устройство). Для проверки используйте эту команду
Б) Выберите весь список доступных пакетов, установленных на вашем устройстве. Вы можете использовать команду grep, чтобы выбрать конкретный пакет, который вы собираетесь загрузить.
Вывод (список доступных пакетов)
C) Скопируйте пакет (который вы хотели бы скачать) по ссылке выше. В нашем случае я выбираю этот пакет (com.example.myapplication)
Вывод
D) Наконец, скачать APK с вашего (эмулятора / реального устройства)
Пример: попытка вытянуть этот файл CertInstaller.apk на локальном компьютере (Mac)
E) Подтвердите в вашем локальном каталоге
источник
источник
Один лайнер, который работает для всех версий Android:
источник
Завершая ответ @Yojimbo, это то, что я сделал (только для Linux / Mac, не будет работать "из коробки" в Windows ... может быть, в git-оболочке bash):
Это уродливый баш, но работает :)
РЕДАКТИРОВАТЬ: Это больше не работает на AndroidM: все файлы называются «base.apk» под другим каталогом. Должно быть "тривиальным", чтобы исправить.
источник
В системах Unix вы можете попробовать эту функцию:
android_pull_apk com.android.contacts
adb shell pm list packages
источник
Как сказано выше, вы можете получить apk, используя команду pull в adb.
Поскольку вы говорите об установленных приложениях, посмотрите каталог / data / app вашей файловой системы Android. Вы найдете APK там.
Затем используйте команду adb - adb pull /data/data/appname.apk
источник
Попробуйте эту команду liner bash для резервного копирования всех ваших приложений:
Эта команда является производной от скрипта Повелителя огня . Я просто переименовал все apks в их имена пакетов для решения проблемы со скриптом elcuco , то есть тот же
base.apk
файл перезаписывается на Android 6.0 «Marshmallow» и выше.Обратите внимание, что эта команда выполняет резервное копирование только сторонних приложений, потому что я не вижу смысла в резервном копировании встроенных приложений. Но если вы хотите создать резервную копию системных приложений, просто опустите
-3
опцию.источник
Если вы знаете (или если вы можете «угадать») путь к
.apk
( кажется, что он имеет формат/data/app/com.example.someapp-{1,2,..}.apk
, то вы можете просто скопировать его из/data/app
. Это работало даже на моем обычном Android-телефоне без root-доступа.Просто используйте приложение Terminal Emulator (например, это ) и запустите:
Затем вы можете переместить его с SD-карты куда угодно (или прикрепить к электронному письму и т. Д.). Последний бит может быть технически необязательным, но он делает вашу жизнь намного проще, когда вы пытаетесь что-то сделать с
.apk
файлом.источник
Процедуры, описанные здесь, не работают для Android 7 (Nougat) [и, возможно, Android 6, но я не могу проверить]. Вы не можете извлекать файлы .apk непосредственно под Nougat (если только не в режиме root, но для этого требуется рутованный телефон). Но вы можете скопировать .apk по альтернативному пути (скажем, / sdcard / Download) на телефоне, используя оболочку adb, затем вы можете выполнить извлечение adb из альтернативного пути.
источник
adb shell
команды из комментария @Isa A) отлично работал на Android 7.1.1, не рутированный.Получить текущее открытое приложение с:
Получить путь к имени пакета
4. Скопируйте путь, который вы получили в каталог SDCard
5. Потяните апк
редактировать
Если шаг № 2 не работает, используйте это:
источник
Вот как вы это делаете:
Скачайте и установите APK Extractor на ваше устройство. Он бесплатный и совместим практически со всеми устройствами Android. Еще один плюс - он даже не требует рута или чего-либо еще для работы. После того, как он установлен, запустите его. Там вы увидите список приложений, которые находятся на вашем устройстве, включая приложения, которые вы установили позже, а также системные приложения. Длительно нажмите на любое приложение, которое вы хотите извлечь (вы можете выбрать несколько или все приложения одновременно), и нажмите на опцию извлечения, которую вы видите в верхней части. У вас также будет возможность поделиться через Bluetooth или обмен сообщениями. Все готово, вы увидите извлеченные приложения как AppName_AppPackage_AppVersionName_AppVersionCode.apk, которые по умолчанию будут сохранены в пути / sdcard / ExtractedApks /.
Для подробного описания того, как извлечь apk-файлы в Android , посетите: http://appslova.com/how-to-extract-apk-files-in-android/
источник
Все эти ответы требуют нескольких шагов для каждого файла apk, полученного с устройства. 1. определить имя пакета, 2. найти файл и 3. загрузить его. Я создал простой
apk_grabber
скрипт на python, чтобы сделать это для любого приложения, соответствующего заданному регулярному выражению, а затем декомпилировал эти apks в файлы jar.источник
Я не использовал код для извлечения файла .apk с мобильного телефона, но я использовал программное обеспечение для извлечения файла .apk с мобильного телефона и программное обеспечение, которое я использовал ниже, со ссылкой Google Play:
Надеюсь, это поможет вам.
источник
хотите очень, очень удобное решение за 1 минуту?
только вам это приложение https://play.google.com/store/apps/details?id=com.cvinfo.filemanager (умный файловый менеджер из Google Play).
нажмите «приложения», выберите один и нажмите «резервное копирование». это закончится на вашей файловой системе в
app_backup
папке;)источник
Нет рута и нет инструментов ADB требуется метод. Установите приложение MyAppSharer из магазина игр.
источник
Я получил
does not exist error
Вот как я это делаю
источник
Еще один скрипт bash (т.е. будет работать для большинства систем на основе Unix). Основано на ответе Педро Родригеса , но немного проще в использовании.
Улучшения по сравнению с версией Педро:
adb pull
продолжал жаловаться,no such file or directory
покаadb shell
мог получить доступ к файлу. Поэтому я использовал другой подход, с временным файлом.Сохраните это в исполняемый файл:
источник
Самый простой из них: установить приложение «ShareIt» на телефон. Теперь установите приложение shareIt на ПК или другой телефон. Теперь с телефона, на котором установлено приложение, откройте ShareIt и отправьте. На другом телефоне или ПК откройте ShareIt и получите.
источник
Мне очень понравились все эти ответы. Большинство сценариев для экспорта и переименования всех написаны на Bash. Я сделал небольшой скрипт на Perl, который делает то же самое (который должен работать как в Perl для Windows, так и для Linux, только протестирован в Ubuntu).
download-apk.pl
Вывод похож на:
источник
Это поможет тем, кто ищет нетехнический ответ
Это простой взлом
Загрузите приложение
App Share/Send Pro
из магазина Google Play. Выберите приложение, которое вы хотите отправить, и метод отправки приложения.Я обычно использую Bluetooth для отправки приложений на мой компьютер или другой телефон.
источник