在 Android 个项目中使用开源库

Using open source libraries in Android projects

我是 Android 编程的初学者,我在 android studio 工作...现在我想知道从 [=17] 安装开源库的最佳方法是什么=]. 我的问题是从组织原则的角度来看- 我应该为每个库创建一个新包并将所有库源代码按原样放在该包中吗?包应该在 source.main.java 文件夹中吗?? (android 工作室自动创建的那个)。 很抱歉这个愚蠢的问题……只是我在一个大型项目中迈出了我的第一步,我不想在未来因为糟糕的组织实践而失去理智。

我想你正在寻找 this. If you are using eclipse, you should check this

如果您正在寻找将 jar 文件添加到您的库中,您只需在您的项目中创建一个 lib 文件夹并将 jar 文件添加到库中,您必须在构建文件中添加行 compile files('jarfile.jar')( gradle 构建)。如果你使用的是eclipse,你可以关注this

顺便说一句,为每个库创建一个包并放入所有库源代码对我来说并不明智。这几乎等同于重新创建项目。我确定这不是正确的方法。

这个问题没有正确答案。一些错误的方法,但常识会指导你。

我的建议:

首先将此开源代码的源代码签入贵公司某处的源代码控制系统,并能够根据需要构建或重新构建。不一定在您的项目中,只是将代码签入,这样它就不会丢失或与原作者在 GitHub.

上不断变化的变化相混淆

至于如何消费它,您有多种选择。

  1. 在它自己的项目中构建开源(签入源代码管理,但与您的主项目分开)。然后只需取出编译文件(.class、.jar、.lib 等)并将其签入您的主项目。如果您认为您永远不需要经常更改开源代码,那么这是最灵活的选择。有为多个项目管理的附带好处。

  2. 将源代码按原样直接拖放到您的项目中。这意味着您将始终重建代码。这提供了最大的灵活性,可以根据您的项目需求发展和更改特定代码。

可能还有这些选项的混合解决方案。

最重要的是,无论您使用什么,都需要复制并构建在您自己的系统中。因为您从 GitHub 中提取的代码随时可能消失或发生重大变化。

如果第三方代码被打包为 .jar 或 .aar 并在 public-facing maven 存储库(例如 maven central)中可用,那么您应该将库作为依赖项添加到你的 build.gradle 文件。

如果它不能作为 maven/gradle 依赖项使用,您可以按照此处其他答案中的建议将库的代码添加到您的项目中。我从来都不喜欢那个解决方案。

您还可以构建 .jar 或 .aar 并将其添加到项目的 lib 目录中,正如此处其他答案所建议的那样。对于一个依赖很少的小而简单的项目,这可能是有意义的。

对于更大、更长期的项目,我喜欢做的是设置我自己的 Nexus 服务器(Maven 存储库服务器),并将第三方依赖项放在那里。

一个简单的解决方案是使用 JitPack 将那些 GitHub 项目导入到您的 gradle 构建中。

首先您需要添加存储库:

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

然后所有 GitHub 存储库作为依赖项:

dependencies {
    compile 'com.github.RepoOwner:Repo:Version'
    // more dependencies...
}

在幕后,JitPack 将检查代码并编译它。