一、前言
在Google I/O 2018上,Android团队宣布了AndroidX。它是Android团队用于在Jetpack中开发,测试,打包,版本和发布库的开源项目。与support库一样,每个AndroidX库都与Android操作系统分开提供,并提供跨Android版本的向后兼容性。
androidx 是对 android.support.xxx 包和其他google android支持库整理后的产物。由于之前的support包过于混乱,所以,google推出了 AndroidX。自support v7:28开始,大部分support包都会迁移到androidx下,所以建议开发者们尽早将项目转移到androidx下。
二、迁移步骤
1.先备份项目!
2.使用Android Studio自动迁移
在菜单栏中依次进入Refactor > Migrate to AndroidX,之后as会提示备份项目,如果已备份就不用勾选备份选项。
3. 旧依赖包名与新包名对照表(建议使用Ctrl + F搜索)
执行Migrate to AndroidX完成之后,虽然常用的support包都会被转成对应的androidx里的包名,gradle或者maven里的部分依赖但还是有可能会未能转换成功,这时候需要我们手动修改。
原包名新包名
android.arch.core:commonandroidx.arch.core:core-common
android.arch.core:coreandroidx.arch.core:core
android.arch.core:core-testingandroidx.arch.core:core-testing
android.arch.core:runtimeandroidx.arch.core:core-runtime
android.arch.lifecycle:commonandroidx.lifecycle:lifecycle-common
android.arch.lifecycle:common-java8androidx.lifecycle:lifecycle-common-java8
android.arch.lifecycle:compilerandroidx.lifecycle:lifecycle-compiler
android.arch.lifecycle:extensionsandroidx.lifecycle:lifecycle-extensions
android.arch.lifecycle:livedataandroidx.lifecycle:lifecycle-livedata
android.arch.lifecycle:livedata-coreandroidx.lifecycle:lifecycle-livedata-core
android.arch.lifecycle:reactivestreamsandroidx.lifecycle:lifecycle-reactivestreams
android.arch.lifecycle:runtimeandroidx.lifecycle:lifecycle-runtime
android.arch.lifecycle:viewmodelandroidx.lifecycle:lifecycle-viewmodel
android.arch.paging:commonandroidx.paging:paging-common
android.arch.paging:runtimeandroidx.paging:paging-runtime
android.arch.paging:rxjava2androidx.paging:paging-rxjava2
android.arch.persistence.room:commonandroidx.room:room-common
android.arch.persistence.room:compilerandroidx.room:room-compiler
android.arch.persistence.room:guavaandroidx.room:room-guava
android.arch.persistence.room:migrationandroidx.room:room-migration
android.arch.persistence.room:runtimeandroidx.room:room-runtime
android.arch.persistence.room:rxjava2androidx.room:room-rxjava2
android.arch.persistence.room:testingandroidx.room:room-testing
android.arch.persistence:dbandroidx.sqlite:sqlite
android.arch.persistence:db-frameworkandroidx.sqlite:sqlite-framework
com.android.support.constraint:constraint-layoutandroidx.constraintlayout:constraintlayout
com.android.support.constraint:constraint-layout-solverandroidx.constraintlayout:constraintlayout-solver
com.android.support.test.espresso.idling:idling-concurrentandroidx.test.espresso.idling:idling-concurrent
com.android.support.test.espresso.idling:idling-netandroidx.test.espresso.idling:idling-net
com.android.support.test.espresso:espresso-accessibilityandroidx.test.espresso:espresso-accessibility
com.android.support.test.espresso:espresso-contribandroidx.test.espresso:espresso-contrib
com.android.support.test.espresso:espresso-coreandroidx.test.espresso:espresso-core
com.android.support.test.espresso:espresso-idling-resourceandroidx.test.espresso:espresso-idling-resource
com.android.support.test.espresso:espresso-intentsandroidx.test.espresso:espresso-intents
com.android.support.test.espresso:espresso-remoteandroidx.test.espresso:espresso-remote
com.android.support.test.espresso:espresso-webandroidx.test.espresso:espresso-web
com.android.support.test.janktesthelper:janktesthelperandroidx.test.jank:janktesthelper
com.android.support.test.services:test-servicesandroidx.test:test-services
com.android.support.test.uiautomator:uiautomatorandroidx.test.uiautomator:uiautomator
com.android.support.test:monitorandroidx.test:monitor
com.android.support.test:orchestratorandroidx.test:orchestrator
com.android.support.test:rulesandroidx.test:rules
com.android.support.test:runnerandroidx.test:runner
com.android.support:animated-vector-drawableandroidx.vectordrawable:vectordrawable-animated
com.android.support:appcompat-v7androidx.appcompat:appcompat
com.android.support:asynclayoutinflaterandroidx.asynclayoutinflater:asynclayoutinflater
com.android.support:carandroidx.car:car
com.android.support:cardview-v7androidx.cardview:cardview
com.android.support:collectionsandroidx.collection:collection
com.android.support:coordinatorlayoutandroidx.coordinatorlayout:coordinatorlayout
com.android.support:cursoradapterandroidx.cursoradapter:cursoradapter
com.android.support:customtabsandroidx.browser:browser
com.android.support:customviewandroidx.customview:customview
com.android.support:designcom.google.android.material:material
com.android.support:documentfileandroidx.documentfile:documentfile
com.android.support:drawerlayoutandroidx.drawerlayout:drawerlayout
com.android.support:exifinterfaceandroidx.exifinterface:exifinterface
com.android.support:gridlayout-v7androidx.gridlayout:gridlayout
com.android.support:heifwriterandroidx.heifwriter:heifwriter
com.android.support:interpolatorandroidx.interpolator:interpolator
com.android.support:leanback-v17androidx.leanback:leanback
com.android.support:loaderandroidx.loader:loader
com.android.support:localbroadcastmanagerandroidx.localbroadcastmanager:localbroadcastmanager
com.android.support:media2androidx.media2:media2:1.0.0-alpha03
com.android.support:media2-exoplayerandroidx.media2:media2-exoplayer
com.android.support:mediarouter-v7androidx.mediarouter:mediarouter
com.android.support:multidexandroidx.multidex:multidex
com.android.support:multidex-instrumentationandroidx.multidex:multidex-instrumentation
com.android.support:palette-v7androidx.palette:palette
com.android.support:percentandroidx.percentlayout:percentlayout
com.android.support:preference-leanback-v17androidx.leanback:leanback-preference
com.android.support:preference-v14androidx.legacy:legacy-preference-v14
com.android.support:preference-v7androidx.preference:preference
com.android.support:printandroidx.print:print
com.android.support:recommendationandroidx.recommendation:recommendation
com.android.support:recyclerview-selectionandroidx.recyclerview:recyclerview-selection
com.android.support:recyclerview-v7androidx.recyclerview:recyclerview
com.android.support:slices-buildersandroidx.slice:slice-builders
com.android.support:slices-coreandroidx.slice:slice-core
com.android.support:slices-viewandroidx.slice:slice-view
com.android.support:slidingpanelayoutandroidx.slidingpanelayout:slidingpanelayout
com.android.support:support-annotationsandroidx.annotation:annotation
com.android.support:support-compatandroidx.core:core
com.android.support:support-contentandroidx.contentpager:contentpager
com.android.support:support-core-uiandroidx.legacy:legacy-support-core-ui
com.android.support:support-core-utilsandroidx.legacy:legacy-support-core-utils
com.android.support:support-dynamic-animationandroidx.dynamicanimation:dynamicanimation
com.android.support:support-emojiandroidx.emoji:emoji
com.android.support:support-emoji-appcompatandroidx.emoji:emoji-appcompat
com.android.support:support-emoji-bundledandroidx.emoji:emoji-bundled
com.android.support:support-fragmentandroidx.fragment:fragment
com.android.support:support-media-compatandroidx.media:media
com.android.support:support-tv-providerandroidx.tvprovider:tvprovider
com.android.support:support-v13androidx.legacy:legacy-support-v13
com.android.support:support-v4androidx.legacy:legacy-support-v4
com.android.support:support-vector-drawableandroidx.vectordrawable:vectordrawable
com.android.support:swiperefreshlayoutandroidx.swiperefreshlayout:swiperefreshlayout
com.android.support:textclassifierandroidx.textclassifier:textclassifier
com.android.support:transitionandroidx.transition:transition
com.android.support:versionedparcelableandroidx.versionedparcelable:versionedparcelable
com.android.support:viewpagerandroidx.viewpager:viewpager
com.android.support:wearandroidx.wear:wear
com.android.support:webkitandroidx.webkit:webkit
如有其他未列出的依赖,请参考 https://developer.android.google.cn/topic/libraries/support-library/refactor
原文链接:https://blog.csdn.net/yin_ol/article/details/89421390