Εξαγωγή αρχείων APK από τις εγκατεστημένες εφαρμογές σας Android

A smartphone with app icons and a tray pulling out an app, illustrating extracting APKs

Σημείωση νομικής και ασφάλειας: Αυτό το άρθρο είναι μόνο για εκπαιδευτικούς σκοπούς. Η εξαγωγή ενός APK από μια συσκευή προορίζεται για προσωπική δημιουργία αντιγράφων ασφαλείας εφαρμογών έχετε ήδη εγκαταστήσει νόμιμα σε μια συσκευή που σας ανήκει. Το XAPK στο APK δεν φιλοξενεί, διανέμει, συνδέει ή διευκολύνει την πρόσβαση σε εφαρμογές που προστατεύονται από πνευματικά δικαιώματα, επί πληρωμή ή πειρατικές εφαρμογές. Η αναδιανομή εξαγόμενων APK εφαρμογών επί πληρωμή ή εφαρμογών που προστατεύονται από πνευματικά δικαιώματα δεν επιτρέπεται. Δείτε το Αρνηση για τους πλήρεις όρους.

Έχετε μια καταπληκτική εφαρμογή στο τηλέφωνό σας, την οποία αφιερώσατε ώρες για να ρυθμίσετε, μόνο για να μάθετε ότι έχει αφαιρεθεί από το Play Store. Ή ίσως αλλάζετε σε μια νέα συσκευή και θέλετε ένα αντίγραφο εκτός σύνδεσης των αγαπημένων σας εργαλείων για κάθε ενδεχόμενο. Το Εξαγωγή αρχείων APK από τις τρέχουσες εγκατεστημένες εφαρμογές σας είναι η λύση.

Παρακάτω περιγράφουμε την αφαίρεση ενός APK από το τηλέφωνό σας χωρίς root, όπου αυτό είναι χρήσιμο για δημιουργία αντιγράφων ασφαλείας και πώς να ελέγξετε ένα αρχείο που έχει εξαχθεί στη συνέχεια με το διαδικτυακά εργαλεία ανάλυσης.

Βασικά Takeaways

  • Μπορείτε να εξαγάγετε το αρχείο APK σχεδόν οποιασδήποτε εφαρμογής απευθείας από τον εσωτερικό χώρο αποθήκευσης της συσκευής σας.
  • Οι σύγχρονες εφαρμογές χρησιμοποιούν συχνά Διαχωρίστε τα APK, οι οποίες απαιτούν εξειδικευμένο εξολκέα.
  • Η πρόσβαση Root (Superuser) είναι γενικά δεν απαιτείται για τη δημιουργία αντιγράφων ασφαλείας τυπικών εφαρμογών.
  • Μετά την εξαγωγή, μπορείτε να μεταφέρετε το αρχείο σε κάρτα SD, υπολογιστή ή αποθήκευση cloud.

Γιατί να γίνει εξαγωγή APK;

Πριν μεταβείτε στο "πώς", ορίστε γιατί πρέπει να διατηρήσετε μια βιβλιοθήκη αντιγράφων ασφαλείας APK:

Μέθοδος 1: Χρήση εφαρμογής APK Extractor (χωρίς ρίζα)

Ο ευκολότερος τρόπος είναι να χρησιμοποιήσετε ένα ειδικό βοηθητικό πρόγραμμα. Υπάρχουν δεκάδες εφαρμογές "APK Extractor" διαθέσιμες στο Play Store. Αυτά τα εργαλεία λειτουργούν βρίσκοντας τη διαδρομή εγκατάστασης της εφαρμογής στο /data/app/ (η οποία είναι αναγνώσιμη αλλά συνήθως κρύβεται) και αντιγράφοντας το base.apk στον δημόσιο φάκελο Λήψης.

Βήματα:

  1. Εγκαταστήστε ένα αξιόπιστο APK Extractor.
  2. Ανοίξτε την εφαρμογή και παραχωρήστε "Άδειες αποθήκευσης" εάν ζητηθεί.
  3. Κάντε κύλιση στη λίστα όλων των εγκατεστημένων εφαρμογών.
  4. Πατήστε στην εφαρμογή που θέλετε να αποθηκεύσετε.
  5. Το εργαλείο θα αντιγράψει αμέσως το APK στον εσωτερικό σας χώρο αποθήκευσης.

Χειρισμός Split APK

Εάν εξαγάγετε μια σύνθετη εφαρμογή όπως το Facebook ή το WhatsApp, ενδέχεται να βρείτε πολλά αρχεία .apk αντί για ένα. Αυτά είναι τα Διαχωρίστε τα APK. Για να τα χρησιμοποιήσετε, θα χρειαστείτε το Εργαλείο συγχώνευσης APKS/APKM για να τα συνδυάσετε σε ένα μόνο αρχείο.

