Εξαγωγή αρχείων APK από τις εγκατεστημένες εφαρμογές σας Android
Σημείωση νομικής και ασφάλειας: Αυτό το άρθρο είναι μόνο για εκπαιδευτικούς σκοπούς. Η εξαγωγή ενός APK από μια συσκευή προορίζεται για προσωπική δημιουργία αντιγράφων ασφαλείας εφαρμογών έχετε ήδη εγκαταστήσει νόμιμα σε μια συσκευή που σας ανήκει. Το XAPK στο APK δεν φιλοξενεί, διανέμει, συνδέει ή διευκολύνει την πρόσβαση σε εφαρμογές που προστατεύονται από πνευματικά δικαιώματα, επί πληρωμή ή πειρατικές εφαρμογές. Η αναδιανομή εξαγόμενων APK εφαρμογών επί πληρωμή ή εφαρμογών που προστατεύονται από πνευματικά δικαιώματα δεν επιτρέπεται. Δείτε το Αρνηση για τους πλήρεις όρους.
Έχετε μια καταπληκτική εφαρμογή στο τηλέφωνό σας, την οποία αφιερώσατε ώρες για να ρυθμίσετε, μόνο για να μάθετε ότι έχει αφαιρεθεί από το Play Store. Ή ίσως αλλάζετε σε μια νέα συσκευή και θέλετε ένα αντίγραφο εκτός σύνδεσης των αγαπημένων σας εργαλείων για κάθε ενδεχόμενο. Το Εξαγωγή αρχείων APK από τις τρέχουσες εγκατεστημένες εφαρμογές σας είναι η λύση.
Παρακάτω περιγράφουμε την αφαίρεση ενός APK από το τηλέφωνό σας χωρίς root, όπου αυτό είναι χρήσιμο για δημιουργία αντιγράφων ασφαλείας και πώς να ελέγξετε ένα αρχείο που έχει εξαχθεί στη συνέχεια με το διαδικτυακά εργαλεία ανάλυσης.
Βασικά Takeaways
- Μπορείτε να εξαγάγετε το αρχείο APK σχεδόν οποιασδήποτε εφαρμογής απευθείας από τον εσωτερικό χώρο αποθήκευσης της συσκευής σας.
- Οι σύγχρονες εφαρμογές χρησιμοποιούν συχνά Διαχωρίστε τα APK, οι οποίες απαιτούν εξειδικευμένο εξολκέα.
- Η πρόσβαση Root (Superuser) είναι γενικά δεν απαιτείται για τη δημιουργία αντιγράφων ασφαλείας τυπικών εφαρμογών.
- Μετά την εξαγωγή, μπορείτε να μεταφέρετε το αρχείο σε κάρτα SD, υπολογιστή ή αποθήκευση cloud.
Γιατί να γίνει εξαγωγή APK;
Πριν μεταβείτε στο "πώς", ορίστε γιατί πρέπει να διατηρήσετε μια βιβλιοθήκη αντιγράφων ασφαλείας APK:
- Διατήρηση εφαρμογών που έχουν διακοπεί: Εάν ένας προγραμματιστής αφαιρέσει την εφαρμογή του από το κατάστημα, θα εξακολουθείτε να έχετε το αντίγραφό σας με δυνατότητα εγκατάστασης.
- Υποστήριξη υλικού παλαιού τύπου: Διατηρήστε τις εκδόσεις που λειτουργούν στο παλαιότερο tablet σας όταν η επίσημη εφαρμογή ενημερώνεται για να απαιτούνται νεότερες εκδόσεις Android.
- Επαναφορά έκδοσης: Εάν μια ενημέρωση εισάγει σφάλματα, μπορείτε να εγκαταστήσετε ξανά το αντίγραφο ασφαλείας που έχετε εξαχθεί και να επιστρέψετε στην επιχείρηση.
- Κοινή χρήση εφαρμογών: Στείλτε μια συγκεκριμένη έκδοση εφαρμογής σε έναν φίλο μέσω Bluetooth ή καλωδίου χωρίς χρήση δεδομένων κινητής τηλεφωνίας.
Μέθοδος 1: Χρήση εφαρμογής APK Extractor (χωρίς ρίζα)
Ο ευκολότερος τρόπος είναι να χρησιμοποιήσετε ένα ειδικό βοηθητικό πρόγραμμα. Υπάρχουν δεκάδες εφαρμογές "APK Extractor" διαθέσιμες στο Play Store. Αυτά τα εργαλεία λειτουργούν βρίσκοντας τη διαδρομή εγκατάστασης της εφαρμογής στο /data/app/ (η οποία είναι αναγνώσιμη αλλά συνήθως κρύβεται) και αντιγράφοντας το base.apk στον δημόσιο φάκελο Λήψης.
Βήματα:
- Εγκαταστήστε ένα αξιόπιστο APK Extractor.
- Ανοίξτε την εφαρμογή και παραχωρήστε "Άδειες αποθήκευσης" εάν ζητηθεί.
- Κάντε κύλιση στη λίστα όλων των εγκατεστημένων εφαρμογών.
- Πατήστε στην εφαρμογή που θέλετε να αποθηκεύσετε.
- Το εργαλείο θα αντιγράψει αμέσως το APK στον εσωτερικό σας χώρο αποθήκευσης.
Χειρισμός Split APK
Εάν εξαγάγετε μια σύνθετη εφαρμογή όπως το Facebook ή το WhatsApp, ενδέχεται να βρείτε πολλά αρχεία .apk αντί για ένα. Αυτά είναι τα Διαχωρίστε τα APK. Για να τα χρησιμοποιήσετε, θα χρειαστείτε το Εργαλείο συγχώνευσης APKS/APKM για να τα συνδυάσετε σε ένα μόνο αρχείο.
Μέθοδος 2: Μη αυτόματη εξαγωγή μέσω ADB (Advanced)
Εάν δεν θέλετε να εγκαταστήσετε επιπλέον εφαρμογές στο τηλέφωνό σας, μπορείτε να χρησιμοποιήσετε έναν υπολογιστή με Android Debug Bridge (ADB):
- Συνδέστε το τηλέφωνό σας στον υπολογιστή σας μέσω USB και ενεργοποιήστε το USB Debugging.
- Ανοίξτε ένα τερματικό και πληκτρολογήστε: adb shell pm path com.example.app
- Αυτό θα δείξει το μονοπάτι. Παράδειγμα: package:/data/app/com.example.app/base.apk
- Τύπος: adb pull /data/app/com.example.app/base.apk ./backup.apk
- Το αρχείο βρίσκεται τώρα στον υπολογιστή σας!
Τι παίρνετε πραγματικά όταν κάνετε εξαγωγή
Μια "εγκατεστημένη" εφαρμογή Android δεν αποθηκεύεται πλέον στη συσκευή ως μεμονωμένο APK, ειδικά εάν προήλθε από το Play Store ως πακέτο εφαρμογών Android. Όταν κάνετε εξαγωγή, μπορεί να λάβετε ένα ή περισσότερα αρχεία και η γνώση της διαφοράς σας βοηθά να αποφασίσετε τι να κρατήσετε:
- Ένα μόνο βασικό APK. Παλαιότερες ή μικρότερες εφαρμογές που μεταφορτώθηκαν στο Play ως απλό APK εξακολουθούν να εγκαθίστανται ως ένα μόνο αρχείο. Η εξαγωγή επιστρέφει ένα .apk που είναι αυτόνομο.
- Οι εφαρμογές Βάση APK + αρκετοί διαχωρισμοί ρυθμίσεων. που δημοσιεύονται ως AAB εγκαθίστανται ως πολλά APK δίπλα-δίπλα: ένα base.apk συν split_config.<abi>.apk (εγγενής κωδικός για την CPU σας), split_config.<density>.apk (πόροι για την οθόνη σας) και split_config.<language>.apk (συμβολοσειρές για τις τοπικές ρυθμίσεις σας). Η εξαγωγή τα επιστρέφει όλα. Για να εγκαταστήσετε ξανά την ίδια εφαρμογή στην ίδια συσκευή, τα χρειάζεστε όλα.
- Δεδομένα περιουσιακών στοιχείων, μερικές φορές. Τα σύγχρονα παιχνίδια που χρησιμοποιούν το Play Asset Delivery αποθηκεύουν μεγάλα στοιχεία παιχνιδιού σε ιδιωτική προσωρινή μνήμη εφαρμογών έξω από τα ίδια τα APK. Αυτά συνήθως δεν μπορούν να εξαχθούν με έναν κανονικό εξαγωγέα. τα πακέτα περιουσιακών στοιχείων έχουν σχεδιαστεί για να ανακτώνται εκ νέου κατά την πρώτη κυκλοφορία.
Εάν ο στόχος σας είναι ένα φορητό αντίγραφο ασφαλείας που θα εγκατασταθεί σε άλλη συσκευή, συνήθως θέλετε είτε (α) ένα συγχωνευμένο "καθολικό APK" που παράγεται με το Συγχώνευση APKS σε APK ή (β) όλα τα διαχωριστικά να αρχειοθετηθούν μαζί, ώστε ένα πρόγραμμα εγκατάστασης split-APK όπως το SAI να μπορεί να τα επαναφέρει ως μονάδα.
Πώς λειτουργεί η εξαγωγή (χωρίς ρίζα, πίσω από τις σκηνές)
Οι περισσότερες εφαρμογές "APK extractor" δεν χρειάζονται ουσιαστικά root επειδή το Android εκθέτει τα εγκατεστημένα αρχεία πακέτων μέσω μιας διαδρομής ανάγνωσης σε επίπεδο συστήματος. Η τυπική ροή είναι:
- Η εφαρμογή εξαγωγής καλεί το PackageManager.getPackageInfo(package, ...) για να λάβει τη λίστα με τις εγκατεστημένες εφαρμογές.
- Για την επιλεγμένη εφαρμογή, διαβάζει ApplicationInfo.sourceDir (η διαδρομή του βασικού APK, συνήθως /data/app/<package>-<hash>/base.apk) και splitSourceDirs (διαδρομές οποιωνδήποτε διαχωρισμών διαμόρφωσης).
- Το πρόγραμμα εξαγωγής που έχει εγκαταστήσει ο χρήστης δεν μπορεί να διαβάσει απευθείας αυτές τις διαδρομές, αλλά ο μηχανισμός FileProvider στο Android επιτρέπει στα στοιχεία του συστήματος να παρέχουν προσωρινή πρόσβαση ανάγνωσης σε συγκεκριμένα URI. Το λειτουργικό σύστημα κάνει επιτρέπει σε οποιαδήποτε εφαρμογή να ανοίγει τα ίδιος APK και τα APK άλλων εφαρμογών με URI. Αυτό είναι σκόπιμη, καθώς η διαδρομή εγκατάστασης προοριζόταν πάντα να είναι παγκοσμίως αναγνώσιμη για εργασίες όπως η απεγκατάσταση και η ενημέρωση.
- Ο εξαγωγέας αντιγράφει τα 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 μας.
Τι δεν μπορεί να εξαχθεί
Η εξαγωγή επιστρέφει τα αρχεία εγκατάστασης της εφαρμογής. Επιστρέφει το δεν:
- Δεδομένα εφαρμογής: προτιμήσεις, βάσεις δεδομένων, αποθήκευση αρχείων. Αυτά ζουν κάτω από το /data/data/<package>/ και προστατεύονται από εξαγωγή χωρίς ρίζα από το sandbox δεδομένων χρήστη.
- Παίξτε πακέτα στοιχείων Παράδοσης στοιχείων: λήφθηκε κατά την πρώτη εκτέλεση, αποθηκευτεί στην κρυφή μνήμη και αναμένεται να γίνει εκ νέου ανάκτηση εάν λείπει.
- Πρόοδος αποθηκευμένη στο σύννεφο: εάν η εφαρμογή χρησιμοποιεί Παιχνίδια Google Play, Firebase ή παρόμοια, το τμήμα που είναι αποθηκευμένο στο cloud βρίσκεται στους διακομιστές του εκδότη και όχι στη συσκευή σας καθόλου.
Επομένως, η εξαγωγή είναι καλή για περιπτώσεις χρήσης "Θέλω να διατηρήσω ένα αντίγραφο του προγράμματος εγκατάστασης", αλλά δεν υποκαθιστά τα σωστά αντίγραφα ασφαλείας πλήρους συσκευής (τα οποία απαιτούν εργαλεία root ή προμηθευτή).
Αναλύστε τα εξαγόμενα APK σας
Αφού δημιουργήσετε αντίγραφα ασφαλείας των εφαρμογών σας, χρησιμοποιήστε τη διαδικτυακή μας σουίτα για να ελέγξετε τα μεταδεδομένα, τα εικονίδια και τις άδειές τους.
Ξεκινήστε την ανάλυση APKΣυχνές Ερωτήσεις (FAQ)
Η εξαγωγή μιας εφαρμογής περιλαμβάνει τα δεδομένα σύνδεσής μου;
Όχι. Η εξαγωγή αντιγράφει μόνο το κώδικα και πόρους εφαρμογής. Δεν περιλαμβάνει δεδομένα προσωπικού λογαριασμού, κωδικούς πρόσβασης ή ρυθμίσεις για λόγους ασφαλείας.
Μπορώ να εξαγάγω εφαρμογές συστήματος όπως το YouTube;
Ναί. Ωστόσο, ορισμένες εφαρμογές συστήματος ενδέχεται να έχουν βαθιές εξαρτήσεις από συγκεκριμένες εκδόσεις λειτουργικού συστήματος και ενδέχεται να μην εγκατασταθούν σωστά σε άλλες συσκευές.
Πού πηγαίνουν τα εξαγόμενα APK;
Οι περισσότερες εφαρμογές εξαγωγής αποθηκεύουν αρχεία σε έναν φάκελο με το όνομα ExtractedAPKs ή Λήψη στον εσωτερικό χώρο αποθήκευσης του τηλεφώνου σας.
Δημιουργία αντιγράφων ασφαλείας εγκατεστημένων εφαρμογών χωρίς απώλεια διαμορφώσεων διαχωρισμού
Η δημιουργία του δικού σας τοπικού αποθετηρίου εφαρμογών είναι ο πιο σίγουρος τρόπος για να μην χάσετε ποτέ την πρόσβαση στα εργαλεία που αγαπάτε. Μια εφαρμογή φιλική προς το πάτημα και το τερματικό ADB σας φτάνουν εκεί και με τον άλλο τρόπο το εξαγωγή αρχείων APK είναι ένας ασφαλής, πρακτικός τρόπος διαχείρισης της συσκευής σας Android. Αφού δημιουργήσετε αντίγραφα ασφαλείας της βιβλιοθήκης σας, αφιερώστε λίγο χρόνο στο επαληθεύστε τις υπογραφές αυτών των αντιγράφων ασφαλείας, ώστε να γνωρίζετε ότι παραμένουν ανέπαφα με την πάροδο του χρόνου.