原文: https://android-developers.googleblog.com/2018/05/hello-world-androidx.html
從v28開(kāi)始, android的support庫(kù)將會(huì)進(jìn)行改進(jìn), 28.0.0將會(huì)是support庫(kù)的終結(jié)版本. 未來(lái)新的特性和改進(jìn)都會(huì)進(jìn)入Androidx包.
文中先講述了為什么要進(jìn)行如此大規(guī)模的革新, 主要原因是support庫(kù)的命名已經(jīng)越來(lái)越令人迷惑. 包的尺寸越來(lái)越臃腫.
more sustainable growth, better modularity, and smaller code size.
給出了一個(gè)新舊庫(kù)名和類(lèi)名稱(chēng)對(duì)應(yīng)的列表
https://developer.android.com/topic/libraries/support-library/refactor
如果要對(duì)現(xiàn)有項(xiàng)目進(jìn)行更新, 可以使用android studio提供的自動(dòng)轉(zhuǎn)換功能:
前提是你的項(xiàng)目build.gradle中的插件版本要在3.2.0以上. 這也意味著你的android studio版本不能太低.
不可以在一個(gè)項(xiàng)目中同時(shí)使用support庫(kù)和androidx庫(kù), 會(huì)造成編譯不通過(guò).
可能會(huì)有類(lèi)似如下的編譯報(bào)錯(cuò):
Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0-beta01] AndroidManifest.xml:22:18-86
is also present at [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:11:5-49:19 to override.
另外如果遇到Program type already present報(bào)錯(cuò), 可以參考這個(gè)辦法, 可能能夠解決
使用androidx時(shí)Program type already present報(bào)錯(cuò)的一種解決嘗試