AndroidX: τι είναι, βασικές βιβλιοθήκες και μετεγκατάσταση

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

AndroidX είναι ένα σύνολο βιβλιοθηκών Jetpack από την Google που αντικατέστησε την ξεπερασμένη Support Library. Σύμφωνα με το Google Developer Documentation, 2024, το AndroidX παρέχει συμβατά προς τα πίσω στοιχεία για όλες τις εκδόσεις Android και αποτελεί το πρότυπο σύγχρονης ανάπτυξης Android. Οι βιβλιοθήκες AndroidX περιλαμβάνουν εργαλεία για UI, πλοήγηση, εργασία με δεδομένα, κάμερα και εργασίες παρασκηνίου.

Κύρια σημεία

  • AndroidX — ο διάδοχος του Support Library, που κυκλοφόρησε το 2018 ως μέρος του Jetpack
  • Οι βιβλιοθήκες AndroidX δεν εξαρτώνται από την έκδοση API και λειτουργούν σε συσκευές με Android 4.0+
  • Η μετεγκατάσταση από το Support Library γίνεται αυτόματα μέσω του Android Studio
  • Κύριες μονάδες: Activity, Fragment, RecyclerView, Navigation, Room, WorkManager
  • Η σημασιολογική έκδοση επιτρέπει την ενημέρωση βιβλιοθηκών ανεξάρτητα η μία από την άλλη

Τι είναι το AndroidX

AndroidX είναι μια βιβλιοθήκη ανοιχτού κώδικα που αποτελεί μέρος του Android Jetpack. Η Google κυκλοφόρησε το AndroidX το 2018 ως αντικατάσταση του Support Library, το οποίο από το 2011 παρείχε συμβατά προς τα πίσω στοιχεία για παλαιές εκδόσεις Android.

Πριν από την εμφάνιση του AndroidX, κάθε στοιχείο του Support Library είχε τη δική του έκδοση συνδεδεμένη με το targetSdkVersion. Οι προγραμματιστές έπρεπε να συνδέουν ταυτόχρονα πολλές εκδόσεις της ίδιας βιβλιοθήκης, γεγονός που οδηγούσε σε συγκρούσεις εξαρτήσεων και αύξηση του μεγέθους του αρχείου APK.

AndroidX έλυσε αυτό το πρόβλημα με τη σημασιολογική έκδοση (SemVer). Τώρα κάθε βιβλιοθήκη είναι ένα ξεχωριστό τεχνούργημα Gradle με έκδοση σε μορφή MAJOR.MINOR.PATCH. Ο προγραμματιστής μπορεί να ενημερώσει το Room από 2.4.0 σε 2.6.0 χωρίς να αγγίξει το Activity, το Fragment ή άλλες μονάδες.

Ιστορία εμφάνισης του AndroidX

Η πρώτη σταθερή έκδοση AndroidX 1.0.0 κυκλοφόρησε τον Δεκέμβριο του 2018 μαζί με το Android 9 Pie. Η Google ανακοίνωσε ότι το Support Library μεταβαίνει σε λειτουργία υποστήριξης και ότι όλα τα νέα στοιχεία — Navigation, WorkManager, Compose — θα κυκλοφορούν μόνο στο πλαίσιο του AndroidX. Η τελευταία έκδοση του Support Library — 28.0.0 — κυκλοφόρησε το 2019.

Σύμφωνα με το Google I/O 2019, ο βασικός λόγος για τη μετάβαση ήταν η ανάγκη επιτάχυνσης της κυκλοφορίας ενημερώσεων. Στο παλιό μοντέλο, η μία βιβλιοθήκη περίμενε την άλλη λόγω της ενιαίας έκδοσης πακέτου. Το AndroidX εξάλειψε αυτήν την μπλοκάρισμα και το Jetpack άρχισε να λαμβάνει κύριες και δευτερεύουσες εκδόσεις κάθε 2-3 μήνες.

Διαφορά μεταξύ AndroidX και Support Library

