AAB — τι είναι, διαφορά από το APK και αρχή λειτουργίας

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-15 Χρόνος ανάγνωσης: 8 λεπ

AAB (Android App Bundle) — είναι μια μορφή δημοσίευσης εφαρμογών Android που αντικατέστησε το APK στο Google Play από το 2021. Σε αντίθεση με το APK, το AAB δεν είναι αρχείο εγκατάστασης — είναι ένα δοχείο από το οποίο το Google Play δημιουργεί δυναμικά βελτιστοποιημένα APK για κάθε συσκευή. Σύμφωνα με τα δεδομένα του Android Developers, 2026, η μορφή μειώνει το μέγεθος της ληφθείσας εφαρμογής κατά μέσο όρο 15% εξαιρώντας τους αχρησιμοποίητους πόρους.

Κύρια σημεία

  • AAB — μορφή δημοσίευσης εφαρμογών Android από την οποία το Google Play δημιουργεί APK για κάθε συσκευή.
  • Dynamic Delivery — μηχανισμός παράδοσης μόνο εκείνων των μονάδων και πόρων που χρειάζεται μια συγκεκριμένη συσκευή.
  • Υποχρεωτικότητα — από τον Αύγουστο του 2021 το Google Play απαιτεί AAB για όλες τις νέες εφαρμογές.
  • Εξοικονόμηση — το μέγεθος λήψης μειώνεται κατά 15–30% εξαιρώντας τους περιττούς πόρους.
  • Περιουσιακά στοιχεία — το AAB υποστηρίζει έως 2 GB χωρίς αρχεία OBB μέσω μονάδων Play Asset Delivery.

Τι είναι το AAB

AAB (Android App Bundle) — είναι μια μορφή δημοσίευσης που αναπτύχθηκε από την Google ως αντικατάσταση του APK για διανομή μέσω του Google Play. Μέσα στο AAB βρίσκεται ένα αρχείο ZIP με επέκταση .aab, που περιέχει μεταγλωττισμένο κώδικα, πόρους και μεταδεδομένα. Βασική διαφορά: το AAB δεν εγκαθίσταται απευθείας στη συσκευή.

Αρχή λειτουργίας

Ο προγραμματιστής ανεβάζει το AAB στο Google Play Console. Όταν ο χρήστης επιχειρεί να εγκαταστήσει την εφαρμογή, το Google Play αναλύει τη διαμόρφωση της συσκευής: πυκνότητα οθόνης (DPI), αρχιτεκτονική CPU, γλώσσα και έκδοση Android. Με βάση αυτήν την ανάλυση, δημιουργείται ένα ελάχιστο APK που περιέχει μόνο τα απαραίτητα στοιχεία.

Ιστορικό εφαρμογής

Η Google παρουσίασε το AAB το 2018 στο συνέδριο I/O. Από τον Αύγουστο του 2021, η μορφή έγινε υποχρεωτική για όλες τις νέες εφαρμογές στο Google Play. Οι υπάρχουσες εφαρμογές μπορούν να συνεχίσουν να χρησιμοποιούν APK, αλλά οι νέες πρέπει να δημοσιεύονται μόνο σε μορφή AAB.

Πώς διαφέρει το AAB από το APK

Η διαφορά μεταξύ AAB και APK είναι θεμελιώδης: το APK είναι ένα πλήρες αρχείο εγκατάστασης, έτοιμο για εγκατάσταση. Το AAB είναι ένα δοχείο με στοιχεία πηγής που απαιτεί επεξεργασία.

ΠαράμετροςAPKAAB
ΤύποςΑρχείο εγκατάστασηςΔοχείο δημοσίευσης
ΕγκατάστασηΑπευθείας στη συσκευήΜέσω Google Play
ΜέγεθοςΠλήρες αρχείοΣτοιχεία πηγής
ΜονάδεςΌλα σε ένα αρχείοΞεχωριστές μονάδες
ΥπογραφήΠρογραμματιστήςGoogle Play
ΔιανομήΟποιοδήποτε κανάλιGoogle Play

APK είναι κατάλληλο για διανομή εκτός Google Play — μέσω ιστοσελίδων, email ή εταιρικών συστημάτων MDM. Το AAB είναι συνδεδεμένο με την υποδομή του Google Play και δεν εγκαθίσταται απευθείας. Για τη δοκιμή του AAB χρησιμοποιείται το εργαλείο bundletool, το οποίο προσομοιώνει τη δημιουργία APK στο τοπικό μηχάνημα.

Δομή του αρχείου AAB

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

