Android Studio 1.0 更新
自从 Android Studio 1.0 发布(以及 v1.0 和我之前回答时的第一个版本之间的许多版本)以来,一些事情发生了变化。
我的描述侧重于通过 Gradle 文件手动添加外部库项目(以便更好地理解该过程)。如果您想通过 Android Studio 创建者添加库,只需查看下面的 the answer 和视觉指南即可(Android Studio 1.0 与屏幕截图中的内容存在一些差异,但过程非常相似)。
在开始手动将库添加到项目之前,请考虑添加外部依赖项。它不会弄乱您的项目结构。几乎所有知名的 Android 库都可以在 Maven 存储库中使用,并且它的安装只需要 app/build.gradle 文件中的一行代码:
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
添加库
下面是向我们的项目添加外部Android库的完整过程:
- 通过 Android Studio 创建者创建一个新项目。我将它命名为 HelloWorld。
- 这是由 Android Studio 创建的原始项目结构:
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 library(只需从 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 文件(在应用程序和库模块中)使用它,如下所示:
//...
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 - The New Android SDK Build System 是关于使用 Gradle 构建系统构建 Android 应用程序的精彩演示:正如 Xavier Ducrohet 所说:
Android Studio 是关于编辑、调试和分析的。
这与建造无关。
一开始它可能有点令人困惑(尤其是对于那些与Eclipse 一起工作并且从未见过蚂蚁的人 - 像我一样;)),但最后 Gradle 给了我们一些很好的机会,值得学习这个构建系统。