在我向jcenter发布新版本后,我的Android库不建议在gradle中升级新版本

问题描述 投票:6回答:1

image

我成功地向SmartToolbar发布了一个名为jcenter的库。 但是当我将其更新为新版本并再次发布时,我遇到了一个问题,它没有显示更新到gradle中的新版本的建议消息。

目前,该库的最新版本是1.0.12,但正如您在屏幕截图中看到的,它没有显示建议消息升级到版本1.0.12作为它上面的库。

我想解决它,因为我想通知所有使用它的开发人员从我的库中获取最新更新。

注意:它没有显示新版本可用的建议,但如果我们知道最新版本,我们仍会获得最新更新。所以只有我了解最新版本

当我发布新版本时,我更新了versionName,我将自定义变量创建为PUBLISH_VERSION,以便与我的publish-android-library-plugin一起使用,如下图所示。

image2

所以我想知道在发布新版本时我错过了哪个部分?或者在我的publish-android-library-plugin有一些不正确的东西?也许你需要检查this raw code检查我的错误。

注意:此库已同步到maven central

android maven upgrade bintray jcenter
1个回答
6
投票

*更新*

据我们亲爱的朋友JBaruch说,他说:

问题在于,无论您的库是从哪个存储库中解析出来的(如jcenter()mavenCentral()或任何其他存储库),最新版本的检查都会硬编码到go to Maven Central

在这里回答类似的问题时,你可以阅读更多关于他的想法:Add Warning "A newer version of ..... is available" for custom library

所以,按照他的建议,你可以试试syncing your library with maven

*以前的答案:我要离开这里了,因为我仍然认为理解Android工作室厌恶获取最新更新背后的思维过程仍然很重要*

版本更新弹出通知是由Android Studio中的Lint规则引起的,称为Newer Library Versions Available。根据How to check if gradle dependency has new version的说法,Android studio的最新几项更新修改了lint规则,因此用户将不再收到新的非Google库版本的通知。

JBaruch在How to check what is the latest version of a dependency to use in gradle的回答给出了谷歌采用这种改变的一个很好的理由:

“依赖最新版本确实是一件危险的事情。你的构建可以在不改变任何东西的情况下破解,只是因为某些库破坏了向后兼容性。”

谷歌希望开发人员坚持使用特定的库版本,并且只在需要时才更新。因此,检查更新已成为一个手动过程。

那么,你怎么能从这里开始呢?如果您只是想检查Android Studio是否有新的库更新通知,您可以使用Android Studio检查更新的正确方法。您可以在How to check if gradle dependency has new version中查看Adam S的答案(已接受的答案),以获取进行更新检查的说明。

© www.soinside.com 2019 - 2024. All rights reserved.