Η κύρια διαφορά είναι ο χώρος ονομάτων. Το Support Library χρησιμοποιούσε το πακέτο android.support.*, ενώ το AndroidX μεταπήδησε στο androidx.*. Αυτή η αλλαγή επέτρεψε τον διαχωρισμό βιβλιοθηκών σε λειτουργικές μονάδες. Για παράδειγμα, το Fragment από το Support Library ονομαζόταν android.support.v4.app.Fragment, ενώ στο AndroidX — androidx.fragment.app.Fragment.

Η δεύτερη σημαντική διαφορά είναι η αρχιτεκτονική. Το AndroidX παρέχεται μαζί με το Jetpack — ένα σύνολο συστάσεων για την αρχιτεκτονική εφαρμογών. Το Jetpack περιλαμβάνει ViewModel, LiveData, Room, Navigation και WorkManager, τα οποία σχεδιάστηκαν ως ένα ενιαίο οικοσύστημα, όχι ως διάσπαρτα βοηθητικά προγράμματα.

Η συμβατότητα προς τα πίσω επίσης βελτιώθηκε. Ενώ το Support Library υποστήριζε Android 2.3+, το AndroidX εγγυάται λειτουργία σε συσκευές με Android 4.0 (API 14) και νεότερες — αυτό καλύπτει πάνω από το 99% των ενεργών συσκευών σύμφωνα με το Google Play Console 2024.

Σύνθεση βιβλιοθηκών AndroidX

AndroidX περιλαμβάνει πάνω από 100 βιβλιοθήκες χωρισμένες σε ομάδες. Κάθε ομάδα είναι υπεύθυνη για ένα συγκεκριμένο τομέα: UI, δεδομένα, πλοήγηση, εργασίες παρασκηνίου, πολυμέσα και δοκιμές. Παρακάτω δίνεται μια επισκόπηση των βασικών μονάδων.

Core και βασικές βιβλιοθήκες

androidx.core:core — η βασική βιβλιοθήκη που περιέχει συμβατές προς τα πίσω εκδόσεις συστημικών API: NotificationCompat, ActivityCompat, ContextCompat. Η μονάδα core-ktx παρέχει επεκτάσεις Kotlin για εργασία με αρχεία, SharedPreferences και στοιχεία προβολής.

Η βιβλιοθήκη androidx.activity:activity εισήγαγε το Activity Result API (registerForActivityResult), το οποίο αντικατέστησε το ξεπερασμένο startActivityForResult. Η μονάδα fragment:fragment διαχειρίζεται τον κύκλο ζωής των τμημάτων και υποστηρίζει FragmentManager για συναλλαγές και στοίβα επιστροφής.

androidx.lifecycle — το θεμέλιο της αρχιτεκτονικής Jetpack. Το LifecycleOwner και το LifecycleObserver επιτρέπουν στα στοιχεία να αντιδρούν σε αλλαγές του κύκλου ζωής του Activity ή του Fragment. Το ViewModel διατηρεί δεδομένα κατά την περιστροφή οθόνης, και το LiveData ειδοποιεί το UI για αλλαγές δεδομένων.

kotlin
class MainViewModel : ViewModel() {
    private val _users = MutableLiveData<List<User>>()
    val users: LiveData<List<User>> = _users

    fun loadUsers() {
        viewModelScope.launch {
            val result = repository.getUsers()
            _users.value = result
        }
    }
}

Βιβλιοθήκες UI

androidx.recyclerview:recyclerview — ένα ισχυρό στοιχείο για εμφάνιση λιστών και πλεγμάτων. Το RecyclerView υποστηρίζει LayoutManager (LinearLayoutManager, GridLayoutManager), ItemDecoration και κινούμενα σχέδια μέσω ItemAnimator. Η βιβλιοθήκη ListAdapter με AsyncListDiffer απλοποιεί την ενημέρωση λίστας με αυτόματο υπολογισμό διαφορών.

androidx.navigation:navigation — η βιβλιοθήκη για πλοήγηση μεταξύ οθονών. Το Navigation Component λειτουργεί με NavHostFragment και NavController, υποστηρίζει Safe Args για μεταφορά παραμετροποιημένων παραμέτρων και Deep Links για εξωτερικούς συνδέσμους. Το NavGraph περιγράφει όλες τις διαδρομές σε ένα αρχείο XML.

