如何在 android studio 中使用库项目

Posted

技术标签:

【中文标题】如何在 android studio 中使用库项目【英文标题】:How to use a library project in android studio 【发布时间】:2013-12-21 01:42:02 【问题描述】:

我一直在尝试将this library project 添加到我在 android Studio 中的现有项目中。这是我第一次使用图书馆项目,我遇到了困难。我从周围的教程和帖子中寻找了很多方法来做到这一点,但无法完成。

【问题讨论】:

【参考方案1】:

我不确定是否已经可以通过 IDE 添加库项目(-> 没有任何问题)。 我通过像这样配置我的项目的 gradle 文件来做到这一点:

在您的项目根目录中创建一个名为libs 的文件夹 将文件夹datetimepicker-library复制到libs

使用以下命令将此库添加到您的settings.gradle

include ':libs:datetimepicker-library'

转到您的AppProjectbuild.gradle 文件,然后将以下行添加到您的dependencies

implementation project(':libs:datetimepicker-library')

至少你必须同步你的 gradle 文件:Tools -> Android -> Sync Project with Gradle Files

请试试这个。如果您遇到错误,请发布日志文件。

【讨论】:

我相信这是正确的答案,但我无法让我的 build.gradle 文件接受“编译项目”行。但是,使用“compile fileTree(dir: 'libs', include: ['datetimepicker-library'])”对我有用。 最后一条评论对我有用。使用原始编译项目... IDE 抱怨未定义的“默认”内容。无论如何:库代码没有出现在AS上,所以我想我应该打开另一个Android Studio窗口来编辑它。 不适用于 Mapbox。错误:(13) 在包“com.example.myapp”中找不到属性“accessToken”的资源标识符 我按照您提到的这些步骤操作并收到错误错误:项目:应用程序声明了从配置“编译”到配置“默认”的依赖关系,该依赖关系未在项目的描述符中声明:libs:recognito。我正在尝试包含 lib - github.com/amaurycrickx/recognito【参考方案2】:

我是这样做的,

    File菜单转到project Structure 从左侧窗格中选择modules 按“+” 完成新模块向导步骤 Make sure to make the module package name same as the module you want to add 再次打开Project structure,如步骤 1 所示 从模块列表中选择您的项目,然后在右侧选择依赖项 点击右侧的+图标 选择模块依赖,然后选择新添加的模块。 将库项目的文件复制到创建为模块的新目录 完成

第 1 步:

第 2 步:

!

第 3 步:

第 4 步:

....

第 6 步和第 7 步:

第 8 步:

【讨论】:

添加github.com/saik0/UnifiedPreference有什么建议吗?我试图遵循这一点,但 AS 0.5.1 一直抱怨同步失败【参考方案3】:

其他答案使它看起来比通常更难。只需在应用的 build.gradle 文件的依赖项部分添加一个 compile 行。

在这种情况下是

dependencies 
    // ...
    compile 'com.github.flavienlaurent.datetimepicker:library:0.0.2'

Gradle 提示我进行同步,在我这样做之后,库会自动下载到我的项目中。

【讨论】:

【参考方案4】:

上面列出的解决方案的问题是,您最终会在使用该库的应用程序中克隆库项目。这会使更新库变得复杂,因为您需要在进行更改时删除并重新导入模块。

我找到的解决方案可以从外部文件夹直接使用库项目,它不会克隆原始库文件。

解决方法很简单……

settings.gradle 中添加以下行:

include ':commonwidgets'
project (':commonwidgets').projectDir = new File(settingsDir, '../SharedWidgets/commonwidgets')

并在 build.gradle dependency 部分添加:

implementation project(path: ':commonwidgets')

注意:commonwidgets是我的库名,请根据自己的库名和路径替换名称和路径。

我希望这对某人有所帮助...

我真的很想从 GitHub 导入库,但我拒绝为私人库支付 9 美元/月的 jetpack。

【讨论】:

以上是关于如何在 android studio 中使用库项目的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Android Studio 和 gradle 构建一个 android 库?

Android Studio - 如何使用库(来自 eclipse 项目)

如何在 android studio 中为 IBM MobileFirst 项目导入外部库项目?

如何在使用库的eclipse中导入android studio项目?

如何建立与 Android studio和 gradle android 库

如何将外部库项目添加到 android studio 1.2.2?有溶液