Wie bekomme ich die apk-Datei von einem Android-Gerät? Oder wie übertrage ich die apk-Datei vom Gerät auf das System?
Antworten
Zu viele Anzeigen?-
Öffnen Sie die App, aus der Sie die apk extrahieren möchten, auf Ihrem Telefon.
-
Holen Sie sich die aktuell geöffnete App mit:
adb shell dumpsys activity activities | grep mFocusedActivity
-
Abrufen des Pfads zum Paketnamen
adb shell pm path <packagename.apk>
4. kopieren Sie den Pfad, den Sie erhalten haben, in das Verzeichnis sdcard
adb shell cp /data/app/<packagename.apk> /sdcard
5. die apk ziehen
adb pull /sdcard/base.apk
Editar
Wenn Schritt Nr. 2 nicht funktioniert, verwenden Sie dies:
adb shell dumpsys window windows | grep mCurrentFocus
Wie oben erwähnt, können Sie die apk mit dem Befehl pull in adb erhalten.
Da es sich um Ihre installierten Anwendungen handelt, schauen Sie bitte in der /data/app Verzeichnis Ihres Android-Dateisystems. Sie werden die APKs dort finden.
Verwenden Sie dann den adb-Befehl - adb pull /data/data/appname.apk
Die hier beschriebenen Verfahren funktionieren nicht für Android 7 (Nougat) [und möglicherweise Android 6, aber das kann ich nicht überprüfen]. Sie können die .apk-Dateien nicht direkt unter Nougat ziehen (es sei denn, im Root-Modus, aber das erfordert ein verwurzeltes Telefon). Aber, Sie können die .apk zu einem alternativen Pfad (sagen /sdcard/Download) auf dem Telefon mit adb shell kopieren, dann können Sie eine adb ziehen aus dem alternativen Pfad tun.
Wenn Sie den Pfad zu der Datenbank kennen (oder "erraten" können) .apk
(es scheint in dem Format /data/app/com.example.someapp-{1,2,..}.apk
auf , dann können Sie es einfach von /data/app
auch. Dies funktionierte sogar auf meinem nicht verwurzelten Android-Telefon.
Verwenden Sie einfach eine Terminal-Emulator-Anwendung (wie z. B. diese ) und laufen:
# step 1: confirm path
ls /data/app/com.example.someapp-1.apk
# if it doesn't show up, try -2, -3. Note that globbing (using *) doesn't work here.
# step 2: copy (make sure you adapt the path to match what you discovered above)
cp /data/app/com.example.someapp-1.apk /mnt/sdcard/
Dann können Sie sie von der SD-Karte an einen beliebigen Ort verschieben (oder an eine E-Mail anhängen usw.). Der letzte Punkt ist zwar technisch gesehen optional, aber er macht Ihr Leben viel einfacher, wenn Sie etwas mit der .apk
Datei.
Alle diese Antworten erfordern mehrere Schritte für jede vom Gerät abgerufene apk-Datei. 1. den Paketnamen bestimmen, 2. die Datei finden und 3. sie herunterladen. Ich habe ein einfaches apk_grabber
Python-Skript um dies für jede Anwendung zu tun, die mit einem bestimmten Regex übereinstimmt, und dekompiliert diese Anwendungen dann in Jar-Dateien.