如何将库项目添加到Android Studio?

如何将库项目(例如Sherlock ABS)添加到androidStudio

(不是旧的基于Eclipse的ADT包,而是新的androidStudio。)

644608 次浏览

使用菜单文件->项目结构->模块

我今天开始使用它。它有点不同。

对于Sherlock,也许您想删除他们的测试目录,或者将junit.jar文件添加到类路径中。

要使用gradle导入库,您必须将其添加到build.gradledependencies部分(模块的一个)。

例如。

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版本)。

  1. F4显示项目结构,单击库或全局库,然后单击+添加JAR文件。
  2. 单击要添加jar的模块,选择依赖关系选项卡,单击+,然后添加库。

在导入ABS模块(从文件>项目结构)并确保它具有Android 2.2和Support Library v4作为依赖项后,我仍然收到以下错误

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'

我将新导入的模块作为依赖项添加到我的主端模块并修复了问题。

如果您需要访问库项目的资源(就像您使用ABS一样),请确保将库项目/模块添加为“模块依赖项”而不是“库”。

如果IDE没有显示任何错误,但是当你尝试编译时,你会得到类似的结果:

No resource found that matches the given name 'Theme.Sherlock.Light'

您的库项目可能被编译为应用程序项目。要更改此项,请转到:

菜单文件->项目结构->->[库名称]->选中“库模块”。

以下是视觉指南:

更新对于Android Studio 0.8.2:

在Android Studio 0.8.2中,转到项目结构->在模块下只需点击加号按钮并选择导入现有项目并导入actionbarsherlock。然后同步您的Gradle文件。

如果你面对错误

错误:SDK构建工具修订版(xx. x. x)太低。最低需要的是yy. y. y

只需打开actionbarsherlock目录中的build.gradle文件并将buildToolsVersion更新为建议的文件。

android {compileSdkVersion 19buildToolsVersion 'yy.y.y'

Android Studio 0.8.2


菜单文件->项目结构…

First

模块->导入模块

秒

导入库模块后,选择项目模块并添加依赖项:

第三

然后选择导入模块

Forth

Android Studio 1.0更新

自从Android Studio 1.0发布以来(以及v1.0和我之前回答的第一个版本之间的许多版本),有些事情发生了变化。

我的描述主要是通过Gradle文件手动添加外部库项目(为了更好地理解过程)。如果你想通过Android Studio creator添加库,只需通过可视化指南选中下面的的答案(Android Studio 1.0和截图中的有一些差异,但过程非常相似)。

在开始手动向项目添加库之前,请考虑添加外部依赖项。它不会弄乱你的项目结构。几乎所有著名的Android库都在Maven存储库中可用,其安装只需app/build.gradle文件中的一行代码:

dependencies {implementation 'com.jakewharton:butterknife:6.0.0'}

添加库

以下是将外部Android库添加到我们项目的完整过程:

  1. 通过Android Studio creator创建一个新项目。我将其命名为HelloWorld
  2. 以下是Android Studio创建的原始项目结构:
HelloWorld/app/- build.gradle  // local Gradle configuration (for app only)...- build.gradle // Global Gradle configuration (for whole project)- settings.gradle- gradle.properties...
  1. 在根目录(HelloWorld/)中,创建新文件夹:/libs,我们将在其中放置外部库(此步骤不是必需的-仅用于保持更干净的项目结构)。
  2. 将您的库粘贴到新创建的/libs文件夹中。在这个例子中,我使用了页面幻灯片库(只需从GitHub下载ZIP,将库目录重命名为“PagerSlidingTab地带”并复制它)。这是我们项目的新结构:
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...
  1. 通过将您的库添加到include来编辑settings.gradle。如果您像我一样使用自定义路径,您还必须为我们的库定义项目目录。整个settings.gradle应如下所示:

     include ':app', ':PagerSlidingTabStrip'project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')

5.1如果您面临“默认配置”错误,请尝试此操作而不是步骤5,

    include ':app'include ':libs:PagerSlidingTabStrip'
  1. app/build.gradle中添加我们的库项目作为依赖项:

     dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation 'com.android.support:appcompat-v7:21.0.3'implementation project(":PagerSlidingTabStrip")}

