如何在Android Studio中使用库项目

26

我一直在努力将这个库项目添加到我的Android Studio现有项目中。 这是我第一次使用库项目,我遇到了很多困难。 我已经查看了很多教程和帖子,但都无法完成。

4个回答

30

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

  • 在根项目目录中创建名为libs的文件夹
  • datetimepicker-library文件夹复制到libs
  • 使用以下命令在您的settings.gradle中添加此库:

  • include ':libs:datetimepicker-library'
    
  • 前往您的AppProjectbuild.gradle文件,并将以下行添加到您的dependencies中:

  • implementation project(':libs:datetimepicker-library')
    
  • 至少您需要同步gradle文件:工具 -> Android -> 使用Gradle文件同步项目

请尝试此操作。如果出现错误,请发布日志文件。


18
我相信这是正确的答案,但我无法让我的build.gradle文件接受“compile project”这一行。然而,对我来说使用“compile fileTree(dir:'libs',include:['datetimepicker-library'])”起作用了。 - WeldFire
这个最后的评论对我有用。在原始编译项目中,IDE 抱怨未定义“default”某物。无论如何:库代码在 AS 上似乎没有出现,所以我想我应该打开另一个 Android Studio 窗口来编辑它。 - helios
在使用Mapbox时对我不起作用。错误:(13)在包'com.example.myapp'中找不到属性'accessToken'的资源标识符。 - Mitch
我按照您提到的步骤进行操作,但是出现了以下错误: Error:Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :libs:recognito.我正在尝试引入这个库 - https://github.com/amaurycrickx/recognito - ugola

8

我是这样做的:

  1. 从菜单栏中选择 File,进入 project Structure
  2. 在左侧面板中选择 modules
  3. 点击“+”
  4. 按照新模块向导的步骤完成操作 请确保新模块的包名与您想添加的模块相同
  5. 再次打开 Project structure(参见第1步)
  6. 在模块列表中选择您的项目,在右侧选择 dependencies
  7. 从右侧点击“+”图标
  8. 选择模块依赖项,然后选择新添加的模块。
  9. 将库项目的文件复制到新创建的模块目录中
  10. 完成

步骤1:

step 1

步骤2:

Step 2!

步骤3:

Step 3

步骤4:

**Step 4:**

....

步骤6和7:

enter image description here

步骤8: enter image description here


有没有关于添加 https://github.com/saik0/UnifiedPreference 的建议?我尝试按照这个来做,但是 AS 0.5.1 一直报同步失败的错误。 - nitsujri

0
其他答案似乎把它描述得比通常更困难。只需将单个compile行添加到应用程序的build.gradle文件的依赖项部分即可。
在这种情况下,它是:
dependencies {
    // ...
    compile 'com.github.flavienlaurent.datetimepicker:library:0.0.2'
}

Gradle 提示我同步,当我这样做后,库自动下载到我的项目中。


0
以上列出的解决方案的问题在于,您最终会在使用库的应用程序中得到库项目的克隆。这会使更新库变得复杂,因为您需要在进行更改时删除和重新导入模块。
我发现的解决方案可以直接从外部文件夹中使用库项目,并且不会克隆原始库文件。
解决方案很简单...
settings.gradle中添加以下行:
include ':commonwidgets'
project (':commonwidgets').projectDir = new File(settingsDir, '../SharedWidgets/commonwidgets')

build.gradledependency 部分中添加:

implementation project(path: ':commonwidgets')

注意:commonwidgets是我库的名称,您应根据您的库名称和路径进行替换。
希望这可以帮助某些人...
我真的很想从GitHub导入库,但我拒绝为Jetpack私有库每月支付9美元。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接