我尝试将支持库注入(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/