如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
当前回答
Android Studio 3.0
只需将库名称添加到应用程序build.gradle文件的依赖项块中。
dependencies {
// ...
implementation 'com.example:some-library:1.0.0'
}
请注意,您应该使用实现而不是现在编译。这是Android Studio 3.0的新功能。有关差异的解释,请参阅本问答。
其他回答
我认为Dependencies、Android Libraries和多项目设置是必要的阅读。请花几分钟时间这样做。
特别是,在非jar库项目的情况下,请阅读上述源代码中的以下代码片段:
通过使用多项目设置,渐变项目也可以依赖于其他渐变项目。多项目设置通常通过将所有项目作为给定根项目的子文件夹来工作。例如,给定以下结构:
MyProject/
+ app/
+ libraries/
+ lib1/
+ lib2/
我们可以确定3个项目。Gradle将使用以下名称引用它们:
:app
:libraries:lib1
:libraries:lib2
每个项目都会有自己的build.gradle,声明它是如何构建的。此外,在声明项目的根目录中将有一个名为settings.gradle的文件。这给出了以下结构:
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| build.gradle
+ lib2/
| build.gradle
settings.gradle的内容非常简单:
include ':app', ':libraries:lib1', ':libraries:lib2'
这定义了哪个文件夹实际上是Gradle项目。:app项目可能依赖于库,这是通过声明以下依赖项来实现的:
dependencies {
compile project(':libraries:lib1')
}
请注意,很少或根本没有使用Android Studio GUI来实现这一点。
我目前正在使用git子模块将嵌套库链接到实际的库git repo,以避免依赖关系混乱。
我刚刚找到了一种更简单的方法(而不是直接写入.gradle文件)。
这是针对Android Studio 1.1.0的。
菜单文件->新建模块…:单击“导入现有项目”。选择所需的库和模块。单击“完成”。Android Studio会将库导入到项目中。它将同步渐变文件。将导入的模块添加到项目的依赖项中。右键单击应用程序文件夹->打开模块设置->转到依赖项选项卡->单击“+”按钮->单击模块依赖项。然后将库模块添加到项目的依赖项中。???利润
要解决此问题,只需将abs资源路径添加到项目构建文件中,如下所示:
sourceSets {
main {
res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
}
}
所以,我再次编译,没有任何错误。
我也遇到了同样的问题,然后我做了以下事情。
我使用菜单文件->导入模块菜单将库项目作为模块导入到AndroidStudio IDE中然后我转到主模块,在该模块中,我希望库项目作为从属项目右键单击主模块(在我的情况下,它的名称是app)->打开模块设置->进入依赖项选项卡->单击+按钮(您将在窗口右侧看到它)->单击模块依赖项->从列表中选择库项目
应用更改并单击“确定”按钮。
它对我有用。我希望它也能帮助其他人。
补充一点:如果IDE没有显示任何错误,但当您尝试编译时,会得到如下结果:
No resource found that matches the given name 'Theme.Sherlock.Light'
您的库项目可能编译为应用程序项目。要更改此设置,请转到:
菜单文件->项目结构->面->[库名称]->选中“库模块”。