Android 编译依赖项 - Gradle 构建
Android Compile Dependencies - Gradle Build
我的问题很简单,但我不确定如何解决。
在gradle中编译库时,我使用如下所示的代码:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.android.support:design:22.2.+'
compile 'com.android.support:appcompat-v7:22.2.+'
}
这给了我想要的,我没有任何问题。我猜上面的代码确保在构建应用程序时编译每个依赖项的最新版本(因此每个语句末尾的“+”符号)。但是,我在网上很多地方看到,相同的代码行如下所示,没有“+”号:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:cardview-v7:21.0.0'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
}
没有明显的区别,两者都可以正常工作。但是作为打算为该应用程序提供长期支持的开发人员,我应该使用哪个?有或没有附加的“+”号。 使用其中一个比另一个可能有哪些好处或问题?任何反馈都将不胜感激。
如果你使用 + 所以它每次都会检查更新并且它会破坏构建
在静态时它提供特定版本的依赖性
实际上,+ 的意思是您让 Android Studio 在更新时使用库的未来版本。与此相反,不添加 + 意味着它将仅使用提到的特定版本。
根据不同情况使用这些 +。 appcompat 之类的东西非常稳定,因此您可能不想添加 +。
像新发布的 android 设计库这样的东西很好,新的,不稳定的和错误的,你会希望收到错误修复和更新。在这种情况下添加 +。
使用 +、Android Studio 可以更新您在项目中使用的依赖项。
这可能是个问题,因为您无法知道应用程序的特定版本中包含哪个版本。
具有可重现的构建结果非常重要。
使用也有一些不同:
compile 'com.android.support:appcompat-v7:22.2.+'
compile 'com.android.support:appcompat-v7:22.+'
compile 'com.android.support:appcompat-v7:+'
在第一种情况下,您将只更新较小的更改(大多数情况下是错误修复)。在第二种情况下,您将更新主要版本。例如,22.0.0 和 22.2.0 有很多变化。
最后一种情况是最危险的。无论如何不要使用它。
我的问题很简单,但我不确定如何解决。
在gradle中编译库时,我使用如下所示的代码:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.android.support:design:22.2.+'
compile 'com.android.support:appcompat-v7:22.2.+'
}
这给了我想要的,我没有任何问题。我猜上面的代码确保在构建应用程序时编译每个依赖项的最新版本(因此每个语句末尾的“+”符号)。但是,我在网上很多地方看到,相同的代码行如下所示,没有“+”号:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:cardview-v7:21.0.0'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
}
没有明显的区别,两者都可以正常工作。但是作为打算为该应用程序提供长期支持的开发人员,我应该使用哪个?有或没有附加的“+”号。 使用其中一个比另一个可能有哪些好处或问题?任何反馈都将不胜感激。
如果你使用 + 所以它每次都会检查更新并且它会破坏构建 在静态时它提供特定版本的依赖性
实际上,+ 的意思是您让 Android Studio 在更新时使用库的未来版本。与此相反,不添加 + 意味着它将仅使用提到的特定版本。 根据不同情况使用这些 +。 appcompat 之类的东西非常稳定,因此您可能不想添加 +。 像新发布的 android 设计库这样的东西很好,新的,不稳定的和错误的,你会希望收到错误修复和更新。在这种情况下添加 +。
使用 +、Android Studio 可以更新您在项目中使用的依赖项。
这可能是个问题,因为您无法知道应用程序的特定版本中包含哪个版本。
具有可重现的构建结果非常重要。
使用也有一些不同:
compile 'com.android.support:appcompat-v7:22.2.+'
compile 'com.android.support:appcompat-v7:22.+'
compile 'com.android.support:appcompat-v7:+'
在第一种情况下,您将只更新较小的更改(大多数情况下是错误修复)。在第二种情况下,您将更新主要版本。例如,22.0.0 和 22.2.0 有很多变化。 最后一种情况是最危险的。无论如何不要使用它。