AndroidX: यह क्या है, प्रमुख लाइब्रेरी और माइग्रेशन

लेखक: IT Sectr प्रकाशित: 2026-05-01 पढ़ने का समय: 8 मिनट

AndroidX Google द्वारा Jetpack लाइब्रेरी का एक सेट है जिसने पुरानी 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 ने 2018 में Support Library के प्रतिस्थापन के रूप में AndroidX जारी किया, जो 2011 से पुराने Android संस्करणों के लिए बैकवर्ड-संगत घटक प्रदान कर रही थी।

AndroidX से पहले, प्रत्येक Support Library घटक का अपना संस्करण targetSdkVersion से बंधा होता था। डेवलपर्स को एक ही लाइब्रेरी के कई संस्करण एक साथ शामिल करने पड़ते थे, जिससे डिपेंडेंसी विरोध और APK आकार में वृद्धि होती थी।

AndroidX ने सिमैंटिक वर्जनिंग (SemVer) के माध्यम से इस समस्या को हल किया। अब प्रत्येक लाइब्रेरी MAJOR.MINOR.PATCH प्रारूप में संस्करण के साथ एक अलग Gradle आर्टिफैक्ट है। डेवलपर्स Activity, Fragment या अन्य मॉड्यूल को छुए बिना Room को 2.4.0 से 2.6.0 तक अपडेट कर सकते हैं।

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.* पर चला गया। इस बदलाव ने लाइब्रेरी को कार्यात्मक मॉड्यूल में विभाजित करने की अनुमति दी। उदाहरण के लिए, Support Library में Fragment को 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) और उससे ऊपर के उपकरणों पर संचालन की गारंटी देता है — जो Google Play Console 2024 के अनुसार 99% से अधिक सक्रिय उपकरणों को कवर करता है।

AndroidX लाइब्रेरी संरचना

AndroidX में श्रेणी के अनुसार समूहित 100 से अधिक लाइब्रेरी शामिल हैं। प्रत्येक समूह एक विशिष्ट क्षेत्र को कवर करता है: UI, डेटा, नेविगेशन, बैकग्राउंड कार्य, मल्टीमीडिया और परीक्षण। नीचे प्रमुख मॉड्यूल का अवलोकन दिया गया है।

कोर और बेस लाइब्रेरी

androidx.core:core मूल लाइब्रेरी है जिसमें सिस्टम API के बैकवर्ड-संगत संस्करण शामिल हैं: NotificationCompat, ActivityCompat, ContextCompat। core-ktx मॉड्यूल फ़ाइलों, SharedPreferences और व्यू एलिमेंट के साथ काम करने के लिए Kotlin एक्सटेंशन प्रदान करता है।

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 के माध्यम से एनिमेशन का समर्थन करता है। AsyncListDiffer के साथ ListAdapter लाइब्रेरी स्वचालित अंतर गणना के साथ सूची अपडेट को सरल बनाती है।

androidx.navigation:navigation स्क्रीन के बीच नेविगेट करने के लिए एक लाइब्रेरी है। नेविगेशन कंपोनेंट NavHostFragment और NavController के साथ काम करता है, टाइप किए गए पैरामीटर पास करने के लिए Safe Args और बाहरी लिंक के लिए Deep Links का समर्थन करता है। NavGraph XML फ़ाइल में सभी मार्गों का वर्णन करता है।

androidx.compose.ui Kotlin पर निर्मित एक घोषणात्मक UI फ्रेमवर्क, Jetpack Compose है। View सिस्टम के विपरीत, Compose पुनर्संयोजन के माध्यम से केवल बदले हुए एलिमेंट को फिर से खींचता है। Material Design 3 घटक (Button, TextField, Scaffold) material3 मॉड्यूल में उपलब्ध हैं।

लाइब्रेरीआर्टिफैक्टउद्देश्य
Fragmentandroidx.fragmentफ़्रैगमेंट प्रबंधन और लेन-देन
RecyclerViewandroidx.recyclerviewअनुकूलित सूचियाँ और ग्रिड
Navigationandroidx.navigationस्क्रीन नेविगेशन
Compose UIandroidx.compose.uiKotlin में घोषणात्मक UI

