Android--›迁移到AndroidX指南(含包依赖关系)

AndroidX发布已经有段时间了, 相应的包也都出了1.0.0正式版本.

顺势而为, 才能得以生存.

是时候迁移到AndroidX了.

迁移操作本身是很简单的, 有菜单命令一键搞定.如下:
在这里插入图片描述

你以为这样就完事了?

还真是…项目妥妥的跑起来了, 还不算完事吗?

如果仅仅是为了跑起项目, 那还真的就完事了.

但是项目中的依赖包还是写的com.android.support:xxx:xxx, 所以要彻底迁移到AndroidX, 请继续往下看.

铲掉所有com.android.support的依赖包

替换到最新的androidx对应的依赖包.

ext.androidx = [
        //com.android.support:support-v4
        "v4"                    : "androidx.legacy:legacy-support-v4:1.0.0",

        //com.android.support:exifinterface
        "exifinterface"         : "androidx.exifinterface:exifinterface:1.0.0",
        "vectordrawable"        : "androidx.vectordrawable:vectordrawable:1.1.0",

        //com.android.support:appcompat-v7
        "appcompat"             : "androidx.appcompat:appcompat:1.1.0",
        //com.android.support:support-compat
        "core"                  : "androidx.core:core:1.1.0",
        "corektx"               : "androidx.core:core-ktx:1.1.0",

        //com.android.support:support-fragment
        "fragment"              : "androidx.fragment:fragment:1.1.0",

        //com.android.support:recyclerview-v7
        "recyclerview"          : "androidx.recyclerview:recyclerview:1.0.0",

        //com.android.support:support-annotations
        "annotation"            : "androidx.annotation:annotation:1.1.0",

        //com.android.support:localbroadcastmanager
        "localbroadcastmanager" : "androidx.localbroadcastmanager:localbroadcastmanager:1.0.0",

        //com.android.support:design
        "material"              : "com.google.android.material:material:1.0.0",

        //com.android.support:cardview-v7
        "cardview"              : "androidx.cardview:cardview:1.0.0",

        //com.android.support.constraint:constraint-layout
        "constraintlayout"      : "androidx.constraintlayout:constraintlayout:1.1.3",
        //com.android.support.constraint:constraint-layout-solver
        "constraintlayoutsolver": "androidx.constraintlayout:constraintlayout-solver:1.1.3",

        //com.android.support:coordinatorlayout
        "coordinatorlayout"     : "androidx.coordinatorlayout:coordinatorlayout:1.0.0",

        //androidx only
        "viewpager2"            : "androidx.viewpager2:viewpager2:1.0.0-beta05",
]

我这里列举了一些常用的包. 点击这里查看所有

注意 那个对应关系后的版本, 可能不是最新版本号. 最新版本号点击查看

所有包都替换完之后, 难免会出现重复的依赖包, 这个时候可以查看我的另一篇文章
AS–›Gradle 自动查找依赖版本冲突,强制指定依赖版本号,
可以强制指定版本号

有的时候, 你会发现, 一个包里面包含了另一个包, 这个时候就没必要再引入包了.

我这里列举了常用了依赖包依赖关系:

依赖包

androidx.legacy:legacy-support-v4

+--- androidx.legacy:legacy-support-v4:1.0.0
|    +--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    +--- androidx.media:media:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    +--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    |    \--- androidx.versionedparcelable:versionedparcelable:1.0.0 -> 1.1.0 (*)
|    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|    +--- androidx.legacy:legacy-support-core-ui:1.0.0 (*)
|    \--- androidx.fragment:fragment:1.0.0 -> 1.1.0 (*)

androidx.legacy:legacy-support-core-ui

+--- androidx.legacy:legacy-support-core-ui:1.0.0
|    +--- androidx.annotation:annotation:1.0.0
|    +--- androidx.core:core:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.collection:collection:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0
|    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.arch.core:core-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.versionedparcelable:versionedparcelable:1.0.0
|    |         +--- androidx.annotation:annotation:1.0.0
|    |         \--- androidx.collection:collection:1.0.0 (*)
|    +--- androidx.legacy:legacy-support-core-utils:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    +--- androidx.documentfile:documentfile:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.loader:loader:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0
|    |    |    |    +--- androidx.arch.core:core-runtime:2.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0 (*)
|    |    |    |    |    +--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    |    \--- androidx.arch.core:core-runtime:2.0.0 (*)
|    |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0
|    |    |         \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.print:print:1.0.0
|    |         \--- androidx.annotation:annotation:1.0.0
|    +--- androidx.customview:customview:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.core:core:1.0.0 (*)
|    +--- androidx.viewpager:viewpager:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    \--- androidx.customview:customview:1.0.0 (*)
|    +--- androidx.coordinatorlayout:coordinatorlayout:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    \--- androidx.customview:customview:1.0.0 (*)
|    +--- androidx.drawerlayout:drawerlayout:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    \--- androidx.customview:customview:1.0.0 (*)
|    +--- androidx.slidingpanelayout:slidingpanelayout:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    \--- androidx.customview:customview:1.0.0 (*)
|    +--- androidx.interpolator:interpolator:1.0.0
|    |    \--- androidx.annotation:annotation:1.0.0
|    +--- androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    \--- androidx.interpolator:interpolator:1.0.0 (*)
|    +--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.core:core:1.0.0 (*)
|    \--- androidx.cursoradapter:cursoradapter:1.0.0
|         \--- androidx.annotation:annotation:1.0.0

androidx.annotation:annotation

+--- androidx.annotation:annotation:1.1.0

androidx.core:core

+--- androidx.core:core:1.1.0
|    +--- androidx.annotation:annotation:1.1.0
|    +--- androidx.lifecycle:lifecycle-runtime:2.0.0
|    |    +--- androidx.lifecycle:lifecycle-common:2.0.0
|    |    \--- androidx.arch.core:core-common:2.0.0
|    +--- androidx.versionedparcelable:versionedparcelable:1.1.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    \--- androidx.collection:collection:1.0.0
|    |         \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    \--- androidx.collection:collection:1.0.0 (*)

androidx.core:core-ktx

+--- androidx.core:core-ktx:1.1.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.31 -> 1.3.50 (*)
|    +--- androidx.annotation:annotation:1.1.0
|    \--- androidx.core:core:1.1.0
|         +--- androidx.annotation:annotation:1.1.0
|         +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.1.0
|         |    +--- androidx.lifecycle:lifecycle-common:2.1.0 (*)
|         |    +--- androidx.arch.core:core-common:2.1.0
|         |    |    \--- androidx.annotation:annotation:1.1.0
|         |    \--- androidx.annotation:annotation:1.1.0
|         +--- androidx.versionedparcelable:versionedparcelable:1.1.0
|         |    +--- androidx.annotation:annotation:1.1.0
|         |    \--- androidx.collection:collection:1.0.0 -> 1.1.0
|         |         \--- androidx.annotation:annotation:1.1.0
|         \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)

androidx.appcompat:appcompat

+--- androidx.appcompat:appcompat:1.1.0
|    +--- androidx.annotation:annotation:1.1.0
|    +--- androidx.core:core:1.1.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.1.0
|    |    |    +--- androidx.lifecycle:lifecycle-common:2.1.0
|    |    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    |    +--- androidx.arch.core:core-common:2.1.0
|    |    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.versionedparcelable:versionedparcelable:1.1.0
|    |    |    +--- androidx.annotation:annotation:1.1.0
|    |    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0
|    |    |         \--- androidx.annotation:annotation:1.1.0
|    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    +--- androidx.cursoradapter:cursoradapter:1.0.0
|    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    +--- androidx.fragment:fragment:1.1.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.core:core:1.1.0 (*)
|    |    +--- androidx.collection:collection:1.1.0 (*)
|    |    +--- androidx.viewpager:viewpager:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    +--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    |    |    \--- androidx.customview:customview:1.0.0
|    |    |         +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |         \--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    |    +--- androidx.loader:loader:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    +--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    |    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0
|    |    |    |    +--- androidx.arch.core:core-runtime:2.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    \--- androidx.arch.core:core-common:2.0.0 -> 2.1.0 (*)
|    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0 -> 2.1.0 (*)
|    |    |    |    |    +--- androidx.arch.core:core-common:2.0.0 -> 2.1.0 (*)
|    |    |    |    |    \--- androidx.arch.core:core-runtime:2.0.0 (*)
|    |    |    |    \--- androidx.arch.core:core-common:2.0.0 -> 2.1.0 (*)
|    |    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.1.0
|    |    |         \--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.activity:activity:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.1.0
|    |    |    +--- androidx.core:core:1.1.0 (*)
|    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.1.0 (*)
|    |    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.1.0 (*)
|    |    |    \--- androidx.savedstate:savedstate:1.0.0
|    |    |         +--- androidx.annotation:annotation:1.1.0
|    |    |         +--- androidx.arch.core:core-common:2.0.1 -> 2.1.0 (*)
|    |    |         \--- androidx.lifecycle:lifecycle-common:2.0.0 -> 2.1.0 (*)
|    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.1.0 (*)
|    +--- androidx.appcompat:appcompat-resources:1.1.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.core:core:1.0.1 -> 1.1.0 (*)
|    |    +--- androidx.vectordrawable:vectordrawable:1.1.0
|    |    |    +--- androidx.annotation:annotation:1.1.0
|    |    |    +--- androidx.core:core:1.1.0 (*)
|    |    |    \--- androidx.collection:collection:1.1.0 (*)
|    |    +--- androidx.vectordrawable:vectordrawable-animated:1.1.0
|    |    |    +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
|    |    |    +--- androidx.interpolator:interpolator:1.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    \--- androidx.collection:collection:1.1.0 (*)
|    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    +--- androidx.drawerlayout:drawerlayout:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    +--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    |    \--- androidx.customview:customview:1.0.0 (*)
|    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)

androidx.fragment:fragment

+--- androidx.fragment:fragment:1.1.0
|    +--- androidx.annotation:annotation:1.1.0
|    +--- androidx.core:core:1.1.0 (*)
|    +--- androidx.collection:collection:1.1.0 (*)
|    +--- androidx.viewpager:viewpager:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    +--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    |    \--- androidx.customview:customview:1.0.0
|    |         +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |         \--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    +--- androidx.loader:loader:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    +--- androidx.core:core:1.0.0 -> 1.1.0 (*)
|    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0
|    |    |    +--- androidx.arch.core:core-runtime:2.0.0
|    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    \--- androidx.arch.core:core-common:2.0.0 -> 2.1.0 (*)
|    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0
|    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0 -> 2.1.0 (*)
|    |    |    |    +--- androidx.arch.core:core-common:2.0.0 -> 2.1.0 (*)
|    |    |    |    \--- androidx.arch.core:core-runtime:2.0.0 (*)
|    |    |    \--- androidx.arch.core:core-common:2.0.0 -> 2.1.0 (*)
|    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.1.0
|    |         \--- androidx.annotation:annotation:1.1.0
|    +--- androidx.activity:activity:1.0.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.core:core:1.1.0 (*)
|    |    +--- androidx.lifecycle:lifecycle-runtime:2.1.0 (*)
|    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.1.0 (*)
|    |    \--- androidx.savedstate:savedstate:1.0.0
|    |         +--- androidx.annotation:annotation:1.1.0
|    |         +--- androidx.arch.core:core-common:2.0.1 -> 2.1.0 (*)
|    |         \--- androidx.lifecycle:lifecycle-common:2.0.0 -> 2.1.0 (*)
|    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.1.0 (*)

androidx.activity:activity

+--- androidx.activity:activity:1.0.0
|    +--- androidx.annotation:annotation:1.1.0
|    +--- androidx.core:core:1.1.0
|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.1.0
|    |    |    +--- androidx.lifecycle:lifecycle-common:2.1.0
|    |    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    |    +--- androidx.arch.core:core-common:2.1.0
|    |    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.versionedparcelable:versionedparcelable:1.1.0
|    |    |    \--- androidx.collection:collection:1.0.0
|    |    \--- androidx.collection:collection:1.0.0
|    +--- androidx.lifecycle:lifecycle-runtime:2.1.0 (*)
|    +--- androidx.lifecycle:lifecycle-viewmodel:2.1.0
|    |    \--- androidx.annotation:annotation:1.1.0
|    \--- androidx.savedstate:savedstate:1.0.0
|         +--- androidx.annotation:annotation:1.1.0
|         +--- androidx.arch.core:core-common:2.0.1 -> 2.1.0 (*)
|         \--- androidx.lifecycle:lifecycle-common:2.0.0 -> 2.1.0 (*)

androidx.recyclerview:recyclerview

+--- androidx.recyclerview:recyclerview:1.0.0
|    +--- androidx.annotation:annotation:1.0.0
|    +--- androidx.core:core:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.collection:collection:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0
|    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.arch.core:core-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.versionedparcelable:versionedparcelable:1.0.0
|    |         +--- androidx.annotation:annotation:1.0.0
|    |         \--- androidx.collection:collection:1.0.0 (*)
|    \--- androidx.legacy:legacy-support-core-ui:1.0.0
|         +--- androidx.annotation:annotation:1.0.0
|         +--- androidx.core:core:1.0.0 (*)
|         +--- androidx.legacy:legacy-support-core-utils:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.core:core:1.0.0 (*)
|         |    +--- androidx.documentfile:documentfile:1.0.0
|         |    |    \--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.loader:loader:1.0.0
|         |    |    +--- androidx.annotation:annotation:1.0.0
|         |    |    +--- androidx.core:core:1.0.0 (*)
|         |    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0
|         |    |    |    +--- androidx.arch.core:core-runtime:2.0.0
|         |    |    |    |    +--- androidx.annotation:annotation:1.0.0
|         |    |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|         |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0
|         |    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0 (*)
|         |    |    |    |    +--- androidx.arch.core:core-common:2.0.0 (*)
|         |    |    |    |    \--- androidx.arch.core:core-runtime:2.0.0 (*)
|         |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|         |    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0
|         |    |         \--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|         |    |    \--- androidx.annotation:annotation:1.0.0
|         |    \--- androidx.print:print:1.0.0
|         |         \--- androidx.annotation:annotation:1.0.0
|         +--- androidx.customview:customview:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    \--- androidx.core:core:1.0.0 (*)
|         +--- androidx.viewpager:viewpager:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.core:core:1.0.0 (*)
|         |    \--- androidx.customview:customview:1.0.0 (*)
|         +--- androidx.coordinatorlayout:coordinatorlayout:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.core:core:1.0.0 (*)
|         |    \--- androidx.customview:customview:1.0.0 (*)
|         +--- androidx.drawerlayout:drawerlayout:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.core:core:1.0.0 (*)
|         |    \--- androidx.customview:customview:1.0.0 (*)
|         +--- androidx.slidingpanelayout:slidingpanelayout:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.core:core:1.0.0 (*)
|         |    \--- androidx.customview:customview:1.0.0 (*)
|         +--- androidx.interpolator:interpolator:1.0.0
|         |    \--- androidx.annotation:annotation:1.0.0
|         +--- androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    +--- androidx.core:core:1.0.0 (*)
|         |    \--- androidx.interpolator:interpolator:1.0.0 (*)
|         +--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0
|         |    +--- androidx.annotation:annotation:1.0.0
|         |    \--- androidx.core:core:1.0.0 (*)
|         \--- androidx.cursoradapter:cursoradapter:1.0.0
|              \--- androidx.annotation:annotation:1.0.0

androidx.cardview:cardview

+--- androidx.cardview:cardview:1.0.0 (*)
\--- androidx.annotation:annotation:1.0.0 -> 1.1.0

androidx.constraintlayout:constraintlayout

+--- androidx.constraintlayout:constraintlayout:1.1.3
|    \--- androidx.constraintlayout:constraintlayout-solver:1.1.3

androidx.coordinatorlayout:coordinatorlayout

+--- androidx.coordinatorlayout:coordinatorlayout:1.0.0
|    +--- androidx.annotation:annotation:1.0.0
|    +--- androidx.core:core:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.collection:collection:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0
|    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.arch.core:core-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.versionedparcelable:versionedparcelable:1.0.0
|    |         +--- androidx.annotation:annotation:1.0.0
|    |         \--- androidx.collection:collection:1.0.0 (*)
|    \--- androidx.customview:customview:1.0.0
|         +--- androidx.annotation:annotation:1.0.0
|         \--- androidx.core:core:1.0.0 (*)

com.google.android.material:material

+--- com.google.android.material:material:1.0.0
|    +--- androidx.annotation:annotation:1.0.0
|    +--- androidx.core:core:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.collection:collection:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0
|    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.arch.core:core-common:2.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.versionedparcelable:versionedparcelable:1.0.0
|    |         +--- androidx.annotation:annotation:1.0.0
|    |         \--- androidx.collection:collection:1.0.0 (*)
|    +--- androidx.legacy:legacy-support-core-ui:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    +--- androidx.documentfile:documentfile:1.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.loader:loader:1.0.0
|    |    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0
|    |    |    |    |    +--- androidx.arch.core:core-runtime:2.0.0
|    |    |    |    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0
|    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0 (*)
|    |    |    |    |    |    +--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    |    |    \--- androidx.arch.core:core-runtime:2.0.0 (*)
|    |    |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0
|    |    |    |         \--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.print:print:1.0.0
|    |    |         \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.customview:customview:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.core:core:1.0.0 (*)
|    |    +--- androidx.viewpager:viewpager:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    +--- androidx.coordinatorlayout:coordinatorlayout:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    +--- androidx.drawerlayout:drawerlayout:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    +--- androidx.slidingpanelayout:slidingpanelayout:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    +--- androidx.interpolator:interpolator:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 (*)
|    |    |    \--- androidx.interpolator:interpolator:1.0.0 (*)
|    |    +--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.core:core:1.0.0 (*)
|    |    \--- androidx.cursoradapter:cursoradapter:1.0.0
|    |         \--- androidx.annotation:annotation:1.0.0
|    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|    +--- androidx.fragment:fragment:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    +--- androidx.legacy:legacy-support-core-ui:1.0.0 (*)
|    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.loader:loader:1.0.0 (*)
|    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 (*)
|    +--- androidx.transition:transition:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.core:core:1.0.0 (*)
|    +--- androidx.appcompat:appcompat:1.0.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.core:core:1.0.0 (*)
|    |    +--- androidx.collection:collection:1.0.0 (*)
|    |    +--- androidx.cursoradapter:cursoradapter:1.0.0 (*)
|    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|    |    +--- androidx.fragment:fragment:1.0.0 (*)
|    |    +--- androidx.vectordrawable:vectordrawable:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0
|    |    |    \--- androidx.core:core:1.0.0 (*)
|    |    \--- androidx.vectordrawable:vectordrawable-animated:1.0.0
|    |         +--- androidx.vectordrawable:vectordrawable:1.0.0 (*)
|    |         \--- androidx.legacy:legacy-support-core-ui:1.0.0 (*)
|    +--- androidx.cardview:cardview:1.0.0
|    |    \--- androidx.annotation:annotation:1.0.0
|    \--- androidx.recyclerview:recyclerview:1.0.0
|         +--- androidx.annotation:annotation:1.0.0
|         +--- androidx.core:core:1.0.0 (*)
|         \--- androidx.legacy:legacy-support-core-ui:1.0.0 (*)

androidx.viewpager2:viewpager2

+--- androidx.viewpager2:viewpager2:1.0.0-beta05
|    +--- androidx.annotation:annotation:1.1.0
|    +--- androidx.fragment:fragment:1.1.0 (*)
|    +--- androidx.recyclerview:recyclerview:1.1.0-beta05 (*)
|    +--- androidx.core:core:1.1.0 (*)
|    \--- androidx.collection:collection:1.1.0 (*)

androidx.localbroadcastmanager:localbroadcastmanager

+--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0 (*)

androidx.exifinterface:exifinterface

+--- androidx.exifinterface:exifinterface:1.0.0
|    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0

androidx.test.ext:junit

+--- androidx.test.ext:junit:1.1.1
|    +--- junit:junit:4.12
|    |    \--- org.hamcrest:hamcrest-core:1.3
|    +--- androidx.test:core:1.2.0
|    |    +--- androidx.annotation:annotation:1.0.0
|    |    +--- androidx.test:monitor:1.2.0
|    |    |    \--- androidx.annotation:annotation:1.0.0
|    |    \--- androidx.lifecycle:lifecycle-common:2.0.0
|    |         \--- androidx.annotation:annotation:1.0.0
|    +--- androidx.test:monitor:1.2.0 (*)
|    \--- androidx.annotation:annotation:1.0.0

androidx.test.espresso:espresso-core

\--- androidx.test.espresso:espresso-core:3.2.0
     +--- androidx.test:runner:1.2.0
     |    +--- androidx.annotation:annotation:1.0.0
     |    +--- androidx.test:monitor:1.2.0 (*)
     |    +--- junit:junit:4.12 (*)
     |    \--- net.sf.kxml:kxml2:2.3.0
     +--- androidx.test.espresso:espresso-idling-resource:3.2.0
     +--- com.squareup:javawriter:2.1.1
     +--- javax.inject:javax.inject:1
     +--- org.hamcrest:hamcrest-library:1.3
     |    \--- org.hamcrest:hamcrest-core:1.3
     +--- org.hamcrest:hamcrest-integration:1.3
     |    \--- org.hamcrest:hamcrest-library:1.3 (*)
     \--- com.google.code.findbugs:jsr305:2.0.1

从上面可以看出
androidx.appcompat:appcompat:1.1.0这个包, 基本上包含了常用的库, 所以大家默认导入这一个库即可, 其他的库按需加载就行.
com.google.android.material:material:1.0.0这个包, 包含了常用的库常用的UI库, 导入这一个, 啥都有了.

更多的依赖关系, 可以执行命令 gradlew app:dependencies 查看.


群内有各(pian)种(ni)各(jin)样(qun)的大佬,等你来撩.

联系作者

点此QQ对话 该死的空格 点此快速加群

build配置: ```apply plugin: 'com.android.application' apply plugin: 'com.jakewharton.butterknife' android { compileSdkVersion 29 buildToolsVersion '28.0.3' defaultConfig { applicationId "com.yuyao.sl.tsyw" minSdkVersion 23 targetSdkVersion 28 } buildTypes { release { minifyEnabled false proguardFiles 'proguard-rules.txt' } /*debug { //控制debug模式下是否混淆了。 minifyEnabled false proguardFiles 'proguard-rules.txt' }*/ } packagingOptions { exclude 'META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } useLibrary 'org.apache.http.legacy' compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } } dependencies { implementation project(':library') implementation project(':androidBootstrap') //noinspection GradleCompatible implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation files('libs/android-anyc-http.jar') implementation files('libs/guice-3.0-no_aop.jar') implementation files('libs/javax.inject.jar') implementation files('libs/roboguice.jar') implementation files('libs/xUtils-2.6.14.jar') implementation 'com.google.android.gms:play-services-appindexing:9.8.0' implementation files('libs/sun.misc.BASE64Decoder.jar') implementation files('libs/universal-image-loader-1.9.3-SNAPSHOT.jar') implementation 'com.jakewharton:butterknife:10.2.1' annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1' // 'com.jakewharton:butterknife:7.0.1' implementation files('libs/commons-logging-1.2.jar') implementation files('libs/httpclient-4.5.2.jar') implementation files('libs/httpcore-4.4.4.jar') implementation project(path: ':actionbarsherlock') } ``` 错误提示: ```Entry name 'META-INF/androidx.legacy_legacy-support-core-utils.version' collided ``` 就是打完之后报错,clean --rebuild项目之后又能正常编译 。
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:上身试试 返回首页