首页 文章

如何检查gradle依赖项是否具有新版本

提问于
浏览
156

在Android Studio中,当我在版本号中使用 + 时(如 com.android.support:recyclerview-v7:21.+ ),我收到"Avoid using + in version numbers"警告 . 当我使用特定版本号时,我不能总是使用最新版本 . 我的项目中有很多依赖项 . 如何检查依赖项是否具有较新版本?是否有Android Studio插件 - 或类似的东西 - 在有更新版本的依赖项时通知我?

Edit: Android工作室突出了过时的Android支持库和Google Play服务 . 但是这不适用于其他自定义库 .

enter image description here

6 回答

  • 13

    现在,它作为Lint检查内置于Android Studio中 . 您可以在此处启用它:

    设置>编辑器>检查>“可用的新库版本”

    这次检查的描述:

    可用的较新库版本此检测器检查中央存储库,以查看是否有更新版本可用于此项目使用的依赖项 . 这类似于GradleDependency检查,它检查Android SDK工具和库中可用的较新版本,但这适用于任何MavenCentral依赖项,并且每次都连接到库,这使它更灵活但速度也慢得多 .

    由于速度减慢,这可以引入我建议定期手动运行它,而不是始终打开它 . 你可以这样做:

    分析>“按名称运行检查”

    然后搜索“可用的较新库版本”,并在您的模块上运行它 .

    Edit :以上内容应该与Android Studio 2.3一样 . 如果您使用的是旧版本(您应该更新),则以下内容可能有所帮助:

    请注意,您必须启用检查才能手动运行 - 所以(从Android Studio 2.0 Beta 2开始)您需要在设置中查找检查,启用它,然后按名称运行它,然后再次禁用它(恢复以前的表现) .

  • 244

    更新(05/23/18):

    较新版本的Android Studio不会在“项目结构”对话框中显示版本更新 . 相反,亚当的答案是Android Studio 3的正确答案

    分析>“按名称运行检查”

    然后搜索“ Newer Library Versions Available

    以前的方式:

    Android Studio 2.2 开始,新的 Project Structure 对话框显示了您的应用程序正在使用的依赖项列表以及本地和远程存储库中的可用更新 .

    • 转到 Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental 激活它并检查 Use new Project Structure dialog (谢谢@jessehensold)

    • 然后转到 File > Project Structure > Messages 打开它

    enter image description here

    对于旧版Android Studio,请参阅下面的其他回复 .

  • 108

    除了Android Studio 's built-in feature, there'的一个名为Gradle Versions Plugin的漂亮的gradle插件,它完全符合您的要求,并且不会与任何特定的IDE绑定 .

    Gradle Versions Plugin可以以人类可读的纯文本格式创建报表,但也可以将其转储为JSON或XML以进行自动处理 .

    添加到gradle文件后,标准用法看起来更像:

    > ./gradlew dependencyUpdates
    

    这将产生如下所示的项目依赖性报告:

    ------------------------------------------------------------
    : Project Dependency Updates (report to plain text file)
    ------------------------------------------------------------
    
    The following dependencies are using the latest milestone version:
     - com.github.maksim88:PasswordEditText:v0.9
     - com.android.databinding:adapters:1.3.1
     - com.joanzapata.iconify:android-iconify-entypo:2.2.2
     - com.joanzapata.iconify:android-iconify-fontawesome:2.2.2
     - com.webnetmobile.tools:webnet-log:1.0.3
     - com.nulab-inc:zxcvbn:1.2.2
    
    The following dependencies exceed the version found at the milestone revision level:
     - com.hannesdorfmann.fragmentargs:annotation [4.0.0-SNAPSHOT <- 3.0.2]
     - com.hannesdorfmann.fragmentargs:bundler-parceler [4.0.0-SNAPSHOT <- 3.0.2]
     - com.github.bumptech.glide:glide [3.7.0 <- 3.6.1]
     - com.hannesdorfmann.fragmentargs:processor [4.0.0-SNAPSHOT <- 3.0.2]
    
    The following dependencies have later milestone versions:
     - com.github.PhilJay:MPAndroidChart [v2.2.5 -> v3.0.1]
     - com.android.support:appcompat-v7 [25.1.0 -> 25.1.1]
     - com.jakewharton:butterknife [8.4.0 -> 8.5.1]
    
    Generated report file build/dependencyUpdates\report.txt
    

    有关广泛的用法示例,请参阅docs .


    高于0.17.0的 NOTE: 版本以平面文本格式生成更多输出,包括 . 项目URL因此使整个输出膨胀 . 如果你,因为我发现没用,坚持0.17.0版本 .

  • 22

    已弃用 - 以现代方式看待接受的答案

    我在下面提供的工具不适用于新版Android Studio / Gradle,其作者不再维护它(as of 30/10/2016) . 因此, the solution presented in the accepted answer should be used 除非使用旧版Android Studio .


    截至2016年1月,有一个Android Studio插件可以执行类似的操作,称为Dependencies Version Checker,其源代码可以在GitHub找到 .

    它可以通过内置界面添加(设置>插件>浏览存储库...):

    What it looks like inside the native interface

    安装并重新启动后,UI中将显示以下选项卡:

    New UI tab which appears after restart.

    然后应将相关的 build.gradle 粘贴到VersionChecker面板的左侧,并按下Version Check按钮 . 结果是显示在右侧的表,其中包括粘贴脚本中使用的库的最新版本(如上图所示) .

  • 1

    对于支持库(com.android.support)依赖项,有一个更好的选择 - andle

    它也可以查询jcenter和maven中心 .

    简单的三步一次更新所有项目 .

    1. install:

    $ sudo pip install andle
    

    2. set sdk:

    $ andle setsdk -p <sdk_path>
    

    3. update depedency:

    $ andle update -p <project_path> [--dryrun] [--remote] [--gradle]
    

    --dryrun:仅在控制台中打印结果

    --remote:检查jcenter和mavenCentral中的版本

    --gradle:检查gradle版本

    有关更多信息,请参见https://github.com/Jintin/andle

  • 0

    要获得更新或推荐的项目依赖项应该与android项目相同

    FILE -> Project Structure -> MODULES(app) -> Dependencies
    

    到达依赖项选项卡时单击位于窗口右上角的 + 按钮 . 当您单击 + 选择 Library Dependency 时,将打开 Choose Library Dependency 搜索的新窗口为了您在搜索框中的依赖关系,所有列出的Android依赖项都会更新 .

相关问题