Μέθοδος 2: Μη αυτόματη εξαγωγή μέσω ADB (Advanced)

Εάν δεν θέλετε να εγκαταστήσετε επιπλέον εφαρμογές στο τηλέφωνό σας, μπορείτε να χρησιμοποιήσετε έναν υπολογιστή με Android Debug Bridge (ADB):

  1. Συνδέστε το τηλέφωνό σας στον υπολογιστή σας μέσω USB και ενεργοποιήστε το USB Debugging.
  2. Ανοίξτε ένα τερματικό και πληκτρολογήστε: adb shell pm path com.example.app
  3. Αυτό θα δείξει το μονοπάτι. Παράδειγμα: package:/data/app/com.example.app/base.apk
  4. Τύπος: adb pull /data/app/com.example.app/base.apk ./backup.apk
  5. Το αρχείο βρίσκεται τώρα στον υπολογιστή σας!

Τι παίρνετε πραγματικά όταν κάνετε εξαγωγή

Μια "εγκατεστημένη" εφαρμογή Android δεν αποθηκεύεται πλέον στη συσκευή ως μεμονωμένο APK, ειδικά εάν προήλθε από το Play Store ως πακέτο εφαρμογών Android. Όταν κάνετε εξαγωγή, μπορεί να λάβετε ένα ή περισσότερα αρχεία και η γνώση της διαφοράς σας βοηθά να αποφασίσετε τι να κρατήσετε:

Εάν ο στόχος σας είναι ένα φορητό αντίγραφο ασφαλείας που θα εγκατασταθεί σε άλλη συσκευή, συνήθως θέλετε είτε (α) ένα συγχωνευμένο "καθολικό APK" που παράγεται με το Συγχώνευση APKS σε APK ή (β) όλα τα διαχωριστικά να αρχειοθετηθούν μαζί, ώστε ένα πρόγραμμα εγκατάστασης split-APK όπως το SAI να μπορεί να τα επαναφέρει ως μονάδα.

Πώς λειτουργεί η εξαγωγή (χωρίς ρίζα, πίσω από τις σκηνές)

Οι περισσότερες εφαρμογές "APK extractor" δεν χρειάζονται ουσιαστικά root επειδή το Android εκθέτει τα εγκατεστημένα αρχεία πακέτων μέσω μιας διαδρομής ανάγνωσης σε επίπεδο συστήματος. Η τυπική ροή είναι:

  1. Η εφαρμογή εξαγωγής καλεί το PackageManager.getPackageInfo(package, ...) για να λάβει τη λίστα με τις εγκατεστημένες εφαρμογές.
  2. Για την επιλεγμένη εφαρμογή, διαβάζει ApplicationInfo.sourceDir (η διαδρομή του βασικού APK, συνήθως /data/app/<package>-<hash>/base.apk) και splitSourceDirs (διαδρομές οποιωνδήποτε διαχωρισμών διαμόρφωσης).
  3. Το πρόγραμμα εξαγωγής που έχει εγκαταστήσει ο χρήστης δεν μπορεί να διαβάσει απευθείας αυτές τις διαδρομές, αλλά ο μηχανισμός FileProvider στο Android επιτρέπει στα στοιχεία του συστήματος να παρέχουν προσωρινή πρόσβαση ανάγνωσης σε συγκεκριμένα URI. Το λειτουργικό σύστημα κάνει επιτρέπει σε οποιαδήποτε εφαρμογή να ανοίγει τα ίδιος APK και τα APK άλλων εφαρμογών με URI. Αυτό είναι σκόπιμη, καθώς η διαδρομή εγκατάστασης προοριζόταν πάντα να είναι παγκοσμίως αναγνώσιμη για εργασίες όπως η απεγκατάσταση και η ενημέρωση.
  4. Ο εξαγωγέας αντιγράφει τα byte σε έναν εγγράψιμο κατάλογο χρήστη (Λήψεις, φάκελο προσωρινής μνήμης εντός εφαρμογής ή εξωτερικό χώρο αποθήκευσης) και τα παρουσιάζει ως αρχείο για κοινή χρήση ή εγκατάσταση.

Οι μέθοδοι μόνο ρίζας (su; cp /data/app/...) παρακάμπτουν το API και διαβάζουν απευθείας τις μη επεξεργασμένες διαδρομές. Δεν είναι ταχύτερα και δεν είναι απαραίτητα για εφαρμογές εκτός συστήματος.

Εξαγωγή μέσω ADB (Συνιστάται για αντίγραφα ασφαλείας)