androidx.compose.ui — το δηλωτικό πλαίσιο UI Jetpack Compose, χτισμένο σε Kotlin. Σε αντίθεση με το σύστημα View, το Compose επανασχεδιάζει μόνο τα τροποποιημένα στοιχεία μέσω recomposition. Τα στοιχεία Material Design 3 (Button, TextField, Scaffold) είναι διαθέσιμα στη μονάδα material3.

ΒιβλιοθήκηΤεχνούργημαΣκοπός
Fragmentandroidx.fragmentΔιαχείριση τμημάτων και συναλλαγών
RecyclerViewandroidx.recyclerviewΛίστες και πλέγματα με βελτιστοποίηση
Navigationandroidx.navigationΠλοήγηση μεταξύ οθονών
Compose UIandroidx.compose.uiΔηλωτικό UI σε Kotlin

Βιβλιοθήκες για εργασία με δεδομένα

androidx.room:room — ORM για τοπική αποθήκευση δεδομένων. Το Room δημιουργεί κλάσεις DAO από σχολιασμένα ερωτήματα SQLite, ελέγχει τη σύνταξη SQL στο στάδιο μεταγλώττισης και υποστηρίζει RxJava και Kotlin Flow. Η έκδοση 2.6 περιλαμβάνει υποστήριξη για KSP για ταχύτερη δημιουργία κώδικα.

androidx.work:workmanager — βιβλιοθήκη για εργασίες παρασκηνίου με εγγυημένη εκτέλεση. Το WorkManager υποστηρίζει περιοδικές εργασίες, αλυσίδες εργασίας (beginWith, then) και κριτήρια έναρξης (Constraints: δίκτυο, φόρτιση, μνήμη). Ακόμα κι αν η εφαρμογή είναι κλειστή, το WorkManager παραδίδει την εργασία μετά από επανεκκίνηση της συσκευής.

androidx.datastore:datastore — η σύγχρονη αντικατάσταση του SharedPreferences. Το DataStore χρησιμοποιεί Kotlin Coroutines και Flow, λειτουργεί σύγχρονα και ασύγχρονα, εξαλείφοντας το μπλοκάρισμα του νήματος UI. Το Preferences DataStore αποθηκεύει απλά ζεύγη κλειδιού-τιμής, ενώ το Proto DataStore — παραμετροποιημένα αντικείμενα μέσω Protocol Buffers.

Πώς να κάνετε μετεγκατάσταση στο AndroidX

Αυτόματη μετεγκατάσταση είναι η συνιστώμενη από την Google μέθοδος μετάβασης από το Support Library στο AndroidX. Το Android Studio από την έκδοση 3.2 περιλαμβάνει το ενσωματωμένο εργαλείο Refactor Migrate to AndroidX, το οποίο αντικαθιστά τους χώρους ονομάτων και ενημερώνει τις εξαρτήσεις στο build.gradle.

Πριν από τη μετεγκατάσταση, πρέπει να ενημερώσετε την έκδοση compileSdk σε 28 ή υψηλότερη. Επίσης, βεβαιωθείτε ότι όλες οι βιβλιοθήκες τρίτων υποστηρίζουν AndroidX. Εάν κάποια εξάρτηση δεν έχει ακόμη μετεγκατασταθεί, μπορείτε να χρησιμοποιήσετε τη σημαία android.enableJetifier=true στο gradle.properties — αυτή ξαναγράφει αυτόματα τον bytecode βιβλιοθηκών τρίτων.

Αυτόματη μετεγκατάσταση στο Android Studio

Στο Android Studio, επιλέξτε Refactor Migrate to AndroidX από το μενού. Το IDE θα σαρώσει ολόκληρο το έργο, θα βρει όλες τις εισαγωγές από το πακέτο android.support.* και θα τις αντικαταστήσει με androidx.*. Επίσης, οι εξαρτήσεις στο app/build.gradle θα ενημερωθούν — τα τεχνουργήματα Support Library θα αντικατασταθούν με αντίστοιχες εκδόσεις AndroidX.

Μετά τη μετεγκατάσταση, ο Gradle Sync μπορεί να εμφανίσει σφάλματα εάν κάποιες εξαρτήσεις δεν βρέθηκαν. Ελέγξτε τη λίστα των χρησιμοποιούμενων βιβλιοθηκών στην τεκμηρίωση του Google Maven — όλα τα τεχνουργήματα AndroidX έχουν δημοσιευτεί στο google(). Εάν η βιβλιοθήκη δεν είναι διαθέσιμη, προσθέστε το mavenCentral() στο repositories.

