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

如何将一个库项目(如Sherlock ABS)添加到Android Studio ?

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

Android Studio 1.0更新

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

我的描述主要是通过Gradle文件手动添加外部库项目(为了更好地理解过程)。 如果你想通过Android Studio创build者添加一个库,只需使用可视化指南(下面是Android Studio 1.0和屏幕截图中的一些区别)来检查下面的答案 ,但是过程非常相似。

在开始手动添加库到您的项目之前,请考虑添加外部依赖项。 它不会混乱你的项目结构。 几乎每个知名的Android库都在Maven仓库中可用,其安装只需要在app/build.gradle文件中添加一行代码:

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

添加库

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

  1. 通过Android Studio创build者创build一个新项目。 我把它命名为HelloWorld
  2. 以下是Android Studio创build的原始项目结构:
 HelloWorld/ app/ - build.gradle // local Gradle configuration (for app only) ... - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ... 
  1. 在根目录( HelloWorld/ )中,创build一个新的文件夹: /libs ,我们将在其中放置我们的外部库(这一步不是必需的 – 只是为了保持一个更清洁的项目结构)。
  2. 将你的库粘贴到新创build的/libs文件夹中。 在这个例子中,我使用了PagerSlidingTabStrip库 (只需从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 ... 
  1. 通过添加您的库来编辑settings.gradle。 如果您像我一样使用自定义path,则还需要为我们的库定义项目目录。 整个settings.gradle应该如下所示:

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

5.1如果你面对“Default Configuration”的错误,那就试试这个,而不是步骤5,

  include ':app' include ':libs:PagerSlidingTabStrip' 
  1. 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") } 
  1. 如果你的库项目没有build.gradle文件,你必须手动创build它。 这是这个文件的例子:

      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'] } } } 
  2. 另外,您可以为您的项目创build全局configuration,其中将包含SDK版本和为每个模块构build工具版本以保持一致性。 只需编辑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) } } //... 
  3. 就这样。 只需单击,使用Gradle图标同步项目 与Gradle同步 。 你的图书馆应该在你的项目中可用。

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

Android Studio是关于编辑,debugging和性能分析的。 这不是build立更多。

开始的时候可能有点混乱(特别是那些和Eclipse一起工作的人,从来没有见过像我这样的ant)),但最终Gradle给了我们一些很好的机会,值得学习这个构build系统。

这里是视觉指南:

Android Studio 0.8.2 更新

在Android Studio 0.8.2中,转到项目结构 – > 模块下,点击加号button,然后select导入现有项目并导入actionbarsherlock 。 然后同步你的Gradle文件。

如果你面对错误

错误:SDK构build工具修订版(xx.xx)太低。 最低要求是yy.yy

只需在actionbarsherlock目录中打开build.gradle文件actionbarsherlock更新为build议的buildToolsVersion即可。

 android { compileSdkVersion 19 buildToolsVersion 'yy.yy' 

Android Studio 0.8.2


菜单文件 – > 项目结构…

第一

模块 – > 导入模块

第二

导入库模块后,select您的项目模块并添加依赖项:

第三

然后select导入的模块

向前

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

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

对于Sherlock,也许你想删除他们的testing目录,或者将junit.jar文件添加到类path中。

要使用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版本),就会出现一个名为“打开模块设置”的部分。

我会考虑依赖,Android库和多项目设置必要的阅读。 请花几分钟时间来完成。

特别是在非jar文件库项目的情况下,请阅读以上源代码片段:

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

例如,给以下结构:

 MyProject/ + app/ + libraries/ + lib1/ + lib2/ 

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

 :app :libraries:lib1 :libraries:lib2 

每个项目都会有自己的build.gradle声明它是如何构build的。 另外,在声明项目的根目录下会有一个名为settings.gradle的文件。 这给出了以下结构:

 MyProject/ | settings.gradle + app/ | build.gradle + libraries/ + lib1/ | build.gradle + lib2/ | build.gradle 

settings.gradle的内容非常简单:

 include ':app', ':libraries:lib1', ':libraries:lib2' 

这定义了哪个文件夹实际上是一个Gradle项目。

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

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

请注意,很less或根本没有使用Android Studio GUI来实现这一点。

我目前正在使用git子模块来链接嵌套库到实际的库git回购,以避免依赖混乱。

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

这是Android Studio 1.1.0。

  1. 菜单文件 – > 新build模块…

    导入现有项目

    点击“导入现有项目”。

  2. select所需的库和所需的模块。

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

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

    右键单击应用程序文件夹 – >打开模块设置 – >进入依赖关系选项卡 – >点击“+”button – >点击模块依赖关系。

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

    添加库模块

  5. ???

  6. 利润

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

  1. 在settings.gradle添加

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

     compile project ('facebook') 

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

将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将检查您的构build并在您的项目中创build所有必要的更改。 之后,您可以在菜单文件 – > 项目结构中查看这些设置。

c) 如果你的项目和库有不同的命名空间,你必须右键单击库并select选项“添加为库”,然后select你需要的types。

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

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

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

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

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

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

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

在“项目”面板中, 按住Control并单击要添加依赖项的模块,然后select“打开模块设置”。

在这里输入图像说明

select“依赖关系”选项卡,然后select左下angular的“+”button。 您可以从下列选项中进行select:

  • 图书馆依赖
  • 文件依赖性
  • 模块依赖

