支持库版本

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

如果我尝试低于20的任何东西,它说:库不应该使用较低的版本,然后targetSdk版本。

如果我使用compile 'com.android.support:support-v4:20' :support-v4:20 compile 'com.android.support:support-v4:20'我得到:无法find:com.android.support:support-v4:20

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

所以简单的问题是:我在哪里可以find最新的,准备使用的版本号码,工作?

Solutions Collecting From Web of "支持库版本"

如果我尝试低于20的任何东西,它说:库不应该使用较低的版本,然后targetSdk版本。

那是因为你把你的targetSdkVersion设置为高于19的东西。如果你故意这么做的话。 如果你没有故意这样做,现在考虑把它重新放回到19 ,并使用compile 'com.android.support:support-v4:19.1.0' (如果你正在使用片段的backport)或compile 'com.android.support:support-v13:19.1.0' (如果你不使用片段的回传)。

如果我使用compile'c​​om.android.support:support-v4:20'我得到:无法find:com.android.support:support-v4:20

这是因为Android支持包使用XYZ语义版本化,就像存储库中的大多数工件一样。 20与XYZ模式不匹配。

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

这只是一个警告。 如果您正在使用版本控制来处理项目文件,并且觉得能够检出一些早期版本的代码并能够重现该版本是非常重要的,那么使用+符号并不是一个好主意。 如果能够复制历史版本,OTOH不是必需的,使用+通配符,就像你正在做的一样,确保你自动获得更新。 在第三个位置(XYZ中的Z)意味着您将自动获取补丁级别更新。

在哪里可以find最新的,准备使用的版本号码,可以工作?

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

要查看当前Android支持库修订版本号…

  • Android Studio>工具> Android> SDKpipe理器…
  • 附加function> Android支持库:请参阅修订版本号(例如(21.0.3))。

为了在你的gradle文件中快速插入正确的版本号,你现在有'com.android.support:appcompat-v7:21.0.+'这样的'避免在版本号中使用+'警告,使用相关的IntelliJ检查…

  • 将光标放在'com.android.support:appcompat-v7:21.0.+'(位于警告的彩色部分的任何地方)。
  • Alt + Enter>“用特定版本replace”。

有计划在警告中包含最新的特定版本号。 请参阅问题78737:“避免在版本号中使用+”gradle库警告提示当前正在使用的版本。

你可以在这里得到support-v4的版本列表:\ sdk \ extras \ android \ m2repository \ com \ android \ support \ support-v4

这将工作:

  apply plugin: 'com.android.application' android { compileSdkVersion 20 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.example.myApp" minSdkVersion 19 targetSdkVersion 20 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile 'com.android.support:support-v4:20.0.0') }