在Android项目中使用开源库

时间:2015-03-29 16:24:38

标签: android github libraries code-organization

我是Android编程的初学者,我正在使用android studio ...现在我想知道从gitHub安装开源库的最佳方法是什么。 我的问题是从组织原则的角度来看 - 我应该为每个库创建一个新包,并将所有库源代码放在该包中吗?包应该在source.main.java文件夹中? (android studio自动创建的那个)。 对于这个愚蠢的问题感到抱歉......这只是我在大规模项目中迈出的第一步,而且由于组织不良,我不想在将来失去理智。

4 个答案:

答案 0 :(得分:2)

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

我的建议:

首先将此开源代码的来源检入您公司的源控制系统某处,并且能够根据需要构建或重新构建。不一定在您的项目中,只是检查代码,以便它不会丢失或与原作者在GitHub上不断变化的变化相混淆。

至于你如何消费它,你有几个选择。

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

  2. 将源代码直接删除到项目中。这意味着您将始终重建代码。这为您提供了最大的灵活性,可以根据您的项目需求改进和更改代码。

  3. 这些选项可能也是混合解决方案。

    最重要的是,您使用的任何内容都需要在您自己的系统中复制和构建。因为你从GitHub下载的代码可能会随时消失或发生重大变化。

答案 1 :(得分:2)

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

首先,您需要添加存储库:

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

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

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

幕后花絮JitPack将检查代码并进行编译。

答案 2 :(得分:1)

我认为您正在寻找this。如果您使用的是eclipse,则应检查this

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

顺便说一句,为每个库创建一个包并放置所有库源代码对我来说并不理智。它几乎相当于重新创建项目。我确信这不是正确的做法。

答案 3 :(得分:0)

如果第三方代码打包为.jar或.aar并在面向公众的maven存储库(例如maven central)中提供,那么您应该将库作为依赖项添加到build.gradle文件中。

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

您还可以构建.jar或.aar并将其添加到项目的lib目录中,这也是其他答案的建议。对于一个具有很少依赖性的小型简单项目,这可能是有意义的。

我喜欢为更大,更长寿的项目做的是设置我自己的Nexus服务器(Maven repo服务器),并将第三方依赖项放在那里。