groovy
android {
    compileSdk 34
}

dependencies {
    // Support Library (ξεπερασμένο)
    // implementation 'com.android.support:appcompat-v7:28.0.0'
    
    // AndroidX
    implementation 'androidx.core:core-ktx:1.13.1'
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'androidx.activity:activity-ktx:1.9.3'
    implementation 'androidx.fragment:fragment-ktx:1.8.5'
    implementation 'androidx.recyclerview:recyclerview:1.3.2'
    implementation 'androidx.room:room-runtime:2.6.1'
    ksp 'androidx.room:room-compiler:2.6.1'
}

Χειροκίνητη μετεγκατάσταση

Εάν το έργο είναι πολύ μεγάλο ή περιέχει προσαρμοσμένες Προβολές από το Support Library, η αυτόματη αντικατάσταση μπορεί να είναι ελλιπής. Αντικαταστήστε χειροκίνητα όλες τις συμβολοσειρές στον κώδικα: αλλάξτε τις εισαγωγές, τα χαρακτηριστικά σε XML (app/src/main/res) και τις αναφορές στο δηλωτικό. Για χαρακτηριστικά Support Library, το πρόθεμα android: αλλάζει σε app: (π.χ. app:cardCornerRadius αντί για android:cardCornerRadius).

Μετά τη χειροκίνητη μετεγκατάσταση, ελέγξτε τις αναφορές R. Το Support Library εξήγαγε πόρους μέσω android.support.v7.appcompat.R, ενώ το AndroidX μέσω androidx.appcompat.R. Εκτελέστε αναζήτηση στο έργο και αντικαταστήστε όλες τις αναφορές παλαιών διαδρομών R. Η δημιουργία του έργου πρέπει να ολοκληρωθεί χωρίς σφάλματα και προειδοποιήσεις απαξίωσης.

Πλεονεκτήματα χρήσης AndroidX

Το πρώτο πλεονέκτημα του AndroidX είναι η αρθρωτότητα. Συνδέετε μόνο τις βιβλιοθήκες που πραγματικά χρησιμοποιείτε. Εάν η εφαρμογή χρειάζεται μόνο RecyclerView και Navigation, δεν υπάρχει λόγος να συμπεριλάβετε ολόκληρο το Support Library με όλα τα στοιχεία View. Αυτό μειώνει το μέγεθος APK και επιταχύνει τη δημιουργία του έργου.

Το δεύτερο πλεονέκτημα — τακτικές ενημερώσεις. Το Jetpack κυκλοφορεί σταθερές εκδόσεις κάθε 1-3 μήνες. Το Room 2.6.0, που κυκλοφόρησε το 2024, πρόσθεσε υποστήριξη για KSP και Kotlin 2.0. Το Navigation 2.8.0 εισήγαγε ασφαλείς διαδρομές βάσει σειριοποίησης Kotlinx Serialization. Οι προγραμματιστές λαμβάνουν νέες δυνατότητες χωρίς να περιμένουν την επόμενη έκδοση Android.

Το τρίτο πλεονέκτημα — ενσωμάτωση με Kotlin. Όλες οι βιβλιοθήκες AndroidX έχουν μονάδες -ktx με συναρτήσεις επέκτασης. Το viewLifecycleOwner.lifecycleScope εκκινεί coroutines στο πλαίσιο του τμήματος, το collectLatest επεξεργάζεται το Flow, και τα SharedFlow και StateFlow είναι πλήρως συμβατά με στοιχεία Lifecycle-aware. Αυτό κάνει τον κώδικα πιο συνοπτικό και ασφαλή.

Συμβατότητα προς τα πίσω — το βασικό πλεονέκτημα του AndroidX σε σύγκριση με νέα API πλατφόρμας. Μπορείτε να χρησιμοποιήσετε AppCompatDelegate.setDefaultNightMode για σκοτεινό θέμα σε Android 4.0+, NotificationCompat.setBubble για φυσαλίδες σε Android 5.0+ και LocationRequestCompat για fused location σε Android 4.0+. Η κάλυψη συσκευών φτάνει το 99% χωρίς αύξηση της ελάχιστης έκδοσης SDK.