Αρχείο/κατάλογοςΣκοπός
base/Βασική μονάδα: κώδικας, πόροι, δήλωση
BundleConfig.pbΔιαμόρφωση πακέτου σε μορφή protobuf
Bundle-metadata/Μεταδεδομένα σχετικά με εκδόσεις μονάδων
feature/Δυναμικές μονάδες (on-demand)
assets/Περιουσιακά στοιχεία εφαρμογής
manifest/Δηλώσεις κάθε μονάδας

Βασική μονάδα (base)

Η μονάδα base — είναι υποχρεωτικό στοιχείο του AAB. Περιέχει τον κύριο κώδικα, τους πόρους και τη δήλωση της εφαρμογής. Χωρίς τη μονάδα base, η εφαρμογή δεν μπορεί να δημιουργηθεί. Όλες οι άλλες μονάδες είναι προαιρετικές και συνδέονται μέσω Dynamic Delivery.

Μορφή protobuf

Η διαμόρφωση του AAB χρησιμοποιεί Protocol Buffers (protobuf) αντί για XML. Τα αρχεία .pb είναι πιο συμπαγή και αναλύονται ταχύτερα από την υποδομή διακομιστή της Google. Το εργαλείο bundletool μετατρέπει το protobuf σε αναγνώσιμη μορφή για εντοπισμό σφαλμάτων.

Dynamic Delivery και μονάδες εφαρμογής

Dynamic Delivery — η βασική τεχνολογία στην οποία βασίζεται το AAB. Επιτρέπει την παράδοση στον χρήστη μόνο εκείνων των τμημάτων της εφαρμογής που αντιστοιχούν στη συσκευή και τη γλώσσα του, καθώς και τη φόρτωση πρόσθετων μονάδων κατόπιν αιτήματος.

Τύποι μονάδων

Οι μονάδες Install-time φορτώνονται μαζί με το βασικό APK κατά την εγκατάσταση. Οι μονάδες Conditional παραδίδονται μόνο όταν πληρούνται οι προϋποθέσεις — για παράδειγμα, μια μονάδα με υλικά για οθόνες 4K. Οι μονάδες On-demand φορτώνονται κατόπιν αιτήματος του χρήστη εντός της εφαρμογής.

Play Asset Delivery (PAD)

Για μεγάλους πόρους (έως 2 GB) χρησιμοποιείται το Play Asset Delivery αντί για αρχεία OBB. Το PAD υποστηρίζει τις ίδιες τρεις λειτουργίες παράδοσης: install-time, fast-follow (αμέσως μετά την εγκατάσταση) και on-demand.

kotlin
// Φόρτωση on-demand μονάδας μέσω SplitInstallManager
val manager = SplitInstallManagerFactory
    .create(context)

val request = SplitInstallRequest
    .newBuilder()
    .addModule("level_pack_3")
    .build()

manager.startInstall(request)
    .addOnSuccessListener {
        Log.d("AAB", "Μονάδα εγκαταστάθηκε")
    }

Διαμόρφωση μονάδας στο Gradle

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

Δημιουργία AAB μέσω Gradle

Η δημιουργία AAB γίνεται μέσω του Android Gradle Plugin με την εργασία bundleRelease (ή bundleDebug). Το αποτέλεσμα — ένα αρχείο .aab στον κατάλογο build/outputs/bundle/.

Διαμόρφωση δημιουργίας

Για τη δημιουργία AAB δεν απαιτούνται ειδικές ρυθμίσεις — το Android Gradle Plugin υποστηρίζει πακέτα από προεπιλογή. Αρκεί να καθορίσετε την εργασία bundle αντί για assemble.

kotlin
// build.gradle.kts — δημιουργία AAB με υπογραφή
android {
    bundle {
        language {
            enableSplit = true
        }
        density {
            enableSplit = true
        }
        abi {
            enableSplit = true
        }
    }
}
// Εργασία: ./gradlew bundleRelease

Τοπική δοκιμή μέσω bundletool

Η Google παρέχει το εργαλείο bundletool για τη δημιουργία APK από AAB στο τοπικό μηχάνημα. Η εντολή `bundletool build-apks --bundle=app.aab --output=app.apks` δημιουργεί ένα σύνολο APK για δοκιμή σε διαφορετικές διαμορφώσεις συσκευών.

bundletool μπορεί επίσης να αποσυμπιέσει το AAB, να εμφανίσει τη διαμόρφωσή του και να ελέγξει την ακεραιότητα της υπογραφής πριν από τη μεταφόρτωση στο Google Play Console. Για τον εντοπισμό σφαλμάτων χρησιμοποιείται η εντολή `bundletool dump manifest --bundle=app.aab`, η οποία εμφανίζει τη δήλωση της βασικής μονάδας.

