如何将库项目(例如Sherlock ABS)添加到Android Studio?
(不是旧的基于ADT Eclipse的捆绑包,而是新的Android Studio。)
Android Studio 1.0更新
自从发布Android Studio 1.0(以及许多版本在v1.0到我上次回答之时的第一个版本)以来,某些事情已经发生了变化。
我的描述着重于通过Gradle文件手动添加外部库项目(以更好地理解过程)。如果您想通过Android Studio创建者添加库,只需通过视觉指南检查以下答案(Android Studio 1.0与屏幕截图有所不同,但过程非常相似)。
在开始手动将库添加到项目之前,请考虑添加外部依赖项。它不会弄乱您的项目结构。Maven存储库中几乎提供了每个知名的Android库,其安装仅需要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/ 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 ':app', ':PagerSlidingTabStrip' project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
5.1如果您遇到“默认配置”错误,请尝试执行此操作,而不是执行步骤5,
include ':app' include ':libs:PagerSlidingTabStrip'
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") }
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) } } //...
Google I / O 2013-新的Android SDK构建系统是有关使用Gradle构建系统构建Android应用的精彩演示:正如Xavier Ducrohet所说:
Android Studio全部涉及编辑,调试和概要分析。它不再是要构建的。
刚开始时可能有些混乱(特别是对于那些使用Eclipse并从未像我这样见过蚂蚁的人;)),但最终Gradle为我们提供了很多机会,值得学习这个构建系统。