Comment puis-je obtenir le fichier apk à partir d'un appareil Android? Ou comment transférer le fichier apk de l'appareil vers le système?
Utilisez adb . Avec adb pull, vous pouvez copier des fichiers de votre appareil vers votre système, lorsque l'appareil est connecté via USB.
Bien sûr, vous avez également besoin des autorisations appropriées pour accéder au répertoire dans lequel se trouve votre fichier. Sinon, vous devrez d'abord rooter le périphérique.
Si vous constatez que de nombreux fichiers APK sont nommés "base.apk", vous pouvez également utiliser cette commande d'une ligne pour extraire tous les fichiers APK d'un téléphone auquel vous pouvez accéder tout en renommant tous les noms "base.apk" en nom de package. Cela corrige également le problème de répertoire introuvable pour les chemins APK avec des caractères apparemment aléatoires après le nom:
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
Si vous obtenez "adb: erreur: n'a pas réussi à stat objet distant" qui indique que vous ne disposez pas des autorisations nécessaires. Je l'ai exécuté sur un Moto Z2 NON rooté et j'ai pu télécharger TOUS les APK que je n'ai pas désinstallés (voir ci-dessous) sauf YouTube.
adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver <--- kills presidential alert app!
(pour afficher les utilisateurs exécutent adb shell pm liste les utilisateurs) C'est un moyen de supprimer / désinstaller (pas du téléphone car il revient avec la réinitialisation d'usine) presque TOUTE application SANS racine INCLUANT les applications système (faites allusion à l'application de mise à jour ennuyeuse qui met à jour votre téléphone la ligne ou non peut être trouvée en cherchant "ccc")
adb shell pm list packages
, puis son chemin completadb shell pm path your.package.name
depuis votre PC, vous pouvez simplementadb pull /full/path/to/your.apk
Aucune de ces suggestions n'a fonctionné pour moi, car Android ajoutait un numéro de séquence au nom du package pour produire le nom de fichier APK final. Sur les versions plus récentes d'Android (Oreo et Pie), une chaîne aléatoire imprévisible est ajoutée. La séquence de commandes suivante est ce qui a fonctionné pour moi sur un appareil non rooté :
1) Déterminez le nom du package de l'application, par exemple "com.example.someapp". Ignorez cette étape si vous connaissez déjà le nom du package.
Parcourez la liste des noms de packages et essayez de trouver une correspondance entre l'application en question et le nom du package. C'est généralement facile, mais notez que le nom du package peut être complètement indépendant du nom de l'application. Si vous ne pouvez pas reconnaître l'application dans la liste des noms de packages, essayez de trouver l'application dans Google Play à l'aide d'un navigateur. L'URL d'une application dans Google Play contient le nom du package.
2) Obtenez le nom de chemin complet du fichier APK pour le package souhaité.
La sortie ressemblera à quelque chose
package: /data/app/com.example.someapp-2.apk
ou
package: /data/app/com.example.someapp-nfFSVxn_CTafgra3Fr_rXQ == / base.apk
3) En utilisant le nom de chemin complet de l'étape 2, tirez le fichier APK de l'appareil Android vers la boîte de développement.
la source
pm list packages
prend en charge le-f
drapeau, qui répertorie l'emplacement du .apk pour vous, commepackage:/data/app/com.google.android.apps.maps-1.apk=com.google.android.apps.maps
. L'aide intégrée de pm est inutile, mais pm peut également filtrer les types de packages, voir developer.android.com/studio/command-line/adb.html#pm pour plus d'informations. EDIT: vient de remarquer que la réponse ci-dessous dit cela, mais cette réponse n'est pas aussi bien votée que celle-ci.adb: error: remote object '/data/app/path.of.the.app-2/base.apk' does not exist
. Si je parcours ces dossiers avec un explorateur de fichiers, les dossiers sont vides.adb shell
puiscp PathToApk /sdcard/
, puis en copiant à partir de la carte SD.Aucune racine n'est requise:
Ce code obtiendra le chemin des packages tiers avec le nom afin que vous puissiez facilement identifier votre APK
la sortie sera
tirez maintenant ce paquet en utilisant le code ci-dessous:
si vous avez exécuté au-dessus de cmd in
C:>\
, vous y trouverez ce package.la source
-f -s
au lieu de-f -3
J'ai vu que de nombreuses solutions à ce problème, soit vous devez rooter votre téléphone ou vous devez installer une application. Ensuite, après beaucoup de recherches sur Google, j'ai obtenu cette solution pour les téléphones non rootés / rootés.
Pour répertorier les applications que vous avez obtenues jusqu'à présent.
Ensuite, vous pouvez sélectionner une application, par exemple Twitter
Une chose importante ici est de ne pas configurer de mot de passe pour crypter votre sauvegarde
Cela va créer un fichier nommé backup.ap, mais vous ne pouvez toujours pas l'ouvrir. Pour cela, vous devez l'extraire à nouveau, mais en utilisant la commande dd.
Après cela, tout ce que vous avez à faire est d'extraire le contenu du goudron et c'est fait.
J'espère que cela fonctionne pour vous les gars
la source
Étapes pour télécharger l'APK de l'appareil vers le bureau
A) Assurez-vous que votre fonctionnement (émulateur / appareil réel). Pour vérifier, utilisez cette commande
B) Sélectionnez toute la liste des packages disponibles installée sur votre appareil. Vous pouvez utiliser la commande grep pour sélectionner le package spécifique que vous souhaitez télécharger.
Sortie (Liste des packages disponibles)
C) Copiez le package (que vous souhaitez télécharger) à partir du lien ci-dessus. Dans notre cas, je choisis ce package (com.example.myapplication)
Production
D) Enfin, pour télécharger l'APK de votre (émulateur / appareil réel)
Exemple: essayer d'extraire ce fichier CertInstaller.apk sur votre ordinateur local (Mac)
E) Confirmez dans votre annuaire local
la source
la source
Un liner qui fonctionne pour toutes les versions d'Android:
la source
En complétant la réponse de @Yojimbo, voici ce que j'ai fait (Linux / Mac uniquement, ne fonctionnera pas prêt à l'emploi sur Windows ... peut-être dans le shell bash de git):
C'est moche bash, mais ça marche :)
EDIT: Cela ne fonctionne plus sur AndroidM: tous les fichiers sont nommés "base.apk" sous un autre répertoire. Doit être «trivial» à corriger.
la source
Sur les systèmes Unix, vous pouvez essayer cette fonction:
android_pull_apk com.android.contacts
adb shell pm list packages
la source
Comme indiqué ci-dessus, vous pouvez obtenir l'apk en utilisant la commande pull dans adb.
Depuis, vous parlez de vos applications installées, allez-y et regardez dans / data / app répertoire de votre système de fichiers Android. Vous y trouverez les fichiers APK.
Utilisez ensuite la commande adb - adb pull /data/data/appname.apk
la source
Essayez cette commande one liner bash pour sauvegarder toutes vos applications:
Cette commande est dérivée du script de Firelord . Je viens de renommer toutes les apks en leurs noms de paquets pour résoudre le problème avec le script elcuco , c'est-à-dire le même
base.apk
fichier écrasé sur Android 6.0 "Marshmallow" et au-dessus.Notez que cette commande sauvegarde uniquement les applications tierces, car je ne vois pas l'intérêt de sauvegarder les applications intégrées. Mais si vous souhaitez également sauvegarder les applications système, omettez simplement l'
-3
option.la source
Si vous connaissez (ou si vous pouvez «deviner») le chemin vers le
.apk
(il semble être du format/data/app/com.example.someapp-{1,2,..}.apk
vers, alors vous pouvez simplement le copier depuis/data/app
également. Cela a fonctionné même sur mon téléphone Android stock non rooté.Utilisez simplement une application Terminal Emulator (comme celle-ci ) et exécutez:
Ensuite, vous pouvez le déplacer de la carte SD à l'endroit où vous le souhaitez (ou le joindre à un e-mail, etc.). Le dernier morceau peut être techniquement facultatif, mais il vous facilite la vie lorsque vous essayez de faire quelque chose avec le
.apk
fichier.la source
Les procédures décrites ici ne fonctionnent pas pour Android 7 (Nougat) [et peut-être Android 6, mais je ne peux pas vérifier]. Vous ne pouvez pas extraire les fichiers .apk directement sous Nougat (sauf en mode root, mais cela nécessite un téléphone rooté). Mais, vous pouvez copier le fichier .apk vers un autre chemin (par exemple / sdcard / Download) sur le téléphone à l'aide du shell adb, puis vous pouvez effectuer une extraction adb à partir du chemin alternatif.
la source
adb shell
commandes du commentaire de @Isa A) a bien fonctionné pour moi sur Android 7.1.1, pas enracinée.Obtenez l'application actuellement ouverte avec:
Obtenez le chemin d'accès au nom du package
4. Copiez le chemin d'accès que vous avez obtenu dans le répertoire sdcard
5.Tirez l'apk
Éditer
Si l'étape n ° 2 ne fonctionne pas, utilisez ceci:
la source
Voici comment procéder:
Téléchargez et installez APK Extractor sur votre appareil. Il est gratuit et compatible avec presque tous les appareils Android. Un autre point positif est qu'il n'a même pas besoin de root ou quoi que ce soit pour fonctionner. Après l'avoir installé, lancez-le. Vous y verrez une liste des applications présentes sur votre appareil, qui incluent les applications que vous avez installées ultérieurement, ainsi que les applications système. Appuyez longuement sur n'importe quelle application que vous souhaitez extraire (vous pouvez sélectionner plusieurs ou toutes les applications à la fois), puis cliquez sur l'option d'extraction que vous voyez en haut. Vous aurez également la possibilité de partager via Bluetooth ou messagerie. Vous avez terminé, vous verrez les applications extraites comme AppName_AppPackage_AppVersionName_AppVersionCode.apk, qui seront enregistrées dans le chemin / sdcard / ExtrolvedApks / par défaut.
Pour une description détaillée de la façon d'extraire des fichiers apk dans Android , visitez: http://appslova.com/how-to-extract-apk-files-in-android/
la source
Toutes ces réponses nécessitent plusieurs étapes pour chaque fichier apk récupéré de l'appareil. 1. déterminer le nom du package, 2. trouver le fichier et 3. le télécharger. J'ai construit un
apk_grabber
script python simple pour le faire pour n'importe quelle application qui correspond à une expression régulière donnée, puis décompile ces apks dans des fichiers jar.la source
Je n'ai pas utilisé de code pour extraire le fichier .apk du mobile, mais j'ai utilisé un logiciel pour extraire le fichier .apk du mobile et les logiciels que j'ai utilisés sont ci-dessous avec le lien Google Play:
J'espère que cela vous aide.
la source
vous voulez une solution très, très confortable de 1 minute?
juste vous cette application https://play.google.com/store/apps/details?id=com.cvinfo.filemanager (gestionnaire de fichiers intelligent de google play).
appuyez sur "applications", choisissez-en une et appuyez sur "sauvegarde". il se retrouvera sur votre système de fichiers dans le
app_backup
dossier;)la source
Aucun outil Root et aucun outil ADB requis. Installez l' application MyAppSharer à partir du Play Store.
la source
j'ai un
does not exist error
Voici comment je le fais fonctionner
la source
Encore un autre script bash (c'est-à-dire qui fonctionnera pour la plupart des systèmes basés sur Unix). Basé sur la réponse de Pedro Rodrigues , mais est légèrement plus facile à utiliser.
Améliorations par rapport à la version de Pedro:
adb pull
continuait de se plaindreno such file or directory
pendant queadb shell
je pouvais accéder au fichier. J'ai donc utilisé une approche différente, avec un fichier temporaire.Enregistrez-le dans un fichier exécutable:
la source
Le plus simple est: Installez l'application "ShareIt" sur le téléphone. Installez maintenant l'application shareIt sur un PC ou un autre téléphone. À partir du téléphone, où l'application est installée, ouvrez ShareIt et envoyez. Sur un autre téléphone ou PC, ouvrez ShareIt et recevez.
la source
J'ai vraiment aimé toutes ces réponses. La plupart des scripts à exporter et à renommer tous ont été écrits en Bash. J'ai fait un petit script Perl qui fait de même (qui devrait fonctionner à la fois en Perl pour Windows et Linux, uniquement testé sur Ubuntu).
download-apk.pl
La sortie est quelque chose de similaire à:
la source
Cela aidera quelqu'un qui recherche une réponse non technique
C'est un simple hack
Téléchargez l'application
App Share/Send Pro
sur google play store. Sélectionnez l'application que vous souhaitez envoyer et la méthode d'envoi de l'application.J'utilise généralement Bluetooth pour envoyer des applications à mon ordinateur ou à un autre téléphone.
la source