Διαμόρφωση διαχωρισμών στο AAB

Από προεπιλογή, το AAB διαχωρίζει τους πόρους σύμφωνα με τρεις διαστάσεις: γλώσσα (language), πυκνότητα οθόνης (density) και αρχιτεκτονική CPU (abi). Ο προγραμματιστής μπορεί να απενεργοποιήσει οποιονδήποτε διαχωρισμό στο build.gradle — για παράδειγμα, εάν η εφαρμογή υποστηρίζει μόνο αγγλικά. Η απενεργοποίηση διαχωρισμού σημαίνει ότι οι πόροι για όλες τις παραλλαγές θα συμπεριληφθούν στο βασικό APK.

Resource optimisation — το AAB μετατρέπει αυτόματα το PNG σε WebP χωρίς απώλεια ποιότητας, συμπιέζει αχρησιμοποίητους πόρους και αφαιρεί διπλότυπες συμβολοσειρές. Αυτές οι βελτιστοποιήσεις εφαρμόζονται από την πλευρά του Google Play κατά τη δημιουργία του τελικού APK. Ως αποτέλεσμα, ο χρήστης λαμβάνει ένα APK 15–25% μικρότερο από το πλήρες αρχείο.

Δημοσίευση AAB στο Google Play

Η διαδικασία δημοσίευσης του AAB στο Google Play Console διαφέρει από το APK μόνο στη μορφή του μεταφορτωμένου αρχείου. Η κονσόλα δέχεται .aab, ελέγχει τη δομή, την υπογραφή και τη διαμόρφωση των μονάδων του, στη συνέχεια δημιουργεί APK για κάθε τύπο συσκευής.

App Signing by Google Play

Κατά τη μεταφόρτωση του AAB, το Google Play αναλαμβάνει τη διαχείριση των κλειδιών υπογραφής. Ο προγραμματιστής ανεβάζει το πακέτο υπογεγραμμένο με το κλειδί upload και η Google υπογράφει ξανά τα δημιουργημένα APK με το δικό της κλειδί. Αυτό απλοποιεί την εναλλαγή κλειδιών και την αποκατάσταση πρόσβασης σε περίπτωση απώλειας του keystore.

Δοκιμή πριν από την κυκλοφορία

Το Google Play Console παρέχει ενσωματωμένη δοκιμή AAB: μπορείτε να κατεβάσετε το δημιουργημένο APK για μια συγκεκριμένη συσκευή ή να εκτελέσετε εσωτερική δοκιμή μέσω των track Internal Testing, Closed Alpha και Open Beta.

Τυπικά προβλήματα με το AAB και η λύση τους

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

Σφάλματα διαμόρφωσης μονάδων

Εάν μια δυναμική μονάδα αναφέρεται σε πόρους της βασικής μονάδας με λανθασμένο όνομα, το Google Play απορρίπτει το AAB στο στάδιο επαλήθευσης. Λύση — χρήση ελέγχου lint πριν από τη δημιουργία και δοκιμή όλων των μονάδων μέσω bundletool τοπικά.

Γλωσσικοί διαχωρισμοί και πτώση απόδοσης

Ο διαχωρισμός ανά γλώσσα μπορεί να επιβραδύνει την εκκίνηση της εφαρμογής εάν οι πόροι για την τρέχουσα τοπική ρύθμιση φορτώνονται δυναμικά. Σύσταση της Google — να μην διαχωρίζετε γλώσσες εάν είναι λιγότερες από 10 ή να χρησιμοποιείτε install-time για τις πιο δημοφιλείς.

Συμβατότητα με SDK τρίτων

Ορισμένα SDK (ανάλυση, διαφημίσεις, χάρτες) απαιτούν πρόσβαση στην πλήρη δήλωση και τους πόρους. Ο έλεγχος συμβατότητας με το AAB είναι υποχρεωτικό βήμα πριν από τη μετεγκατάσταση. Τα περισσότερα μεγάλα SDK (Firebase, Google Ads, Crashlytics) υποστηρίζουν πλήρως το AAB από το 2022. Για τον έλεγχο συμβατότητας χρησιμοποιείται το bundletool με τη σημαία --validate, η οποία προσομοιώνει τη δημιουργία APK από την πλευρά του διακομιστή.

Έκδοση AAB

