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 اسکرینوں کے درمیان نیویگیشن کے لیے ایک لائبریری ہے۔ Navigation Component 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.* پیکیج سے تمام درآمدات تلاش کرے گا اور انہیں 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 سے حسب ضرور Views پر مشتمل ہے، تو خودکار تبدیلی نامکمل ہو سکتی ہے۔ کوڈ میں تمام سٹرنگز کو دستی طور پر تبدیل کریں: درآمدات، 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 راستوں کے تمام حوالہ جات تبدیل کریں۔ پروجیکٹ بلڈ بغیر خرابیوں یا فرسودگی کے انتباہات کے مکمل ہونا چاہیے۔

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 میں خودکار منتقلی چند کلکس میں درآمدات اور انحصار کو بدل دیتی ہے
  • Kotlin توسیعات -ktx بوائلر پلیٹ کوڈ کو کم کرتی ہیں اور کوروٹینز اور Flow کے ساتھ مربوط ہوتی ہیں
  • Android 4.0+ کے ساتھ پسماندہ مطابقت فعال آلات کے 99% کا احاطہ کرتی ہے
  • Jetpack AndroidX کو آرکیٹیکچرل سفارشات — ViewModel، Room، Navigation، WorkManager کے ساتھ متحد کرتا ہے
  • تمام نئے پروجیکٹس میں AndroidX استعمال کریں — یہ 2019 سے صنعتی معیار ہے

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں