如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
当前回答
如果您有AndroidStudio0.4.0,您可以在构建路径YourApp/libraries中创建一个新文件夹。复制JAR文件。在那里,右键单击它并“添加为库”。现在您有一个弹出窗口。只需选择目录并按OK,就可以了。
其他回答
打开构建gradle模块应用程序文件并添加依赖项。如果您下载了库,只需导入并构建为grade。
否则,在侧渐变模块应用程序中添加存储库:
repositories {
maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}
第一个存储库将为您下载库。
并编译下载的库:
compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
transitive = true
}
如果要创建库,只需将项目作为导入新模块导入即可。
我认为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,以避免依赖关系混乱。
使用菜单“文件”->“项目结构”->“模块”。
我今天开始使用它。这有点不同。
对于Sherlock,您可能希望删除他们的测试目录,或者将junit.jar文件添加到类路径中。
要使用gradle导入库,必须将其添加到build.gradle(模块的一个)的dependencies部分。
E.g.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.0'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}
Android Studio正在发生变化。
如果您右键单击Android项目部分中的模块文件夹Studio(我使用的是0.2.10版本)。
补充一点:如果IDE没有显示任何错误,但当您尝试编译时,会得到如下结果:
No resource found that matches the given name 'Theme.Sherlock.Light'
您的库项目可能编译为应用程序项目。要更改此设置,请转到:
菜单文件->项目结构->面->[库名称]->选中“库模块”。
我找到了解决方案。很简单。遵循froger_mcs说明。
确保在ProjectStructure->Modules(Sources)中将src文件夹设置为Source文件夹。