डेटा लाइब्रेरी

androidx.room:room स्थानीय डेटा भंडारण के लिए एक ORM है। Room एनोटेटेड SQLite क्वेरी से DAO क्लास उत्पन्न करता है, संकलन समय पर 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 पर कैसे माइग्रेट करें

स्वचालित माइग्रेशन Support Library से AndroidX में संक्रमण का Google का अनुशंसित तरीका है। Android Studio संस्करण 3.2 से अंतर्निहित Refactor Migrate to AndroidX टूल शामिल करता है, जो नेमस्पेस बदलता है और build.gradle में डिपेंडेंसी अपडेट करता है।

माइग्रेशन से पहले, आपको compileSdk संस्करण को 28 या उच्चतर पर अपडेट करना होगा। यह भी सुनिश्चित करें कि सभी तृतीय-पक्ष लाइब्रेरी AndroidX का समर्थन करती हैं। यदि कोई डिपेंडेंसी अभी तक माइग्रेट नहीं हुई है, तो gradle.properties में android.enableJetifier=true फ़्लैग का उपयोग करें — यह स्वचालित रूप से तृतीय-पक्ष लाइब्रेरी के बाइटकोड को फिर से लिखता है।

Android Studio में स्वचालित माइग्रेशन

Android Studio में, मेनू से Refactor Migrate to AndroidX चुनें। IDE पूरे प्रोजेक्ट को स्कैन करेगा, android.support.* पैकेज से सभी import ढूंढेगा और उन्हें androidx.* से बदल देगा। app/build.gradle में डिपेंडेंसी भी अपडेट की जाएंगी — Support Library आर्टिफैक्ट को संबंधित AndroidX संस्करणों से बदल दिया जाएगा।

माइग्रेशन के बाद, Gradle Sync त्रुटियाँ दिखा सकता है यदि कुछ डिपेंडेंसी नहीं मिलीं। Google Maven दस्तावेज़ीकरण में उपयोग की गई लाइब्रेरी की सूची जाँचें — सभी AndroidX आर्टिफैक्ट google() पर प्रकाशित हैं। यदि कोई लाइब्रेरी उपलब्ध नहीं है, तो repositories में mavenCentral() जोड़ें।

groovy
android {
    compileSdk 34
}

