将jar库导入Android Studio

37
android-studio 0.2.7
Fedora 18

你好,

我正在尝试将jtwitter jar添加到我的项目中。

首先,我尝试了以下步骤:

1) Drag the jtwitter.jar into the root directory of my project explorer, see picture
2) File | project structure
3) Modules | yamba-yamba | dependencies
4) Click the plus sign | jars or directories | and navigate to jtwitter jar | click ok

项目资源管理器

当我导入jar文件时,我收到以下错误:

import winterwell.jtwitter.Twitter;

Cannot resolve symbol winterwell
Gradle: error: package winterwell.jtwitter does not exist

我做了些研究,发现android-studio存在一些问题,你必须亲自编辑build.gradle文件。

所以我尝试将以下内容添加到我的build.gradle文件中:

dependencies {
    compile files('libs/jtwitter.jar')

build.gradle

遇到错误信息:cannot resolve symbol dependencies

还有一个问题,libs文件夹在哪里呢?是指External Libraries吗?


2
你的 .jar 文件必须放在“libs”文件夹中。在具有“src”文件夹的地方创建一个名为“libs”的新文件夹,并将jtwitter.jar添加到此文件夹中。 - Dariusz Mazur
我添加了目录并将jar文件移动到该目录。 我右键单击jar文件 | 添加为库。 但是,我仍然收到以下错误消息Gradle:错误:包winterwell.jtwitter不存在。 和Gradle:错误:找不到符号类Twitter。 在我的build.gradle中,我得到: 在根项目“Yamba”上无法找到方法编译()的参数[file collection]。 - ant2009
不要将其添加为库。在主项目中点击F4并添加此库-通过选择+作为“Jar或目录”。请查看这里这里这里 - Dariusz Mazur
有没有办法避免将它放在模块级别? - GorillaApe
如果您正在使用Gradle,请参阅此StackOverflow问题 - craned
注意:此答案与较新版本的Android Studio无关。在这些版本中,您只需将jar文件放入“libs”目录中即可完成。build.gradle文件已经正确设置以识别任何jar文件。注意:如果您是新的Android Studio用户,您可能会惊讶地发现将volley.jar复制到libs中似乎没有引起任何变化。这是因为默认的项目结构视图通过不显示某些文件和目录来“帮助”您。要查看实际的jar文件,请选择位于Project Structure上方的下拉菜单,并将其从Android更改为Project。(Android Studio 1.0.2) - Brian Marick
13个回答

67

尝试以下步骤...

  1. 在应用程序文件夹下创建一个libs文件夹。
  2. 将.jar文件添加到libs文件夹中。
  3. 然后将.jar文件添加到应用程序的build.gradle依赖项中。
  4. 最后,与Gradle文件同步项目。

1.创建libs文件夹:

输入图像描述

2.将.jar文件添加到libs文件夹:

输入图像描述

3.编辑应用程序的build.gradle依赖关系:

  • 打开app/build.gradle

输入图像描述

4.与Gradle文件同步项目:

  • 最后将.jar文件添加到您的应用程序中。

输入图像描述

更新:

这里我将导入org.eclipse.paho.client.mqttv3.jar文件到我们的应用程序模块。

  1. 复制jar文件并粘贴到名为libs的目录中。

打开项目结构

  1. 按Ctrl + Alt + Shift + s或单击工具栏上的项目结构图标。

项目结构

  1. 然后选择要导入.jar文件的模块,然后选择依赖项选项卡。

添加JAR包

  1. 点击加号图标,然后选择文件依赖项。

文件依赖项

  1. 选择.JAR文件路径,点击OK来构建Gradle。

JAR包路径

  1. 最后,我们导入了.JAR文件到我们的模块中。

已导入的JAR包文件


1
可能是因为我的Android Studio版本不同,但只要您的libs文件夹被称为“libs”,我就不需要修改build.gradle文件。 - Eddie Curtis
7
既然代码中已经使用了compile fileTree(dir: 'libs', include: ['*.jar']),为什么还需要显式地使用compile files('libs/library.jar')呢? - Someone Somewhere
1
我只是将jar文件添加到“libs”目录中,然后点击“与Gradle文件同步项目”,它就可以工作了,不需要编辑“build.gradle”文件。 - razz
是的,不需要添加新行。隐式包含在/libs中。 - albertoiNET
这是理解过程的最佳方式。非常感谢您,先生。 - Mayank Sugandhi

27

更新适用于Android Studio 2的答案

正确而简单的导入jar/aar到您的项目的方法是将其作为模块导入。

New -> Module

右键单击主项目并选择 New -> Module

选择导入 .JAR/.AAR

导入 .JAR/.AAR 包

选择 .JAR/.AAR 文件并命名为一个模块

选择 .JAR/.AAR 文件

将模块添加为依赖项

将模块添加为依赖项


6
这个问题已经在新的0.2.8版本中得到修复。我所做的就是创建一个名为“libs”的新目录,将jar文件拖到其中。右键单击jar文件,选择“添加为库”。这将展开jar文件。在build.gradle文件中输入以下内容:“dependencies { compile files('libs/jtwitter.jar') }”,并输入导入语句将类引入源文件。一切都正常工作。 - ant2009

26

运行Android Studio 0.4.0 通过导入jar包解决了问题。

Project Structure > Modules > Dependencies > Add Files
Browse to the location of jar file and select it

对于那些喜欢手动编辑的人 打开 app/build.gradle 文件

dependencies {
    compile files('src/main/libs/xxx.jar')
}

2
这对我来说也起作用了,而且无需手动编辑Android Studio 0.43中的任何文件。只需在'main'目录下创建一个名为'libs'的文件夹,并将jar文件复制到那里,然后按照上述步骤进行操作即可。 - afonseca
也许您需要右键单击项目名称,然后选择打开模块设置,接着选择依赖项选项卡。 - Yster

10

在该项目中右键点击

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

您可以按照以下截图进行操作:

1:

第一步

2:

输入图像描述

3:

输入图像描述

您将看到这个:

输入图像描述


如何为该模块添加多个JAR包? - Jasper
我没有一次性导入... 我逐个为所有Jars导入了一次。 :) - Ganesh Pandey
甘尼什> 是的,在创建模块时,它只允许您选择一个单独的Jar文件。我如何将更多的Jar文件添加到同一模块中? - Jasper
@jasper 我做了两次..一个接一个的。 - Ganesh Pandey

