gradle 中依赖项的动态版本(使用 +)
Dynamic versions (using +) of dependencies in gradle
我在我的项目中使用 compile 'com.localytics.android:library:3.8+'
。
我想知道是在创建发布 apk 时还是在每次用户打开应用程序(从 playstore 下载)时选择此依赖项的最新版本。
创建新版本时会下载新版本。在您创建一个新的之前,它没有任何变化。
+
这里称为动态依赖。
Simply + 将使用最新或更新的依赖项,但使用动态依赖项(例如,com.localytics.android:library:3.8+
)可能会导致意外的版本更新和回归不兼容,如 google 文档
所建议
优点
- 保持更新
- 手动更新依赖项可能很乏味
缺点
可能会因 lib 代码的更改而中断您当前的代码流
通常在新版本中会发现一些错误,因此请准备好面对意外行为或崩溃
结论:如 google 所建议,始终指定库版本 check under Adding Support Libraries
您应该避免在依赖项中使用 +
。
通过这种方式,您以后将无法复制您的构建,因为您无法知道您的应用中使用的版本。
动态版本会为您的构建添加不确定性,并可能给您的应用带来意想不到的行为变化。
要检查可用的较新库版本,您可以使用 lint 检查:
转到设置 > 编辑器 > 检查 > "Newer Library Versions Available"
启用更新的库版本可用检查
转到分析 > "Run Inspection By Name" 并搜索 可用的较新库版本
您将启动 link 检查
我在我的项目中使用 compile 'com.localytics.android:library:3.8+'
。
我想知道是在创建发布 apk 时还是在每次用户打开应用程序(从 playstore 下载)时选择此依赖项的最新版本。
创建新版本时会下载新版本。在您创建一个新的之前,它没有任何变化。
+
这里称为动态依赖。
Simply + 将使用最新或更新的依赖项,但使用动态依赖项(例如,com.localytics.android:library:3.8+
)可能会导致意外的版本更新和回归不兼容,如 google 文档
优点
- 保持更新
- 手动更新依赖项可能很乏味
缺点
可能会因 lib 代码的更改而中断您当前的代码流
通常在新版本中会发现一些错误,因此请准备好面对意外行为或崩溃
结论:如 google 所建议,始终指定库版本 check under Adding Support Libraries
您应该避免在依赖项中使用 +
。
通过这种方式,您以后将无法复制您的构建,因为您无法知道您的应用中使用的版本。
动态版本会为您的构建添加不确定性,并可能给您的应用带来意想不到的行为变化。
要检查可用的较新库版本,您可以使用 lint 检查:
转到设置 > 编辑器 > 检查 > "Newer Library Versions Available"
启用更新的库版本可用检查
转到分析 > "Run Inspection By Name" 并搜索 可用的较新库版本
您将启动 link 检查