首页 文章

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

提问于
浏览
758

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

(不是旧的基于Eclipse的ADT包,而是新的Android Studio . )

30 回答

  • 5

    我找到了解决方案 . 这很简单 . 关注froger_mcs instructions .

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

    Enter image description here

  • 6

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

    这适用于Android Studio 1.1.0 .

    • 菜单文件 - >新模块......:

    Import Existing Project

    单击“导入现有项目” .

    • 选择所需的库和所需的模块 .

    • 点击完成 . Android Studio会将库导入您的项目 . 它将同步gradle文件 .

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

    右键单击app文件夹 - >打开模块设置 - >转到依赖项选项卡 - >单击''按钮 - >单击模块依赖项 .

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

    Add library module

    • ???

    • 利润

  • 1

    这就是它在Android Studio 1.5中的作用

    在要添加外部库项目的项目中,转到菜单文件 - >新建 - > 导入新模块*,导航到要添加到项目中的库项目,选择在项目中添加'library'模块 . 您将在项目中获得 settings.gradle ,包括app,包含库,如下所示:

    include ':app', ':library'
    

    在依赖项部分中添加 build.gradle(Module :app)

    Compile project(':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')
        ...
    }
    
  • 701

    对于Android Studio:

    Enter image description here

    单击Build.gradle(module:app) .

    并添加

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

    并在您的目录“app”中,创建一个目录“libs” . 添加文件yourfile.jar:

    Enter image description here

    最后,编译Gradle文件:

    Enter image description here

  • 2

    First Way 这适用于MacBook .

    首先在给定屏幕中选择builder.gradle文件:

    Enter image description here

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

    Enter image description here

    选择同步项目 .

    如果您收到类似“带路径的项目”的错误:在项目':app'中找不到签名板',那么请使用第二种方式:

    选择菜单文件 - >新建 - >导入模块...:

    Enter image description here

    点击导入模块后,

    Enter image description here

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

    Enter image description here

    单击Finish . 现在您的库已添加 .

  • 2

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

  • 2
    • 按F4显示 Project Structure ,单击库或全局库,然后单击以添加JAR文件 .

    • 单击要添加jar的模块,选择 Dependencies 选项卡,单击,然后添加库 .

  • 50

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

    • 我使用菜单文件 - >导入模块菜单将库项目作为模块导入到我的AndroidStudio IDE中

    • 然后我去了我的主要模块,我希望将库项目作为依赖项目

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

    应用更改并单击“确定”按钮 .

    它对我有用 . 我希望它也能帮助别人 .

  • 9

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

    • 在settings.gradle中添加
    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
    
    • 在build.gradle依赖项部分中,添加
    compile project ('facebook')
    

    剩下要做的就是将项目与gradle文件同步 .

  • 5

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

    请参阅带有屏幕截图的文档 . 这对新用户来说非常容易 .

  • 3

    这是视觉指南:

    Update for Android Studio 0.8.2:

    在Android Studio 0.8.2中,转到 Project Structure - >在 Modules 下,只需点击加号按钮并选择 Import Existing Project 并导入 actionbarsherlock . 然后同步Gradle文件 .

    如果您遇到错误

    错误:SDK Build Tools修订版(xx.x.x)太低 . 最低要求是yy.y.y

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

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

    Android Studio 0.8.2


    菜单文件 - >项目结构......:

    First

    模块 - >导入模块

    Second

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

    Third

    然后选择导入的模块:

    Forth

  • 269

    我会考虑Dependencies, Android Libraries and Multi-project setup必读 . 请花几分钟时间 .

    特别是,对于非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 submodules将嵌套库链接到实际库git repo以避免依赖混乱 .

  • 109

    成功添加另一个库(PullToRefresh)的示例 . 也适用于ABS libproject .

    This SO Question

    This post

  • 24

    Android Studio 3.0

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

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

    请注意,您现在应该使用 implementation 而不是 compile . 这是Android Studio 3.0的新功能 . 有关差异的解释,请参阅this Q&A .

  • 16

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

    a)复制* .jar文件

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

    Enter image description here

    c)添加到build.gradle:

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

    b) If your project from example com.example.MYProject and libraries com.example.ScanAPI has the same namespace com.example ,Android Studio将检查您的构建并在项目中创建所有必要的更改 . 之后,您可以在菜单文件 - >项目结构中查看这些设置 .

    c) If your project and libraries have a different namespace 您必须右键单击库并选择选项"Add as Library"并选择所需类型 .

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

  • 14

    打开构建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
        }
    

    如果要创建库,则只需将项目导入为导入新模块 .

  • 11

    事实上,随着版本的变化,改变菜单上的用户界面和选项也是如此 . 在阅读了这些问题的大部分答案之后,我不得不猜测 Android Studio 1.1.0 会有什么用 .

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

    • 右键单击,然后选择菜单选项 New, Folder, Assets Folder .

    • 创建assets文件夹后,粘贴或复制它,无论您的库需要什么JAR文件 .

    • 从Android Studio的主菜单(屏幕顶部)选择文件 - >项目结构 .

    • 然后选择项目名称并转到 Dependencies 选项卡 .

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

    • 最后打开最近创建的资源文件夹,选择您复制的JAR文件,然后单击“应用”和“确定” .

    清理并重建您的项目 .

  • 8

    如果您有Android Studio .0.4.0,则可以在构建路径中创建一个新文件夹 YourApp/libraries . 复制JAR文件 . 在那里,右键单击它和"Add As Library" . 现在你有一个弹出窗口 . 只需选择您的目录,然后按确定即可 .

  • 7

    Update for 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'
    }
    

    Adding the library

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

    • 通过Android Studio创建者创建一个新项目 . 我把它命名为HelloWorld .

    • 以下是Android Studio创建的原始项目结构:

    HelloWorld /
    应用程序/

    • build.gradle //本地Gradle配置(仅适用于app)
      ...

    • build.gradle // Global Gradle配置(适用于整个项目)

    • settings.gradle

    • gradle.properties
      ...

    • 在根目录( HelloWorld/ )中,创建新文件夹: /libs ,我们将在其中放置外部库(此步骤不是必需的 - 仅用于保持更清晰的项目结构) .

    • 将库粘贴到新创建的 /libs 文件夹中 . 在这个例子中,我使用PagerSlidingTabStrip library(只需从GitHub下载ZIP,将库目录重命名为“PagerSlidingTabStrip”并复制它) . 这是我们项目的新结构:

    HelloWorld /
    应用程序/

    • build.gradle //本地Gradle配置(仅限应用)
      ...
      库/
      PagerSlidingTabStrip /

    • build.gradle //本地Gradle配置(仅适用于库)

    • build.gradle // Global Gradle配置(适用于整个项目)

    • 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'图标
      synchronise with Gradle
      同步 . 您的图书馆应该在您的项目中可用 .

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

    Android Studio完全是关于编辑,调试和分析 . 这不是关于建设的问题 .

    一开始它可能有点令人困惑(特别是那些与Eclipse一起工作并且从未见过 Ant 的人 - 就像我一样;)),但最后Gradle给了我们一些很好的机会,值得学习这个构建系统 .

  • 4

    选项1:将文件拖放到项目的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的用户界面

    在“项目”面板中,单击要添加依赖项的模块,然后选择“打开模块设置” .

    Enter image description here

    选择Dependencies选项卡,然后选择左下角的按钮 . 您可以从以下选项列表中进行选择:

    • 图书馆依赖

    • 文件依赖性

    • 模块依赖

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

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

    Source

  • 3

    你可以轻松地做到这一点 . 转到菜单文件 - >新建 - >导入模块...:

    Enter image description here

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

    Enter image description here

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

    Enter image description here

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

  • 3

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

    repositories {
        mavenCentral()
    }
    

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

    allprojects {
        repositories {
            jcenter()
        }
    }
    
  • 2

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

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

    对于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),则存在名为“打开模块设置”的部分 .

  • 2

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

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

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

    菜单文件 - >项目结构 - >构面 - > [库名称] - >检查"Library module" .

  • 2

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

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

    我将新导入的模块添加为我的主应用程序模块的依赖项,并修复了问题 .

  • 1

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

  • 1

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

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

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

  • 0

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

    总之,如果它是这样(本地地址),它们将被下载并且这些JAR文件实际上在项目中:

    enter image description here

    但是,如果它是这样的互联网地址,它们是远程库(bintray.com jcenter部分),它们将被远程使用:

    enter image description here

    我希望它有所帮助 .

  • -1

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

    申请插件:'com.android.library'

    之后,请按照下列步骤操作:

    • 右键单击“模块”并选择“打开模块设置”

    • 选择依赖项,单击,选择库依赖项,然后添加以前导入的模块 .

  • 4

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

    例如,给出以下结构:

    我的项目/

    • app /

    • libraries /

    • lib1 /

    • lib2 /

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

    • :app

    • :libraries:lib1

    • :libraries:lib2

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

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

相关问题