9
Android Studio 1.0.1 对此并没有做出更清晰的解释,但确实使操作更加容易。以下是我的操作步骤:
1)使用文件浏览器,在项目(项目名称为'Project')的 Project/app/src 文件夹内创建一个名为'external_libs'的文件夹(其他名称也可以)。
2)将JAR文件复制到这个 'external_libs' 文件夹内。
3)在 Android Studio 中,进入 File -> Project Structure -> Dependencies -> Add -> File Dependency,并导航到您的 JAR 文件,该文件应位于 'src/external_libs' 下。
4)选择您的 JAR 文件并单击 'Ok'。
现在,检查 build.gradle(Module.app)脚本,您会看到已经在 'dependencies' 下添加了该 JAR 文件。

如何添加库文件夹? - Wasif Khalil
@WasifKhalil 右键单击要添加的位置,创建新目录并选择您喜欢的名称。已经有一个名为 <app_name>\app\libs 的目录了。我只是使用了它。 - strider
真的很奇怪,第一次没有起作用。然后我删除了“compile files('src/external_libs/zbar.jar')”并进行了同步,然后再次添加它,然后它就起作用了... 真是奇怪的事情。 - Johan
对于 Android Studio 1.2.2,第3步是: 点击主菜单:File -> Project Structure。 在左侧的树状视图下选择“app”模块。 点击顶部的“Dependencies”选项卡。 点击右侧的“+”号以进行添加。 选择“文件依赖项”。 导航到 external_libs/ 中的文件。 点击“确定”。 - Art Swri

5
这是如何添加外部文件夹中的jar文件:
  1. 点击“文件”,然后选择“新建”和“新模块”

  2. 新窗口出现,您必须选择导入.JAR / .AAR包。

  3. 点击窗口右上角的路径选项...并给出JAR文件的完整路径。

4) 点击完成。

现在您已经添加了Jar文件,需要将其添加到应用程序项目的依赖项中

  1. 右键单击应用程序文件夹,然后选择打开模块设置或F4

  2. 点击当前窗口右上角的依赖项。

  3. 点击“+”符号,选择“模块依赖项”,它将显示您已包含在项目中的现有JAR文件...

  4. 选择您想要的文件,然后点击“OK / Finish”


当您有大约10个相关的JAR文件时,如何将它们全部添加到单个模块中? - Jasper
您可以按照相同的步骤处理所有的JAR文件,它们将被添加到单个模块中。 - Sudhir Belagali

4

Android Studio 1.0使向项目添加.jar文件库变得更加容易。转到“文件”>“项目结构”,然后点击“依赖项”。在那里,您可以将计算机中的.jar文件添加到项目中。您还可以从Maven搜索库。


4

我是在 Android Studio 版本 1.0.2 上实现以下操作的:

  • [你的项目目录]\app\src下创建了一个名为libs的文件夹
  • jtwitter.jar(或yambaclientlib.jar)复制到[你的项目目录]\app\src\libs目录中
  • 进入以下菜单路径: File -> Project Structure -> Dependencies -> Add -> File Dependency,Android Studio会打开一个对话框,你可以拖放jar库。然后点击OK按钮。

至此,Gradle将重建项目导入库并解决依赖项。


1
我看到了许多复杂的答案。当我在新版本的Android Studio中添加我的Aquery jar文件时,这使我感到困惑。
这是我所做的:
将jar文件复制并粘贴到“项目视图”下可见的libs文件夹中。
然后在build.gradle文件中加入以下行: compile files('libs/android-query.jar') 注:下载jar文件后请更改其名称。我将名称更改为android-query.jar。

0

如果你的jar库代码在GitHub上,那么使用JitPack将其导入到Android Studio中非常容易。

你只需要将该仓库添加到build.gradle中即可:

allprojects{
 repositories {
    jcenter()
    maven { url "https://jitpack.io" }
 }
}

然后将该库的 GitHub 存储库作为依赖项:

dependencies {
    // ...
    compile 'com.github.YourUsername:LibraryRepo:ReleaseTag'
}

JitPack充当了一个Maven仓库的角色,可以像Maven Central一样使用。好处是您不必手动上传jar文件。在幕后,JitPack将从GitHub检出代码并编译它。因此,它仅适用于存储库中有构建文件(build.gradle)的情况。
还有一个指南,介绍如何准备Android项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接