然后,您可以input更多关于您要添加到项目中的依赖关系的信息。 例如,如果select“库依赖关系”,Android Studio会显示一个库列表供您select。

一旦你添加了你的依赖,检查你的模块级的build.gradle文件。 它应该已经自动更新以包含新的依赖关系。

资源

如果您需要访问库项目的资源(与使用ABS相同),请确保将库项目/模块添加为“模块相关性”而不是“库”。

这是Android Studio 1.5中的工作原理

在要添加外部库项目的项目中,进入菜单文件 – > 新build – > *导入新模块**,导航到要添加到项目中的库项目,select添加“库”模块你的项目。 你会得到settings.gradle在你的项目,旁边的应用程序,包括库,如下所示:

 include ':app', ':library' 

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

编译项目(':library')

重build项目,就是这样。

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

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

而在build.gradle,你需要有:

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

你可以轻松地做到这一点。 转到菜单文件 – > 新build – > 导入模块…

在这里输入图像说明

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

在这里输入图像说明

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

在这里输入图像说明

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

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

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

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

菜单文件 – > 项目结构 – > 方面 – > [库名称] – >检查“库模块”。

  1. F4显示项目结构 ,单击库或全局库,然后单击+添加JAR文件。
  2. 点击模块你想要添加jar,selectDependencies选项卡,点击+ ,然后添加Library。

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

例如,给以下结构:

我的项目/

  • 应用程序/
  • 库/
    • LIB1 /
    • LIB2 /

我们可以确定三个项目。 Gradle会用下面的名字引用它们:

  1. :应用程序
  2. :库:LIB1
  3. :库:LIB2

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

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

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

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

我添加了新导入的模块作为依赖到我的主要应用程序模块,并解决了这个问题。

要解决这个问题,你只需要将abs资源path添加到你的项目构build文件中,就像下面这样:

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

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

第一种方式这是适用于MacBook。

首先根据给定的屏幕select你的builder.gradle文件:

在这里输入图像说明

在所选的屏幕上添加如下所示的依赖项:

在这里输入图像说明

select同步项目。

如果您收到“Project with path”这样的错误信息:在项目中找不到“signature-pad”:app'“,请使用第二种方法:

select菜单文件 – > 新build – > 导入模块…

在这里输入图像说明

点击导入模块后

在这里输入图像说明

给我的MacBookpath图书馆的path:

在这里输入图像说明

点击完成 。 现在你的图书馆被添加。

如果您有Android Studio .0.4.0,则可以在构buildpathYourApp/libraries创build一个新文件夹。 复制JAR文件。 在那里,右键点击它和“添加为图书馆”。 现在你有一个popup。 只要select您的目录,然后按确定,就是这样。

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

请参阅截图的文档。 新用户非常容易。

我find了解决scheme。 这很简单 按照froger_mcs指示 。

确保在Project Structure – > Modules(Sources) 中将src文件夹设置为Source文件夹

在这里输入图像说明

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

这个SO问题

这篇文章

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

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

在这里输入图像描述

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

在这里输入图像描述

我希望它有帮助。

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

否则,请在侧边gradle模块应用程序中添加存储库:

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

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

并编译下载的库:

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

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

在Android Studio中,进入app文件夹,打开build.gradle文件。 在这里你会看到依赖{}。 在它里面你可以添加库项目并同步。 现在在同步库之后,它将被添加到你的项目中,并且你可以在你的项目中使用它的函数和类。

对于Android Studio:

在这里输入图像说明

点击Build.gradle(module:app)

并添加

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

并在你的目录“app”中创build一个目录“libs”。 添加文件yourfile.jar:

在这里输入图像说明

最后,编译Gradle文件:

在这里输入图像说明

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

应用插件:'com.android.library'

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

  1. 右键单击模块并select打开模块设置
  2. select依赖项,点击+ ,select库依赖关系,并添加以前导入的模块。

对于这个问题,我有一个不同的原因:

 repositories { mavenCentral() } 

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

 allprojects { repositories { jcenter() } } 

Android Studio 3.0

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

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

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

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

  1. 我使用菜单“ 文件” – >“导入模块”菜单将库项目导入到我的AndroidStudio IDE中

  2. 然后,我去了我的主要模块,我想图书馆项目作为一个依赖项目

  3. 右键单击主模块(在我的情况下,它的名称是应用程序 ) – >打开模块设置 – >进入依赖关系选项卡 – >点击+button(你会得到它在窗口的右侧) – >点击模块依赖关系 – >从列表中select你的图书馆项目

应用更改并单击确定button。

它为我工作。 我希望它也能帮助别人。

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

  1. 用鼠标select主级别的项目(这是它显示你的应用程序名称的地方)。

  2. 右键单击,然后select菜单选项新build,文件夹,资产文件夹

  3. 创build资产文件夹后,粘贴或复制它,无论您的库需要什么JAR文件。

  4. 从Android Studio的主菜单(屏幕顶部)select文件 – > 项目结构

  5. 然后select您的项目名称,然后转到依赖关系选项卡。

  6. 点击对话框左下方的加号( + ),然后select文件依赖关系。

  7. 最后打开最近创build的资产文件夹,select您复制的JAR文件,然后单击应用并确定

清理并重build您的项目。