android - 支持库版本

标签 android android-support-library

我尝试将支持库注入(inject)到我的 Android Studio 项目中。

如果我尝试低于 20 的任何值,它会显示: 库不应使用低于 targetSdk 版本的版本。

如果我使用 compile 'com.android.support:support-v4:20' 我会得到: 找不到:com.android.support:support-v4:20

如果我使用 compile 'com.android.support:support-v7:20.0.+' 我会得到: 避免在版本号中使用 +,这会导致不可预测和不可重复的构建。

所以简单的问题是: 我在哪里可以找到最新的、可以使用的、可以使用的版本号?

最佳答案

If I try anything lower than 20 it says: library should not use a lower version then targetSdk version.

那是因为您将 targetSdkVersion 设置为高于 19。如果您是故意这样做的,那很好。如果您不是故意这样做的,请考虑暂时将其放回 19,并使用 compile 'com.android.support:support-v4:19.1.0' (如果您使用的是 fragment 的反向移植)或 compile 'com.android.support:support-v13:19.1.0'(如果您不使用 fragment 的反向移植)。

If I use compile 'com.android.support:support-v4:20' I get: Failed to find: com.android.support:support-v4:20

这是因为 Android 支持包使用 X.Y.Z 语义版本控制,存储库中的大多数 Artifact 也是如此。 20 与 X.Y.Z 模式不匹配。

If I use compile 'com.android.support:support-v7:20.0.+' I get: Avoid using + in version numbers, can lead to unpredictable and unrepeatable builds.

这只是一个警告。如果您正在对项目文件使用版本控制,并且您认为能够 checkout 一些早期版本的代码并能够重现该构建很重要,那么使用 + 表示法这不是一个好主意。 OTOH,如果能够重现历史构建不是必需的,那么使用 + 通配符,就像你正在做的那样,确保你自动获得更新。 + 位于第三个位置(X.Y.Z 中的 Z)意味着您将自动获得补丁级别更新。

where can I find up-to-date, ready to use, version numbers that Do work?

在您的硬盘上,在 $ANDROID_SDK/opt/extras/android/m2repository/com/android/support/$LIBRARY/ 中,其中 $ANDROID_SDK 是您的任何位置安装了 Android SDK 并且 $LIBRARY 是您感兴趣的任何 Android 支持包库(例如,support-v13)。

关于android - 支持库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25471668/

相关文章:

java - 如何在 Gradle 中使用自定义 Java Annotation Processor?

android - Volley 错误输出服务器端发送的错误信息

java - 需要在AsynkTask中等待broadcastReceiver中的事件

android - AppCompat v7 r21 更改 ActionBar 标题的 Alpha

Android DrawerLayout 组件

android - 在状态栏中的通知选项卡上方添加按钮

android - Android 广播接收器内的线程

适用于 Pre-Lollipop 设备的具有弯曲背景的 Android Ripple 按钮

ProGuard 的 AndroidX 构建问题

android - Proguard 警告 "can' t 写入资源 [META-INF/MANIFEST.MF](重复的 zip 条目)”