【问题标题】:Difference between using Gradle to add a library to my Android Studio Project versus as a Module使用 Gradle 将库添加到我的 Android Studio 项目与作为模块之间的区别
【发布时间】:2015-01-18 00:23:18
【问题描述】:

据我所知,有两种主要方法可以将库项目添加到不在 maven 存储库中的 Android Studio 项目中。两者实际上都可以看到here。我知道以模块方式执行此操作是 Intellij 执行此操作的方式(将项目导入您的模块并将其添加为依赖项)。它工作得很好。但是上面的链接中有一个公认的答案方式(将整个项目复制并粘贴到库文件夹中并通过gradle添加)。这样做是在“后面”完成同样的事情,或者说实际上有区别吗?是一种更受欢迎的方式吗?

我问这个的原因是因为我一直看到这两种方式。一方面,由于 Android Studio 是基于 Intellij 的,Intellij 这样做的方式是有道理的。事实上Android docs 基本上采取了这种行为。另一方面,切换到 Gradle 也不错,虽然不那么容易理解。

【问题讨论】:

    标签: android-studio android-gradle-plugin android-library


    【解决方案1】:

    首先,我建议在多个 Maven 存储库中查找该库。依赖项不在 Maven Central 中的事实并不意味着它不能在 JCenter 中找到,例如(越来越多的 Android 库作者仅发布到 JCenter,因为在 Android Studio 中默认配置了 jcenter() 并且publishing to Maven Central is a huge PITA)。

    但我们假设在任何公共 Maven 存储库中都找不到依赖项。

    你提到的两种方式都不是最理想的。将lib 文件夹检查到源 真是个坏主意。源代码控制,顾名思义就是源代码。

    有了优秀且免费的Binary Repository Managers out there,“mavenize”所有依赖项并正确使用它们真的很容易。

    如果你不想管理 Binary Repository 服务器,你至少还有两个选择:

    1. 您可以使用Artifactory SaaS offering
    2. Publish the dependency to your own repository in Bintray 然后使用来自 Gradle 的 if。 这可能是处理问题的最简单最正确的方法

    【讨论】:

      猜你喜欢
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-09
      相关资源
      最近更新 更多