Το τέταρτο πλεονέκτημα — δοκιμές. Το AndroidX περιλαμβάνει τη βιβλιοθήκη androidx.test για σύνταξη ενόργανων και μοναδιαίων δοκιμών. Το FragmentScenario και το ActivityScenario επιτρέπουν τη δοκιμή στοιχείων UI σε απομόνωση, και το TestNavHostController — τον έλεγχο πλοήγησης χωρίς εκκίνηση πραγματικής συσκευής. Τα MockK και Robolectric συμπληρώνουν το οικοσύστημα.

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

Σε τι διαφέρει το AndroidX από το Support Library;

AndroidX χρησιμοποιεί τον χώρο ονομάτων androidx.* αντί για android.support.*, έχει ανεξάρτητη έκδοση (SemVer), περιλαμβάνει βιβλιοθήκες Jetpack και υποστηρίζει επεκτάσεις Kotlin -ktx. Το Support Library παγώθηκε στην έκδοση 28.0.0 το 2019.

Πώς να συνδέσω το AndroidX σε ένα νέο έργο;

Στο Android Studio ενεργοποιήστε τη σημαία Use AndroidX στο βήμα δημιουργίας έργου. Για υπάρχον έργο, προσθέστε android.useAndroidX=true και android.enableJetifier=true στο gradle.properties. Στη συνέχεια, αντικαταστήστε τις εξαρτήσεις στο build.gradle με τεχνουργήματα από την ομάδα androidx.

Είναι υποχρεωτική η μετεγκατάσταση στο AndroidX;

Το Google Play απαιτεί όλες οι εφαρμογές και ενημερώσεις να χρησιμοποιούν AndroidX. Η υποστήριξη για το Support Library έχει διακοπεί και δεν λαμβάνει διορθώσεις ασφαλείας. Εάν η εφαρμογή σας δεν έχει ακόμη μετεγκατασταθεί, αυτό μπορεί να οδηγήσει σε απόρριψη της ενημέρωσης στο Google Play Console.

Τι είναι το Jetpack στο Android;

Jetpack είναι ένα σύνολο βιβλιοθηκών, εργαλείων και συστάσεων από την Google για ανάπτυξη εφαρμογών Android. Το AndroidX αποτελεί τη βάση του Jetpack. Το Jetpack περιλαμβάνει Architecture Components (Lifecycle, ViewModel, Room), UI (Compose, Fragment, RecyclerView) και Behavior (WorkManager, Navigation, CameraX).

Μπορώ να χρησιμοποιήσω AndroidX με Jetpack Compose;

Ναι, το Jetpack Compose το ίδιο είναι μέρος του AndroidX (androidx.compose.ui). Οι βιβλιοθήκες ViewModel, Navigation, Room και WorkManager είναι πλήρως συμβατές με το Compose. Οι συναρτήσεις collectAsState() και collectAsStateWithLifecycle() εξασφαλίζουν ενσωμάτωση του Flow με συναρτήσεις Compose.

Σύνοψη

  • AndroidX — σύγχρονο σύνολο βιβλιοθηκών Jetpack, διάδοχος του Support Library με σημασιολογική έκδοση
  • Πάνω από 100 μονάδες καλύπτουν UI, δεδομένα, πλοήγηση, εργασίες παρασκηνίου, πολυμέσα και δοκιμές
  • Αυτόματη μετεγκατάσταση στο Android Studio αντικαθιστά εισαγωγές και εξαρτήσεις με λίγα κλικ
  • Επεκτάσεις Kotlin -ktx μειώνουν τον τυποποιημένο κώδικα και ενσωματώνονται με coroutines και Flow
  • Συμβατότητα προς τα πίσω με Android 4.0+ καλύπτει το 99% ενεργών συσκευών
  • Jetpack συνδυάζει το AndroidX με αρχιτεκτονικές συστάσεις — ViewModel, Room, Navigation, WorkManager
  • Χρησιμοποιήστε AndroidX σε όλα τα νέα έργα — είναι το βιομηχανικό πρότυπο από το 2019

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

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

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

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