Η πιο καθαρή ροή εργασίας εκτός εφαρμογής είναι το ADB, το οποίο έχουν ήδη ρυθμίσει οι περισσότεροι προγραμματιστές. Δύο εντολές κάνουν όλη τη δουλειά:

# 1. Find the on-device path(s) for the package
adb shell pm path com.example.app

# Output (single APK):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#
# Output (split APKs):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.arm64_v8a.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.xxhdpi.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.en.apk

# 2. Pull each path
adb pull /data/app/~~hash==/com.example.app-1/base.apk ./

Για εφαρμογές split-APK, επαναλάβετε το adb pull για κάθε διαδρομή. Για να αποκτήσετε ένα μεμονωμένο αρχείο με δυνατότητα εγκατάστασης, αποθέστε τα όλα στο Συγχώνευση APKS σε APK μας.

Τι δεν μπορεί να εξαχθεί

Η εξαγωγή επιστρέφει τα αρχεία εγκατάστασης της εφαρμογής. Επιστρέφει το δεν:

Επομένως, η εξαγωγή είναι καλή για περιπτώσεις χρήσης "Θέλω να διατηρήσω ένα αντίγραφο του προγράμματος εγκατάστασης", αλλά δεν υποκαθιστά τα σωστά αντίγραφα ασφαλείας πλήρους συσκευής (τα οποία απαιτούν εργαλεία root ή προμηθευτή).

Αναλύστε τα εξαγόμενα APK σας

Αφού δημιουργήσετε αντίγραφα ασφαλείας των εφαρμογών σας, χρησιμοποιήστε τη διαδικτυακή μας σουίτα για να ελέγξετε τα μεταδεδομένα, τα εικονίδια και τις άδειές τους.

Ξεκινήστε την ανάλυση APK

Συχνές Ερωτήσεις (FAQ)

Η εξαγωγή μιας εφαρμογής περιλαμβάνει τα δεδομένα σύνδεσής μου;

Όχι. Η εξαγωγή αντιγράφει μόνο το κώδικα και πόρους εφαρμογής. Δεν περιλαμβάνει δεδομένα προσωπικού λογαριασμού, κωδικούς πρόσβασης ή ρυθμίσεις για λόγους ασφαλείας.

Μπορώ να εξαγάγω εφαρμογές συστήματος όπως το YouTube;

Ναί. Ωστόσο, ορισμένες εφαρμογές συστήματος ενδέχεται να έχουν βαθιές εξαρτήσεις από συγκεκριμένες εκδόσεις λειτουργικού συστήματος και ενδέχεται να μην εγκατασταθούν σωστά σε άλλες συσκευές.

Πού πηγαίνουν τα εξαγόμενα APK;

Οι περισσότερες εφαρμογές εξαγωγής αποθηκεύουν αρχεία σε έναν φάκελο με το όνομα ExtractedAPKs ή Λήψη στον εσωτερικό χώρο αποθήκευσης του τηλεφώνου σας.

Δημιουργία αντιγράφων ασφαλείας εγκατεστημένων εφαρμογών χωρίς απώλεια διαμορφώσεων διαχωρισμού

Η δημιουργία του δικού σας τοπικού αποθετηρίου εφαρμογών είναι ο πιο σίγουρος τρόπος για να μην χάσετε ποτέ την πρόσβαση στα εργαλεία που αγαπάτε. Μια εφαρμογή φιλική προς το πάτημα και το τερματικό ADB σας φτάνουν εκεί και με τον άλλο τρόπο το εξαγωγή αρχείων APK είναι ένας ασφαλής, πρακτικός τρόπος διαχείρισης της συσκευής σας Android. Αφού δημιουργήσετε αντίγραφα ασφαλείας της βιβλιοθήκης σας, αφιερώστε λίγο χρόνο στο επαληθεύστε τις υπογραφές αυτών των αντιγράφων ασφαλείας, ώστε να γνωρίζετε ότι παραμένουν ανέπαφα με την πάροδο του χρόνου.

Κατασκευάστηκε και τεκμηριώθηκε από τον Mst Shaefale Κύριος προγραμματιστής και αρχιτέκτονας πακέτων Android • Επαληθεύτηκε σε Android 12–15

Το Mst Shaefale διατηρεί τη συγχώνευση XAPK/APKS από την πλευρά του πελάτη, τον αναλυτή δυαδικού μανιφέστου και τα εργαλεία υπογραφής APK v1+v2 στο xapktoapk.com. Εντοπίζετε μια παρωχημένη εντολή ή αλλαγή λειτουργικού συστήματος; Στείλτε ένα συντακτικό σημείωμα.