【问题标题】:How to scan all open source libraries used in a project?如何扫描项目中使用的所有开源库?
【发布时间】:2020-02-03 08:29:56
【问题描述】:

我想扫描 android 项目中使用的所有库。这样每当我在项目中删除或添加新库时,我就可以在列表中提及这些库。

就像我在应用程序内添加了一些库依赖项,我希望所有这些库都在一个屏幕上列出它们的版本名称。这样我就可以在应用程序中提及使用过的库及其许可证。

我想以自动方式识别该过程。因此,每当我从 Gradle 添加或删除库时,它都会在 app.xml 中反映相同的内容。

【问题讨论】:

  • 请解释您到目前为止所做的尝试,并举例说明所需的结果。它会帮助那些试图帮助你的人。
  • @LudvigH 请再次检查,我对我的问题进行了更多解释

标签: android android-studio shared-libraries


【解决方案1】:

https://github.com/mikepenz/AboutLibraries 似乎比 Google 工具好。

implementation "com.mikepenz:aboutlibraries-core:7.1.0"
implementation "com.mikepenz:aboutlibraries:7.1.0"

【讨论】:

    【解决方案2】:

    Google 有一个名为 play-services-oss-licenses 的插件。

    该插件甚至提供了一个启动活动以向用户显示所有这些活动。

    步骤:

    • 在你的根 gradle 文件中添加:
    classpath 'com.google.android.gms:oss-licenses-plugin:0.10.1'
    
    • 将插件添加到主模块的 gradle 文件中:
    apply plugin: 'com.google.android.gms.oss-licenses-plugin'
    
    • 将库本身添加到应用程序的依赖项中:
    implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
    
    • 通过调用启动活动:
    startActivity(new Intent(this, OssLicensesMenuActivity.class));
    

    在官方文档here 中了解更多信息及其工作原理。

    【讨论】:

    • 0.10.1 版本已损坏,0.9.5 曾经可以工作,但警告说要使用已在 2020 年 1 月删除的已弃用方法,因此现在无法正常工作。 0.10.1 的问题应该会在下一个版本中修复,但尚未发布。
    • @Andrew 不知道它已损坏。我有一段时间没有使用它了。你有 issuetracker 链接需要处理吗?
    【解决方案3】:

    您可以使用 Analyzer APK optiopn 检查 android 项目中使用的所有库。

    在 Android Studio 中检查 Analyzer APK - 系统会提示您从文件系统中选择您的 APK。

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2017-08-20
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多