前言:今天在学习安卓开发的过程中发现一个问题,我学习的课程里 那个老师打开build.gradle和我的项目打开的build.gradle不一样,并且里面包名也不一样。
我发现我的包大多都是以androidx开头的,那到底什么是androidx呢,和android有什么区别?我导包该怎么操作呢?
AndroidX概述
AndroidX 是Android团队用于在Jetpack中开发,测试,打包,发布和版本管理的开源项目。
相比于原来的Android Support库,AndroidX 可以称得上是一次重大的升级改进。和Support库一样,AndroidX与Android 操作系统独立分开,并且提供跨Android版本的向后兼容。AndroidX提供功能奇偶性校验,以及一些新的开发库,可以完全取代Support库。另外,AndroidX还有下面一些特性:
- AndroidX中的所有软件包都以字符串开头,位于一致的命名空间
androidx
中。支持库包已映射到相应的androidx.*
包中。目前,Support库的包已经全部映射到相应的androidx包下。 - 与支持库(Support库)不同,AndroidX软件包是单独维护和更新升级的。这些androidx包使用严格的语义版本控制, 从版本1.0.0开始。你可以单独的在你的项目中更新AndroidX库。
- 后续所有的支持库(Support库)开发都将在AndroidX库中进行。这包括维护原始支持库工件和引入新的Jetpack组件。
说白了就是以后的安卓开发基本都使用AndroidX库了,并且AndroidX向下兼容旧的Android版本
旧版本包与AndroidX对照表
Maven artifact mappings:
Old build artifact(旧包) | AndroidX build artifact |
---|---|
android.arch.core:common | androidx.arch.core:core-common |
android.arch.core:core | androidx.arch.core:core |
android.arch.core:core-testing | androidx.arch.core:core-testing |
android.arch.core:runtime | androidx.arch.core:core-runtime |
android.arch.lifecycle:common | androidx.lifecycle:lifecycle-common |
android.arch.lifecycle:common-java8 | androidx.lifecycle:lifecycle-common-java8 |
android.arch.lifecycle:compiler | androidx.lifecycle:lifecycle-compiler |
android.arch.lifecycle:extensions | androidx.lifecycle:lifecycle-extensions |
android.arch.lifecycle:livedata | androidx.lifecycle:lifecycle-livedata |
android.arch.lifecycle:livedata-core | androidx.lifecycle:lifecycle-livedata-core |
android.arch.lifecycle:reactivestreams | androidx.lifecycle:lifecycle-reactivestreams |
android.arch.lifecycle:runtime | androidx.lifecycle:lifecycle-runtime |
android.arch.lifecycle:viewmodel | androidx.lifecycle:lifecycle-viewmodel |
android.arch.paging:common | androidx.paging:paging-common |
android.arch.paging:runtime | androidx.paging:paging-runtime |
android.arch.paging:rxjava2 | androidx.paging:paging-rxjava2 |
android.arch.persistence.room:common | androidx.room:room-common |
android.arch.persistence.room:compiler | androidx.room:room-compiler |
android.arch.persistence.room:guava | androidx.room:room-guava |
android.arch.persistence.room:migration | androidx.room:room-migration |
android.arch.persistence.room:runtime | androidx.room:room-runtime |
android.arch.persistence.room:rxjava2 | androidx.room:room-rxjava2 |
android.arch.persistence.room:testing | androidx.room:room-testing |
android.arch.persistence:db | androidx.sqlite:sqlite |
android.arch.persistence:db-framework | androidx.sqlite:sqlite-framework |
com.android.support.constraint:constraint-layout | androidx.constraintlayout:constraintlayout |
com.android.support.constraint:constraint-layout-solver | androidx.constraintlayout:constraintlayout-solver |
com.android.support.test.espresso.idling:idling-concurrent | androidx.test.espresso.idling:idling-concurrent |
com.android.support.test.espresso.idling:idling-net | androidx.test.espresso.idling:idling-net |
com.android.support.test.espresso:espresso-accessibility | androidx.test.espresso:espresso-accessibility |
com.android.support.test.espresso:espresso-contrib | androidx.test.espresso:espresso-contrib |
com.android.support.test.espresso:espresso-core | androidx.test.espresso:espresso-core |
com.android.support.test.espresso:espresso-idling-resource | androidx.test.espresso:espresso-idling-resource |
com.android.support.test.espresso:espresso-intents | androidx.test.espresso:espresso-intents |
com.android.support.test.espresso:espresso-remote | androidx.test.espresso:espresso-remote |
com.android.support.test.espresso:espresso-web | androidx.test.espresso:espresso-web |
com.android.support.test.janktesthelper:janktesthelper | androidx.test.jank:janktesthelper |
com.android.support.test.services:test-services | androidx.test:test-services |
com.android.support.test.uiautomator:uiautomator | androidx.test.uiautomator:uiautomator |
com.android.support.test:monitor | androidx.test:monitor |
com.android.support.test:orchestrator | androidx.test:orchestrator |
com.android.support.test:rules | androidx.test:rules |
com.android.support.test:runner | androidx.test:runner |
com.android.support:animated-vector-drawable | androidx.vectordrawable:vectordrawable-animated |
com.android.support:appcompat-v7 | androidx.appcompat:appcompat |
com.android.support:asynclayoutinflater | androidx.asynclayoutinflater:asynclayoutinflater |
com.android.support:car | androidx.car:car-alpha5 |
com.android.support:cardview-v7 | androidx.cardview:cardview |
com.android.support:collections | androidx.collection:collection |
com.android.support:coordinatorlayout | androidx.coordinatorlayout:coordinatorlayout |
com.android.support:cursoradapter | androidx.cursoradapter:cursoradapter |
com.android.support:customtabs | androidx.browser:browser |
com.android.support:customview | androidx.customview:customview |
com.android.support:design | com.google.android.material:material-rc01 |
com.android.support:documentfile | androidx.documentfile:documentfile |
com.android.support:drawerlayout | androidx.drawerlayout:drawerlayout |
com.android.support:exifinterface | androidx.exifinterface:exifinterface |
com.android.support:gridlayout-v7 | androidx.gridlayout:gridlayout |
com.android.support:heifwriter | androidx.heifwriter:heifwriter |
com.android.support:interpolator | androidx.interpolator:interpolator |
com.android.support:leanback-v17 | androidx.leanback:leanback |
com.android.support:loader | androidx.loader:loader |
com.android.support:localbroadcastmanager | androidx.localbroadcastmanager:localbroadcastmanager |
com.android.support:media2 | androidx.media2:media2-alpha03 |
com.android.support:media2-exoplayer | androidx.media2:media2-exoplayer-alpha01 |
com.android.support:mediarouter-v7 | androidx.mediarouter:mediarouter |
com.android.support:multidex | androidx.multidex:multidex |
com.android.support:multidex-instrumentation | androidx.multidex:multidex-instrumentation |
com.android.support:palette-v7 | androidx.palette:palette |
com.android.support:percent | androidx.percentlayout:percentlayout |
com.android.support:preference-leanback-v17 | androidx.leanback:leanback-preference |
com.android.support:preference-v14 | androidx.legacy:legacy-preference-v14 |
com.android.support:preference-v7 | androidx.preference:preference |
com.android.support:print | androidx.print:print |
com.android.support:recommendation | androidx.recommendation:recommendation |
com.android.support:recyclerview-selection | androidx.recyclerview:recyclerview-selection |
com.android.support:recyclerview-v7 | androidx.recyclerview:recyclerview |
com.android.support:slices-builders | androidx.slice:slice-builders |
com.android.support:slices-core | androidx.slice:slice-core |
com.android.support:slices-view | androidx.slice:slice-view |
com.android.support:slidingpanelayout | androidx.slidingpanelayout:slidingpanelayout |
com.android.support:support-annotations | androidx.annotation:annotation |
com.android.support:support-compat | androidx.core:core |
com.android.support:support-content | androidx.contentpager:contentpager |
com.android.support:support-core-ui | androidx.legacy:legacy-support-core-ui |
com.android.support:support-core-utils | androidx.legacy:legacy-support-core-utils |
com.android.support:support-dynamic-animation | androidx.dynamicanimation:dynamicanimation |
com.android.support:support-emoji | androidx.emoji:emoji |
com.android.support:support-emoji-appcompat | androidx.emoji:emoji-appcompat |
com.android.support:support-emoji-bundled | androidx.emoji:emoji-bundled |
com.android.support:support-fragment | androidx.fragment:fragment |
com.android.support:support-media-compat | androidx.media:media |
com.android.support:support-tv-provider | androidx.tvprovider:tvprovider |
com.android.support:support-v13 | androidx.legacy:legacy-support-v13 |
com.android.support:support-v4 | androidx.legacy:legacy-support-v4 |
com.android.support:support-vector-drawable | androidx.vectordrawable:vectordrawable |
com.android.support:swiperefreshlayout | androidx.swiperefreshlayout:swiperefreshlayout |
com.android.support:textclassifier | androidx.textclassifier:textclassifier |
com.android.support:transition | androidx.transition:transition |
com.android.support:versionedparcelable | androidx.versionedparcelable:versionedparcelable |
com.android.support:viewpager | androidx.viewpager:viewpager |
com.android.support:wear | androidx.wear:wear |
com.android.support:webkit | androidx.webkit:webkit |
另外还有一个Class mappings(类映射)表,但实在是太长了,就不做表格了,大家要的话自行下载(请用Excel打开)
https://download.csdn.net/download/qq_40164190/12318199
部分内容来自网络
原文链接:
https://www.jianshu.com/p/cb937f5814a9
https://www.jianshu.com/p/1466ebefe4d0
谷歌文档:
https://developer.android.com/jetpack/androidx/migrate
https://developer.android.com/jetpack/androidx/migrate/artifact-mappings
https://developer.android.com/jetpack/androidx/migrate/class-mappings