6.1。如果您遵循了步骤5.1,则遵循此而不是6,

    dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation 'com.android.support:appcompat-v7:21.0.3'
implementation project(":libs:PagerSlidingTabStrip")}
  1. 如果您的库项目没有build.gradle文件,您必须手动创建它。这是该文件的示例:

         apply plugin: 'com.android.library'
    dependencies {implementation 'com.android.support:support-v4:21.0.3'}
    android {compileSdkVersion 21buildToolsVersion "21.1.2"
    defaultConfig {minSdkVersion 14targetSdkVersion 21}
    sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']res.srcDirs = ['res']}}}
  2. 此外,您可以为您的项目创建一个全局配置,该配置将包含每个模块的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文件(在应用程序和库模块中)中使用它,如下所示:

     //...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)}}//...
  3. 仅此而已。只需单击'将项目与Gradle同步'图标与Gradle同步。您的库应该在您的项目中可用。

Google I/O 2013-新的Android SDK构建系统是关于使用Gradle Build System构建Android应用程序的精彩演示:正如Xavier Ducrohet所说:

Android Studio是关于编辑、调试和分析的。这不是关于建设更多

一开始可能会有点混乱(尤其是对于那些与Eclipse一起工作并且从未见过蚂蚁的人-像我一样 ;) ), 但最终Gradle给了我们一些很好的机会,值得学习这个构建系统。

要解决此问题,您只需将abs资源路径添加到项目构建文件中,如下所示:

sourceSets {main {res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']}}

所以,我再次编译没有任何错误。

通过GUI编辑库依赖项是不可取的,因为这不会将这些更改写入您的build.gradle文件。因此您的项目不会从命令行构建。我们应该直接编辑build.gradle文件,如下所示。

例如,给出以下结构:

MyProject/

  • 应用程序/
  • 图书馆/
    • lib1/
    • lib2/

我们可以确定三个项目。Gradle将使用以下名称引用它们:

  1. :应用
  2. :库: lib1
  3. :库: lib2

: app项目可能依赖于库,这是通过声明以下依赖项来完成的:

dependencies {compile project(':libraries:lib1')}

我找到了解决方案。很简单。按照froger_mcs指示

在项目结构中确保将src文件夹设为Source文件夹->模块(源)。

在此处输入图像描述

将JAR文件作为库添加到Android Studio项目的简单方法:

a)复制您的*. jar文件

b)粘贴到项目下的libs目录中:

在此处输入图像描述

(c)build.gradle:

dependencies {...compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)}

b)如果示例中的项目com.example.MYProject和库com.example.ScanAPI具有相同的命名空间com.example,Android Studio将检查您的构建并在您的项目中创建所有必要的更改。之后,您可以在菜单文件->项目结构中查看这些设置。

c)如果您的项目和库有不同的命名空间您必须右键单击库并选择选项“添加为库”并选择您需要的类型。

请记住,在当前版本的Android Studio(0.2.3)中,“项目结构”选项不会在“build.gradle”中进行任何自动更改。也许此功能将在下一个版本中可用。

我认为依赖项、Android库和多项目设置是必要的阅读。请花几分钟时间这样做。

特别是,在非jar库项目的情况下,从上面的源代码中读取以下片段:

Gradle项目也可以通过使用多项目设置来依赖其他gradle项目。多项目设置通常通过将所有项目作为给定根项目的子文件夹来工作。

例如,给定以下结构:

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存储库,以避免依赖关系混乱。

如果您有Android Studio.0.4.0,您可以在构建路径中创建一个新文件夹,YourApp/libraries。复制JAR文件。在那里,右键单击它并“添加为库”。现在您有了一个弹出窗口。只需选择您的目录并按OK,就是这样。