Το AAB χρησιμοποιεί το versionCode από τη δήλωση της βασικής μονάδας. Σε αντίθεση με το APK, το AAB υποστηρίζει επίσης ξεχωριστό versionCode για κάθε μονάδα — αυτό επιτρέπει την ενημέρωση μεμονωμένων τμημάτων της εφαρμογής χωρίς πλήρη επανεγκατάσταση. Το Dynamic Delivery παρακολουθεί τις εγκατεστημένες μονάδες και παραδίδει μόνο τα τροποποιημένα στοιχεία κατά την ενημέρωση μέσω Google Play.

Παρακολούθηση και ανάλυση AAB

Το Google Play Console παρέχει λεπτομερή ανάλυση για κάθε AAB: πόσα APK δημιουργήθηκαν, ποιοι διαχωρισμοί ζητήθηκαν, ποιο είναι το μέσο μέγεθος λήψης ανά συσκευή. Android Vitals δείχνει μετρικές απόδοσης των δημιουργημένων APK. Αυτά τα δεδομένα βοηθούν στη βελτιστοποίηση της διαμόρφωσης διαχωρισμών και στη μείωση του μεγέθους λήψης για διαφορετικές κατηγορίες συσκευών.

Συχνές ερωτήσεις

Μπορεί το AAB να εγκατασταθεί απευθείας στο τηλέφωνο;

Όχι, το AAB δεν προορίζεται για άμεση εγκατάσταση. Το Google Play το μετατρέπει σε APK για τη συγκεκριμένη συσκευή. Για δοκιμή στο τηλέφωνο χρησιμοποιείται το bundletool, το οποίο δημιουργεί APK από το AAB τοπικά.

Πώς μειώνει το AAB το μέγεθος της εφαρμογής;

Το Google Play δημιουργεί APK μόνο με πόρους που αντιστοιχούν στη συσκευή του χρήστη: μία πυκνότητα οθόνης, μία αρχιτεκτονική CPU, μία γλώσσα. Οι πόροι για άλλες διαμορφώσεις δεν συμπεριλαμβάνονται, εξοικονομώντας 15–30% κίνησης κατά τη λήψη.

Είναι υποχρεωτικό το AAB για υπάρχουσες εφαρμογές;

Όχι, οι υπάρχουσες εφαρμογές μπορούν να συνεχίσουν να δημοσιεύουν APK. Η απαίτηση AAB ισχύει μόνο για νέες εφαρμογές. Η Google συνιστά αλλά δεν απαιτεί την ενημέρωση υπαρχόντων έργων σε AAB.

Πώς να μεταφερθώ από APK σε AAB;

Αλλάξτε την εργασία δημιουργίας από assembleRelease σε bundleRelease, ελέγξτε τη συμβατότητα όλων των SDK, διαμορφώστε το App Signing στο Google Play Console και ανεβάστε το πρώτο AAB μέσω του υπάρχοντος track.

Υποστηρίζει το AAB εγγενείς βιβλιοθήκες;

Ναι, το AAB περιλαμβάνει εγγενείς βιβλιοθήκες σε μονάδες. Το Google Play παραδίδει μόνο αρχεία .so για την αρχιτεκτονική CPU της συσκευής. Αυτό είναι ιδιαίτερα σημαντικό για παιχνίδια σε Unity και Unreal Engine με μεγάλες εγγενείς μεταγλωττίσεις.

Σύνοψη

  • AAB — δοχείο για δημοσίευση εφαρμογών Android από το οποίο το Google Play δημιουργεί στοχευμένα APK.
  • Dynamic Delivery παραδίδει μόνο πόρους που αντιστοιχούν στη συσκευή του χρήστη — εξοικονόμηση κίνησης 15–30%.
  • Αρθρωτότητα — η εφαρμογή χωρίζεται σε μονάδες base, conditional και on-demand με διαφορετική στρατηγική φόρτωσης.
  • Υποχρεωτικότητα — από το 2021 όλες οι νέες εφαρμογές στο Google Play δημοσιεύονται σε μορφή AAB.
  • App Signing — η Google Play διαχειρίζεται τα κλειδιά υπογραφής, απλοποιώντας την εναλλαγή και την αποκατάσταση.
  • Δοκιμή γίνεται μέσω bundletool, το οποίο προσομοιώνει τη δημιουργία APK από την πλευρά του διακομιστή τοπικά.
  • Play Asset Delivery αντικαθιστά τα αρχεία OBB, υποστηρίζοντας έως 2 GB περιουσιακών στοιχείων με ευέλικτες λειτουργίες φόρτωσης.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης