如何将库项目(如 Sherlock ABS)添加到Android Studio ?
(不是旧的基于 Eclipse 的 ADT 捆绑包,而是新的Android Studio 。)
Android Studio 1.0 更新
自 Android Studio 1.0 发布以来(v1.0 与我之前回答时的第一个版本之间有很多版本),一些事情发生了变化。
我的描述侧重于通过 Gradle 文件手动添加外部库项目(以便更好地理解该过程)。如果您想通过 Android Studio 创建者添加库,只需使用可视指南检查下面的答案 (Android Studio 1.0 与截图中的内容存在一些差异,但过程非常相似)。
在开始手动向项目添加库之前,请考虑添加外部依赖项。它不会搞乱您的项目结构。几乎所有知名的 Android 库都可以在Maven存储库中使用,并且它的安装在app/build.gradle
文件中只需要一行代码:
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
添加库
以下是将外部 Android 库添加到项目的完整过程:
HelloWorld/ app/ - build.gradle // local Gradle configuration (for app only) ... - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
HelloWorld/
)中,创建新文件夹: /libs
,我们将在其中放置外部库(此步骤不是必需的 - 仅用于保持更清晰的项目结构)。 /libs
文件夹中。在这个例子中,我使用了PagerSlidingTabStrip 库 (只需从 GitHub 下载 ZIP,将库目录重命名为 “PagerSlidingTabStrip” 并复制它)。这是我们项目的新结构: HelloWorld/ app/ - build.gradle // Local Gradle configuration (for app only) ... libs/ PagerSlidingTabStrip/ - build.gradle // Local Gradle configuration (for library only) - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
通过添加要include
的库来编辑 settings.gradle。如果您像我一样使用自定义路径,则还必须为我们的库定义项目目录。整个 settings.gradle 应如下所示:
include ':app', ':PagerSlidingTabStrip'
project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
5.1 如果您遇到 “默认配置” 错误,请尝试此操作而不是步骤 5,
include ':app'
include ':libs:PagerSlidingTabStrip'
在app/build.gradle
将我们的库项目添加为依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":PagerSlidingTabStrip")
}
6.1。如果你按照步骤 5.1,那么按照这个而不是 6,
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":libs:PagerSlidingTabStrip")
}
如果您的库项目没有build.gradle
文件,则必须手动创建它。以下是该文件的示例:
apply plugin: 'com.android.library'
dependencies {
compile 'com.android.support:support-v4:21.0.3'
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
此外,您可以为项目创建全局配置,其中包含每个模块的 SDK 版本和构建工具版本以保持一致性。只需编辑gradle.properties
文件并添加行:
ANDROID_BUILD_MIN_SDK_VERSION=14
ANDROID_BUILD_TARGET_SDK_VERSION=21
ANDROID_BUILD_TOOLS_VERSION=21.1.3
ANDROID_BUILD_SDK_VERSION=21
现在您可以在build.gradle
文件(在 app 和库模块中)中使用它,如下所示:
//...
android {
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
}
}
//...
就这样。只需单击,将项目与 Gradle' 图标同步 。您的图书馆应该在您的项目中可用。
Google I / O 2013 - 新的 Android SDK 构建系统是一个关于使用 Gradle Build System 构建 Android 应用程序的精彩演示:正如 Xavier Ducrohet 所说:
Android Studio 完全是关于编辑,调试和分析。这不再是建筑了。
一开始它可能有点令人困惑(特别是那些与Eclipse 合作并且从未见过蚂蚁的人 - 比如我;)),但最后 Gradle 给了我们一些很好的机会,值得学习这个构建系统。
这是视觉指南:
Android Studio 0.8.2 更新 :
在 Android Studio 0.8.2 中,转到项目结构 - > 在模块下,单击加号按钮,然后选择导入现有项目并导入actionbarsherlock
。然后同步 Gradle 文件。
如果您遇到错误
错误:SDK Build Tools 修订版(xx.xx)太低。最低要求是 yy.yy
刚打开build.gradle
文件actionbarsherlock
目录并更新buildToolsVersion
的建议之一。
android {
compileSdkVersion 19
buildToolsVersion 'yy.y.y'
菜单文件 - > 项目结构...... :
模块 - > 导入模块
导入库模块后,选择您的项目模块并添加依赖关系:
然后选择导入的模块 :
使用菜单文件 - > 项目结构 - > 模块 。
我今天开始使用它。它有点不同。
对于 Sherlock,您可能希望删除其测试目录,或将junit.jar
文件添加到类路径中。
要使用 gradle 导入库,您必须将其添加到build.gradle
的dependencies
部分(模块的一个)。
例如
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),则存在名为 “打开模块设置” 的部分。