我发现包含外部库项目的最简单方法是(例如,包含一个存储在依赖项文件夹中的一个目录中的Facebook库):

  1. settings.gradle添加

    include ':facebook'
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
  2. In build.gradle dependencies section, add

    compile project ('facebook')

All left to do is synchronise the project with gradle files.

我有一个不同的问题原因,所以对于人们来说:

repositories {mavenCentral()}

将mavenCentral()更改为jcenter()并添加

allprojects {repositories {jcenter()}}

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0是如何在最新版本的Android Studio 1.0.1中添加JAR文件和库项目的Dropbox链接。

请查看带有屏幕截图的留档。对于新用户来说非常容易。

打开build gradle模块应用程序文件并添加你的依赖项。如果您下载了库,只需导入并以gradle身份构建。

否则在side gradle模块应用程序中添加存储库:

repositories {maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }}

第一个存储库将为您下载库。

并编译下载的库:

 compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {transitive = true}

如果您正在创建一个库,您只需要将项目作为导入新模块导入。

事实上,随着版本的变化,菜单上可用的用户交互界面和选项也在变化。在阅读了这些问题的大部分答案后,我不得不猜测什么适用于Android Studio 1.1.0

  1. 使用鼠标,在主级别选择项目(这是显示应用程序名称的位置)。

  2. 右键单击,然后选择菜单选项New, Folder, Asset Folder

  3. 创建资产文件夹后,在其中粘贴或复制您需要的库的任何JAR文件。

  4. 从Android Studio的主菜单(屏幕顶部)选择File->Project结构

  5. 然后选择您的项目名称并转到Depend的选项卡。

  6. 单击对话框左下角的加号(+)并选择文件依赖项。

  7. 最后打开最近创建的资产文件夹,选择您复制的JAR文件,然后单击应用和OK

清理和重建您的项目。

选项1:将文件放入Project的libs/目录

相关的build.gradle文件将自动更新。

选项2:手动修改build.gradle文件

打开您的build.gradle文件并将新的构建规则添加到依赖项闭包。例如,如果您想添加Google Play服务,您的项目的依赖项部分将如下所示:

dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.google.android.gms:play-services:6.5.+'}

选项3:使用Android Studio的用户界面

在项目面板中,控制+单击要添加依赖项的模块,然后选择打开模块设置。

在此处输入图像描述

选择依赖项选项卡,然后是左下角的+按钮。您可以从以下选项列表中进行选择:

  • 库依赖
  • 文件依赖
  • 模块依赖

然后,您可以输入有关要添加到项目中的依赖项的详细信息。例如,如果您选择库依赖项,Android Studio会显示一个库列表供您选择。

添加依赖项后,检查模块级build.gradle文件。它应该已经自动更新以包含新的依赖项。

来源

我也遇到了同样的问题,然后我做了以下事情。

  1. 我使用菜单File->导入模块菜单将库项目作为模块导入我的AndroidStudio IDE

  2. 然后我去了我的主模块,我希望库项目作为一个依赖项目

  3. 右键单击主模块(在我的情况下,它的名字是app)->打开模块设置->进入依赖项选项卡->单击+按钮(您将在窗口右侧获得它)->单击模块依赖项->从列表中选择您的库项目

应用更改并单击好的按钮。

它对我有用,我希望它也能帮助其他人。

只需将Android库项目作为模块导入并在Build.gradle中。

应用插件:com.android.library

之后,遵循以下步骤:

  1. 右键单击模块并选择打开模块设置
  2. 选择依赖项,单击+,选择库依赖项,然后添加之前导入的模块。

我刚刚找到了一种更简单的方法(而不是直接写入. gradle文件)。

