动态版本(使用+)Gradle中的依赖关系
我在我的项目中使用compile 'com.localytics.android:library:3.8+'
。
我想知道,当发布apk创建时或每次用户打开应用程序(从Playstore下载)时,都会选择此依赖项的最新版本。
当您创建新版本时新版本下载。 在创建一个新的之前,它没有任何变化。
+
在这里称为动态依赖。
Simply +将使用最新或更新的依赖项,但使用动态依赖项(例如, com.localytics.android:library:3.8+
)可能会导致意外的版本更新和回归不兼容性,正如Google文档所建议的
优点
缺点
由于lib代码的更改,可能会破坏当前的代码流
通常在新发行版中可能会发现一些错误,因此请准备好面对意外的行为或崩溃
结论:根据google的建议,始终在添加支持库下指定库版本检查
你应该避免在你的依赖中使用 +
。
通过这种方式,您将无法在将来复制构建版本 ,因为您无法了解应用中使用的版本。
动态版本会将不确定性添加到您的构建中,并可能会导致您的应用程序出现意外的行为更改。
要检查较新的图书馆版本可用,您可以使用lint检查:
转到设置>编辑器>检查>“较新的库版本可用”
启用较新的库版本可用检查
转到分析>“按名称运行检查”并搜索可用的较新库版本
您将启动链接检查
上一篇: Dynamic versions (using +) of dependencies in gradle
下一篇: Dynamically loading Justified gallery images with infinite scroll