如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
当前回答
基本上,您可以以三种不同的方式包含JAR文件。最后一个是正在使用的远程库https://bintray.com/jcenter在线存储库。但是,如果您以其他两种方式之一执行,JAR文件将实际包含在项目中。请阅读此链接https://stackoverflow.com/a/35369267/5475941了解更多信息。在这篇文章中,我解释了如何在AndroidStudio中导入JAR文件,并解释了所有可能的方法。
总之,如果是这样的(本地地址),则会下载这些JAR文件,并且这些JAR文件实际上在项目中:
但是,如果是这样的互联网地址,它们是远程库(bintray.comjcenter部分),它们将被远程使用:
我希望这有帮助。
其他回答
我认为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,以避免依赖关系混乱。
对于Android Studio:
单击Build.gradle(模块:app)。
并添加
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/commons-io-2.4.jar')
}
在您的目录“app”中,创建一个目录“libs”。添加文件yourfile.jar:
最后,编译Gradle文件:
您可以使用Gradle依赖项配置[关于]将一些依赖项添加到项目中
<模块名>/build.gradle
dependencies {
//<gradle_dependency_configuration> '<dependency_name>:<dependency_version>'
//e.g.
implementation 'com.android.support:appcompat-v7:1.1.1'
}
Android Studio 1.0更新
自从Android Studio 1.0发布以来(从我之前的回答开始,许多版本介于1.0版和第一个版本之间),一些事情发生了变化。
我的描述侧重于通过Gradle文件手动添加外部库项目(以便更好地理解过程)。如果你想通过Android Studio创建器添加库,只需查看下面的答案和视觉指南(Android Studio 1.0和截图中的有些不同,但过程非常相似)。
在开始手动向项目添加库之前,请考虑添加外部依赖项。它不会打乱你的项目结构。几乎所有知名的Android库都可以在Maven存储库中找到,其安装只需要app/build.gradle文件中的一行代码:
dependencies {
implementation 'com.jakewharton:butterknife:6.0.0'
}
添加库
以下是将外部Android库添加到我们的项目的完整过程:
通过Android Studio创建者创建新项目。我把它命名为HelloWorld。以下是Android Studio创建的原始项目结构:
HelloWorld(HelloWorld)/应用程序/-build.gradle//本地gradle配置(仅适用于应用程序)...-build.gradle//全局渐变配置(用于整个项目)-设置.坡度-梯度.属性...
在根目录(HelloWorld/)中,创建新的文件夹:/libs,我们将在其中放置外部库(这一步骤不是必需的,只是为了保持更干净的项目结构)。将库粘贴到新创建的/libs文件夹中。在本例中,我使用了PagerSlidingTabStrip库(只需从GitHub下载ZIP,将库目录重命名为“PagerSliding TabStrip”并复制它)。以下是我们项目的新结构:
HelloWorld(HelloWorld)/应用程序/-build.gradle//本地渐变配置(仅适用于应用程序)...图书馆/页面滑动选项卡条/-build.gradle//本地渐变配置(仅适用于库)-build.gradle//全局渐变配置(用于整个项目)-设置.坡度-梯度.属性...
通过添加要包含的库来编辑settings.gradle。如果您像我一样使用自定义路径,则还必须为库定义项目目录。整个设置渐变应如下所示:包括“:app”,“:PagerSlidingTabStrip”project(“:PagerSlidingTabStrip”).projectDir=新文件('libs/PagerSlidngTabStrip')
5.1如果您遇到“默认配置”错误,请尝试执行此操作,而不是执行步骤5,
include ':app'
include ':libs:PagerSlidingTabStrip'
在app/build.gradle中添加我们的库项目作为依赖项:从属关系{实现文件树(dir:'libs',include:['*.jar'])实现“com.android.support:appcompat-v7:21.0.3”实施项目(“:PagerSlidingTabStrip”)}
6.1.如果您按照步骤5.1进行操作,请按照步骤5.1而不是步骤6进行操作,
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:21.0.3'
implementation project(":libs:PagerSlidingTabStrip")
}
如果您的库项目没有build.gradle文件,则必须手动创建它。以下是该文件的示例:应用插件:“com.android.library”从属关系{实现“com.android.support:support-v4:1.0.3”}机器人{compileSdkV版本21buildTools版本“21.1.2”默认配置{minSdk版本14targetSdkV版本21}源集合{主要的,主要的{manifest.srcFile“AndroidManifest.xml”java.srcDirs=['src']res.srcDirs=['res']}}}此外,您可以为项目创建一个全局配置,其中包含每个模块的SDK版本和构建工具版本,以保持一致性。只需编辑gradle.properties文件并添加行:ANDROID_BUILD_MIN_SDK_VERSION=14ANDROID_BUILD_TARGET_SDK_VERSION=21ANDROID_BUILD_TOOLS_VERSION=21.1.3ANDROID_BUILD_SDK_VERSION=21现在,您可以在build.gradle文件(应用程序和库模块中)中使用它,如下所示://...机器人{compileSdkVersion Integer.parseInt(项目.ANDROID_BUILD_SDK_VERSION)buildToolsVersion项目.ANDROID_BILD_TOOLS_VERSION默认配置{minSdkVersion Integer.parseInt(项目.ANDROID_BUILD_MIN_SDK_VERSION)targetSdkVersion Integer.parseInt(项目.ANDROID_BUILD_TARGET_SDK_VERSION)}}//...仅此而已。只需单击“将项目与Gradle同步”图标。您的库应在项目中可用。
谷歌I/O 2013-新的Android SDK构建系统是一个关于使用Gradle构建系统构建Android应用程序的绝佳演示:正如Xavier Ducrohet所说:
AndroidStudio主要是编辑、调试和分析。这与建筑无关。
一开始,它可能有点令人困惑(尤其是对于那些使用Eclipse并且从未见过像我这样的蚂蚁的人;),但最终Gradle给了我们一些很好的机会,值得我们学习这个构建系统。
在AndroidStudio中,转到应用程序文件夹内部,打开build.gradle文件。这里您将看到依赖项{}。在其中,您可以添加库项目并同步。现在,在同步库之后,它将被添加到项目中,您可以在项目中使用它的函数和类。