dependencies {
    // सपोर्ट लाइब्रेरी (पुरानी)
    // 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 से कस्टम View शामिल हैं, तो स्वचालित प्रतिस्थापन अधूरा हो सकता है। कोड में सभी स्ट्रिंग को मैन्युअल रूप से बदलें: import, XML विशेषताएँ (app/src/main/res) और मैनिफ़ेस्ट संदर्भ बदलें। Support Library विशेषताओं के लिए, android: उपसर्ग app: में बदल जाता है (उदा., android:cardCornerRadius के बजाय app:cardCornerRadius)।

मैन्युअल माइग्रेशन के बाद, R-संदर्भ जाँचें। Support Library ने android.support.v7.appcompat.R के माध्यम से संसाधन निर्यात किए, जबकि AndroidX androidx.appcompat.R का उपयोग करता है। प्रोजेक्ट में खोजें और पुराने R पथों के सभी संदर्भ बदलें। प्रोजेक्ट बिल्ड बिना त्रुटियों या deprecation चेतावनियों के पूरा होना चाहिए।

AndroidX उपयोग के लाभ

AndroidX का पहला लाभ मॉड्यूलरिटी है। आप केवल वही लाइब्रेरी शामिल करते हैं जो आप वास्तव में उपयोग करते हैं। यदि आपके ऐप को केवल RecyclerView और Navigation की आवश्यकता है, तो सभी View घटकों के साथ पूरी Support Library खींचने की कोई आवश्यकता नहीं है। इससे 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 फ़्रैगमेंट संदर्भ में कोरूटीन लॉन्च करता है, collectLatest Flow को प्रोसेस करता है, और SharedFlow और StateFlow लाइफसाइकिल-अवेयर घटकों के साथ पूरी तरह से संगत हैं। यह कोड को अधिक संक्षिप्त और सुरक्षित बनाता है।

बैकवर्ड संगतता नए प्लेटफ़ॉर्म API पर AndroidX का एक प्रमुख लाभ है। आप Android 4.0+ पर डार्क थीम के लिए AppCompatDelegate.setDefaultNightMode, Android 5.0+ पर बबल के लिए NotificationCompat.setBubble और Android 4.0+ पर फ्यूज्ड लोकेशन के लिए LocationRequestCompat का उपयोग कर सकते हैं। न्यूनतम SDK संस्करण बढ़ाए बिना डिवाइस कवरेज 99% तक पहुँचता है।

चौथा लाभ परीक्षण है। AndroidX में इंस्ट्रूमेंटेड और यूनिट टेस्ट लिखने के लिए androidx.test लाइब्रेरी शामिल है। FragmentScenario और ActivityScenario UI घटकों को अलगाव में परीक्षण करने की अनुमति देते हैं, जबकि TestNavHostController वास्तविक डिवाइस चलाए बिना नेविगेशन सत्यापन सक्षम करता है। MockK और Robolectric पारिस्थितिकी तंत्र को पूरा करते हैं।

अक्सर पूछे जाने वाले प्रश्न

AndroidX, Support Library से कैसे अलग है?

AndroidX android.support.* के बजाय androidx.* नेमस्पेस का उपयोग करता है, इसमें स्वतंत्र वर्जनिंग (SemVer) है, Jetpack लाइब्रेरी शामिल हैं और Kotlin -ktx एक्सटेंशन का समर्थन करता है। Support Library को 2019 में संस्करण 28.0.0 पर फ्रीज़ कर दिया गया था।

नए प्रोजेक्ट में AndroidX कैसे जोड़ें?

Android Studio में, प्रोजेक्ट निर्माण चरण में Use AndroidX फ़्लैग सक्षम करें। मौजूदा प्रोजेक्ट के लिए, gradle.properties में android.useAndroidX=true और android.enableJetifier=true जोड़ें। फिर build.gradle में डिपेंडेंसी को androidx समूह के आर्टिफैक्ट से बदलें।

क्या AndroidX पर माइग्रेशन अनिवार्य है?

Google Play के लिए आवश्यक है कि सभी ऐप और अपडेट AndroidX का उपयोग करें। Support Library का रखरखाव बंद कर दिया गया है और इसे अब सुरक्षा पैच नहीं मिलते हैं। यदि आपका ऐप अभी तक माइग्रेट नहीं हुआ है, तो इससे Google Play Console में अपडेट अस्वीकृति हो सकती है।

Android में Jetpack क्या है?

Jetpack Android ऐप डेवलपमेंट के लिए Google से लाइब्रेरी, टूल और दिशानिर्देशों का एक सेट है। 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() फ़ंक्शन Composable फ़ंक्शन के साथ Flow एकीकरण प्रदान करते हैं।

सारांश

  • AndroidX Jetpack लाइब्रेरी का एक आधुनिक सेट है, जो सिमैंटिक वर्जनिंग के साथ Support Library का उत्तराधिकारी है
  • 100 से अधिक मॉड्यूल UI, डेटा, नेविगेशन, बैकग्राउंड कार्य, मल्टीमीडिया और परीक्षण को कवर करते हैं
  • Android Studio में स्वचालित माइग्रेशन कुछ क्लिक में import और डिपेंडेंसी बदल देता है
  • Kotlin एक्सटेंशन -ktx बॉयलरप्लेट कोड कम करते हैं और कोरूटीन और Flow के साथ एकीकृत होते हैं
  • Android 4.0+ के साथ बैकवर्ड संगतता 99% सक्रिय उपकरणों को कवर करती है
  • Jetpack AndroidX को आर्किटेक्चरल अनुशंसाओं — ViewModel, Room, Navigation, WorkManager के साथ एकजुट करता है
  • सभी नए प्रोजेक्ट में AndroidX का उपयोग करें — यह 2019 से उद्योग मानक है

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें