android.support

本文介绍了Android Support库v4、v7和v13的作用及区别。Support库旨在让开发者能在低版本Android上使用高版本的功能,如Fragment、ActionBar等。v4库功能最全,v7依赖于v4并引入了ActionBar,而v13则针对Android 3.2以上的版本。

Android Support V4, V7, V13是什么?

本质上就是三个java library。

为什么要有support库?

如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库。

三个Support 库的区别和作用是什么?

  • Android Support v4 是最早(2011年4月份)实现的库。用在Android1.6 (API lever 4)或者更高版本之上。它包含了相对V7, V13大的多的功能。例如:Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabAtrip,Loader,FileProvider 等。详细API 参考http://www.android-doc.com/reference/android/support/v4/app/package-summary.html

  • Android Support v7: 这个包是为了考虑Android2.1(API level 7) 及以上版本而设计的,但是v7是要依赖v4这个包的,也就是如果要使用,两个包得同时 被引用。v7支持了Action Bar。

  • Android Support v13:这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。


转载自:http://blog.youkuaiyun.com/hh2000/article/details/39718623

> Task :app:checkDebugDuplicateClasses FAILED AGPBI: {"kind":"warning","text":"Your project has set `android.useAndroidX=true`, but configuration `debugRuntimeClasspath` still contains legacy support libraries, which may cause runtime issues.\nThis behavior will not be allowed in Android Gradle plugin 8.0.\nPlease use only AndroidX dependencies or set `android.enableJetifier=true` in the `gradle.properties` file to migrate your project to AndroidX (see https://developer.android.com/jetpack/androidx/migrate for more info).\nThe following legacy support libraries are detected:\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-media-compat:28.0.0-rc02 -> com.android.support:support-annotations:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> com.android.support:collections:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> android.arch.lifecycle:runtime:1.1.1\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> android.arch.lifecycle:runtime:1.1.1 -> android.arch.lifecycle:common:1.1.1\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> android.arch.lifecycle:runtime:1.1.1 -> android.arch.core:common:1.1.1\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-media-compat:28.0.0-rc02 -> com.android.support:versionedparcelable:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-media-compat:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02 -> com.android.support:documentfile:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> com.android.support:loader:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> com.android.support:loader:28.0.0-rc02 -> android.arch.lifecycle:livedata-core:1.1.1\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> com.android.support:loader:28.0.0-rc02 -> android.arch.lifecycle:livedata-core:1.1.1 -> android.arch.core:runtime:1.1.1\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> android.arch.lifecycle:viewmodel:1.1.1\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02 -> com.android.support:localbroadcastmanager:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02 -> com.android.support:print:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:customview:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:viewpager:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:coordinatorlayout:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:drawerlayout:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:slidingpanelayout:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:interpolator:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:swiperefreshlayout:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:asynclayoutinflater:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:cursoradapter:28.0.0-rc02\ndebugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02","sources":[{}]} Your project has set `android.useAndroidX=true`, but configuration `debugRuntimeClasspath` still contains legacy support libraries, which may cause runtime issues. This behavior will not be allowed in Android Gradle plugin 8.0. Please use only AndroidX dependencies or set `android.enableJetifier=true` in the `gradle.properties` file to migrate your project to AndroidX (see https://developer.android.com/jetpack/androidx/migrate for more info). The following legacy support libraries are detected: debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-media-compat:28.0.0-rc02 -> com.android.support:support-annotations:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> com.android.support:collections:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> android.arch.lifecycle:runtime:1.1.1 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> android.arch.lifecycle:runtime:1.1.1 -> android.arch.lifecycle:common:1.1.1 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-compat:28.0.0-rc02 -> android.arch.lifecycle:runtime:1.1.1 -> android.arch.core:common:1.1.1 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-media-compat:28.0.0-rc02 -> com.android.support:versionedparcelable:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-media-compat:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02 -> com.android.support:documentfile:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> com.android.support:loader:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> com.android.support:loader:28.0.0-rc02 -> android.arch.lifecycle:livedata-core:1.1.1 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> com.android.support:loader:28.0.0-rc02 -> android.arch.lifecycle:livedata-core:1.1.1 -> android.arch.core:runtime:1.1.1 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 -> android.arch.lifecycle:viewmodel:1.1.1 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02 -> com.android.support:localbroadcastmanager:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-utils:28.0.0-rc02 -> com.android.support:print:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:customview:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:viewpager:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:coordinatorlayout:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:drawerlayout:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:slidingpanelayout:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:interpolator:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:swiperefreshlayout:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:asynclayoutinflater:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-core-ui:28.0.0-rc02 -> com.android.support:cursoradapter:28.0.0-rc02 debugRuntimeClasspath -> com.android.support:support-v4:28.0.0-rc02 -> com.android.support:support-fragment:28.0.0-rc02 Execution failed for task ':app:checkDebugDuplicateClasses'. > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable > Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.graphics.drawable.IconCompatParcelizer found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.os.IResultReceiver found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.os.ResultReceiver found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.os.ResultReceiver$1 found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class androidx.core.graphics.drawable.IconCompatParcelizer found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class androidx.core.internal.package-info found in modules core-1.3.2-runtime (androidx.core:core:1.3.2) and support-compat-28.0.0-rc02-runtime (com.android.support:support-compat:28.0.0-rc02) Duplicate class androidx.versionedparcelable.CustomVersionedParcelable found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.NonParcelField found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.ParcelField found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.ParcelImpl found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.ParcelImpl$1 found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.ParcelUtils found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcel found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcel$1 found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcel$ParcelException found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcelParcel found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcelStream found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcelStream$FieldBuffer found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcelable found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Duplicate class androidx.versionedparcelable.VersionedParcelize found in modules versionedparcelable-1.1.0-runtime (androidx.versionedparcelable:versionedparcelable:1.1.0) and versionedparcelable-28.0.0-rc02-runtime (com.android.support:versionedparcelable:28.0.0-rc02) Go to the documentation to learn how to Fix dependency resolution errors. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. Explain with AI 怎么解决上面的问题
12-24
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值