适用于Android Studio 1.1.0。

  1. 菜单文件->新模块…

    导入已有项目

    点击“导入现有项目”。

  2. 选择所需的库和所需的模块。

  3. 单击完成。Android Studio将把库导入到您的项目中。它将同步gradle文件。

  4. 将导入的模块添加到项目的依赖项中。

    右键单击应用程序文件夹->打开模块设置->转到依赖项选项卡->单击“+”按钮->单击模块依赖项。

    然后将库模块添加到项目的依赖项中。

    添加库模块

  5. ????

  6. 利润

这就是我在Android Studio 1.5+中的工作方式

在要添加外部库项目的项目中,转到菜单文件->->*导入新模块**,导航到要添加到项目中的库项目,选择在项目中添加“库”模块。您将在项目中获得settings.gradle,在应用程序旁边,包含库,如下所示:

include ':app', ':library'

在依赖项部分添加build.gradle(模块:应用程序)

编译项目(': Library')

重建项目,仅此而已。

*您可以根据需要添加任意数量的库(模块)。在这种情况下,settings.gradle您将拥有:

 include ':app', ':lib1', ':lib2', ...

在build.gradle,你需要:

dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])
// Some other dependencies...
compile project(':lib1')compile project(':lib2')...}

对于Android Studio:

在此输入图片描述

点击Build.gradle(模块:应用)

并添加为

dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')compile files('libs/commons-io-2.4.jar')}

然后在目录“app”中创建一个目录“libs”。添加文件yourfile.jar:

在此输入图片描述

最后,编译Gradle文件:

在此输入图片描述

第一种方式这适用于MacBook。

首先选择您的builder.gradle文件作为给定屏幕:

在此输入图片描述

添加依赖项,如在所选屏幕上:

在此输入图片描述

选择同步项目。

如果您在project': app'中找不到“Project with path': Signital-pad'”之类的错误,请使用第二种方法:

选择菜单文件->->导入模块…

在此输入图片描述

点击导入模块后,

在此输入图片描述

给出库的路径,就像我的MacBook路径一样:

在此输入图片描述

单击完成。现在添加了您的库。

基本上,您可以通过三种不同的方式包含您的JAR文件。最后一个是使用https://bintray.com/ jcenter在线存储库的远程库。但是,如果您以其他两种方式之一执行此操作,JAR文件将物理包含在您的项目中。请阅读此链接https://stackoverflow.com/a/35369267/5475941以获取更多信息。在这篇文章中,我解释了如何在Android Studio中导入您的JAR文件,并解释了所有可能的方法。

总之,如果它像这样(本地地址),它们被下载并且这些JAR文件物理上位于项目中:

在此处输入图片描述

但是,如果它是这样的Internet地址,它们是远程库(bintray.comjcenter部分),它们将被远程使用:

在此处输入图片描述

希望有帮助。

在Android Studio中,转到应用程序文件夹内部,然后打开build.gradle文件。在这里,您将看到依赖项{}。在其中,您可以添加库项目并进行同步。现在,同步库后,它将被添加到您的项目中,您可以在项目中使用它的函数和类。

您可以轻松完成此操作。转到菜单文件->->导入模块…

在此处输入图片描述

浏览包含模块的目录。单击完成:

在此处输入图片描述

转到项目结构并添加模块依赖

在此处输入图片描述

注意:如果您收到SDK错误,请更新该错误。

Android Studio 3.0

只需将库名称添加到应用程序build.gradle文件的依赖项块中。

dependencies {// ...implementation 'com.example:some-library:1.0.0'}

请注意,您现在应该使用implementation而不是compile。这是Android Studio 3.0的新功能。有关差异的解释,请参阅本次问答

将其添加到构建gradle文件中:

 dependencies {implementation 'com.jakewharton:butterknife:9.0.0'}

您可以使用Gradle dependency configuration关于我们在您的项目中添加一些依赖项

/build.gradle

dependencies {//<gradle_dependency_configuration> '<dependency_name>:<dependency_version>'//e.g.implementation 'com.android.support:appcompat-v7:1.1.1'}