【问题标题】:Android is it safe to use github libraries with mavenAndroid 将 github 库与 maven 一起使用是否安全
【发布时间】:2017-01-13 00:33:29
【问题描述】:

我正在使用带有 Android Studio 的 Gradle 构建系统,并且有几个关于使用 maven 依赖项的问题。

我正在使用来自 github 的库,我想知道将其作为 maven 依赖项包含它是否安全,或者以不同的方式将库包含到项目中是否更好。如果所有者从 github 中删除库会发生什么?我的应用程序会停止工作吗?如果是这样,那么直接将库包含在我的项目中会更好吗?

说实话,我对通过 maven 和 gradle 使用存储库的细节还有些不清楚,但我想知道以这种方式使用库的局限性。

我设法通过将 JitPack 存储库添加到我的构建文件 build.gradle 来实现一个库,但我担心所有者删除该库导致应用程序无法使用的可能性。下面是我用来实现该库的以下代码块:

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    compile 'com.github.windyzboy:CustomEditor:v1.0.1'
}

这会下载文件并将其放入我的项目中,还是以某种方式引用库?如果存储库的所有者删除了他们的库,我的应用还能使用它吗?

【问题讨论】:

  • 这就是你应该使用来自 Maven Central 的库的原因,因为版本永远不会在那里被删除,而且你应该使用 Maven 或 Gradle 的存储库管理器......
  • 感谢您的洞察力,我没有意识到 Maven Central 的库不太可能被删除。也许我会从那里寻找一个不同的图书馆

标签: java android eclipse git maven


【解决方案1】:

来自Frequently Asked Questions

如果在 GitHub 上删除标签或存储库会怎样?

如果项目已经构建,那么 JitPack 将继续为现有工件提供服务。它不会在新标签处重建项目。如果您需要重做一个版本,最好的选择是在 GitHub 上创建一个新版本。

根据我的经验,最多只能删除成功的构建 7 天。但我找不到任何关于它的官方文档。但我想每个人都从 NPM 灾难中吸取了教训。

只需使用它。许多人这样做。到目前为止,这是我用于发布自己的项目的唯一渠道。您唯一的问题是服务下降。但这对于任何其他服务也是一个有效的担忧。

【讨论】:

  • 刚刚阅读了 NPM 灾难,这听起来很糟糕。我不确定我将来是否愿意处理这个问题,但它似乎不太可能经常发生。我想知道是否可以下载该库并直接将其实现到android studio中的项目中?
  • 当然可以。 JAR 或 AAR 只是下载的文件。这些可以作为模块导入到 Android Studio。您也可以直接使用源代码。只需 fork 项目并创建自己的 Maven 存储库。但不要忘记申请许可证。
  • 哦,好吧,听起来不错,感谢您的深入回应,谢谢
  • Gradle 是一个“构建”系统。它会在构建时下载库并将它们打包到您的应用程序中。如果某个库消失,您将失去发布新版本的能力,但现有应用程序将继续运行。您可以通过在没有互联网连接的设备上安装应用程序来验证这一点。它安装得很好,表明所有依赖项都在 APK 中,并且在运行时未获取。 Android 不容易受到 NPM 发生的那种事情的影响。
猜你喜欢
  • 1970-01-01
  • 2012-07-26
  • 2021-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 2021-11-07
  • 2011-12-04
相关资源
最近更新 更多