Android Studio:添加jar作为库?

我试图使用新的Android Studio,但我似乎无法得到它正常工作。

我正在使用Gson库来序列化/反序列化JSON对象。 但该库不知何故不包括在构build。

只用一个MainActivity创build了一个新项目。 复制/ libs文件夹中的gson-2.2.3.jar并将其添加为库(右键单击 – >添加为库)。 这包括android studio中的jar,所以它可以从源文件中引用。

当我尝试运行该项目,它不能编译,所以我补充说:

compile files('libs/gson-2.2.3.jar') 

到.gradle文件中的依赖关系。 之后,它编译正确,但在运行应用程序时,我得到一个ClassDefNotFoundException

有谁知道我在做什么错?

我一直在努力争取同样的事情好几个小时,试图让Gson jar工作不下。 我终于破解了 – 这是我采取的步骤:

  1. 把Gson jar(在我的情况下, gson-2.2.4.jar )放到libs文件夹中
  2. 右键点击它,然后点击“添加为库”
  3. 确保compile files('libs/gson-2.2.4.jar')在你的build.gradle文件(或者compile fileTree(dir: 'libs', include: '*.jar')
  4. 做一个干净的版本(你可以在Android Studio中做到这一点,但要确保我在terminal导航到我的应用程序的根文件夹并inputgradlew clean 。我在Mac OS X上,该命令可能会不同你的系统

我做了以上四个,开始工作正常。 我认为“添加为图书馆”的步骤是我以前错过的步骤,直到我清理它才能工作。

[编辑 – 添加了其他人指出的build.gradle步骤]

以下是将本地jar文件作为库添加到模块的说明:

  1. 在模块目录(包含'src'目录的同一目录)的顶层创build一个'libs'文件夹,

  2. build.gradle file添加以下内容,以便您的依赖closures具有:

     dependencies { // ... other dependencies compile files('libs/<your jar's name here>') } 
  3. Android Studio应该已经设置了一个gradlew包装器。 从命令行导航到项目的顶层(具有gradlew文件的目录)。

    运行./gradlew assemble 。 这应该与图书馆编译项目。 您可能需要修复build.gradle文件中的错误。

  4. 为了使Android Studio在IDE中进行编码时将本地jar文件识别为支持库,您需要执行以下几个步骤:

    4.1。 右键单击左侧面板中的模块,然后selectOpen Library Settings

    4.2。 在对话框的左侧面板上,selectLibraries

    4.3。 点击面板上方的+符号,从左侧开始 – > Java

    菜单

    4.4。 select你的本地jar并将其添加到项目中。

  5. 您可能需要再次运行上述./gradlew命令

在项目中点击右键

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

按照下面的截图:

1:

步骤1

2:

在这里输入图像描述

3:

在这里输入图像描述

你会看到这个:

在这里输入图像描述

在Android Stuido中,我喜欢使用Gradle来pipe理Gson库。

在build.gradle文件中添加下面的依赖项。

 repositories {mavenCentral()} dependencies {compile 'com.google.code.gson:gson:2.2.4'} 

一切都好。

你也可以看到这个post。 在Android Studio中集成第三方库的最佳方式

IIRC,只需使用“添加为库”就不足以与项目一起编译。

查看Intellij有关将库添加到项目的帮助

最应该感兴趣的部分是:

(在“ File > Project Structure )打开模块设置,然后select“依赖关系”选项卡。

在依赖关系选项卡上,单击添加并select库。

在“select库”对话框中,select一个或多个库,然后单击“添加所选内容”。

如果库没有显示在对话框中,请将其添加到“库”设置中,在“模块”下面。

您不需要再添加compile files() ,并且应该将库正确添加到您的项目中。

所有这些解决scheme都过时了。 现在在Android Studio中非常简单:

文件>新build模块…

下一个屏幕看起来很奇怪,就像你正在select一些小部件或者其他东西,但保持它在第一张图片上,然后滚动并find“导入JAR或.AAR包”

然后从文件菜单中selectProject Structure从打开的窗口中selectapp ,然后selectdependencies ,然后按green plus button ,selectmodule dependency然后select您导入的模块,然后按OK

“编译文件…”曾经为我工作,但不再。 经过很多痛苦之后,我发现使用这个而不是工作:

compile fileTree(dir: 'libs', include: '*.jar')

我不知道为什么会有所作为,但至less该死的东西现在正在工作。

Android Studio中轻松添加外部库

  1. 如果您在项目浏览器中的Android视图中,请将其更改为项目视图,如下所示

在这里输入图像描述

  1. 右键单击想要添加外部库的模块,然后selectNew> Directroy并将其命名为“ libs
  2. 现在将blah_blah.jar复制到“ libs ”文件夹中
  3. 右键单击blah_blah.jar,然后select“ 添加为库 ”。 这会自动添加和inputbuild.gradle作为编译文件('libs / blah_blah.jar')并同步gradle。 你完成了

请注意:如果您正在使用第三方库,那么最好使用依赖关系 ,Gradle脚本在Gradle脚本运行时自动下载JAR和依赖关系JAR。

例如:编译“com.google.android.gms:play-services-ads:9.4.0”

阅读更多关于Gradle Dependency Mangement的信息

  1. 从网站下载库文件
  2. 从窗口复制探索
  3. 从工程资源pipe理器粘贴到lib文件夹
  4. Ctrl + Alt + Shift + S打开项目结构
  5. selectDependencies选项卡,使用+添加文件
  6. 工具栏使用button同步项目与gradle文件

这解决了我的问题。 试试,如果有人想要更多的细节让我知道。

我通过添加一行build.gradle来实现它的工作:

  dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this compile 'com.google.code.gson:gson:2.3.1' ----------> I added this one } 

不要忘记点击右上angular的“立即同步”。

我正在使用Android Studio 1.0.1。

把jar(在我的情况下, gson-2.2.4.jar )放到libs文件夹中。

2.确保编译文件( libs/gson-2.2.4.jar )在您的build.gradle文件中。

3.现在单击“与Gradle文件同步项目”(左上方的AVDpipe理器button)。

我做了以上三个,开始工作正常。

我发现Android Studio的依赖关系pipe理器非常方便和强大的pipe理第三方依赖(如这里提到的gson)。 提供一步一步的指导,为我工作(注意:这些步骤是testingAndroid Studio 1.6和Windows平台上的前进版本)。

第一步:转到“编译>编辑库和依赖项…”,打开对话框“项目结构”

在这里输入图像描述

第二步:select“应用程序”,然后select“依赖关系”选项卡。 然后select“Add> 1 Library dependency”

在这里输入图像描述

第三步:显示 “Choose Library Dependency”对话框,在search中指定“gson”,按“searchbutton”

在这里输入图像描述

第4步:所需的依赖关系将显示在search列表中,selectcom.google.code.gson:gson:2.7(这是我写答案时的最新版本),按OK

在这里输入图像描述

在“项目结构”对话框中按OK。 Gradle会相应地更新你的构build脚本。

在这里输入图像描述

希望这会帮助:)

下载并复制libs文件夹中的.jar文件,然后将这些行添加到build.gradle:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.code.gson:gson:2.3.1' } 

不要忘了点击“立即同步”

Android Studio 1.1.0

不像Eclipse,我们不需要下载jar并把它放在/ libs文件夹中。 Gradle处理这些事情,我们只需要添加Gradle依赖,Gradle就可以下载并放入Gradlecaching。

我们需要添加依赖关系:

dependencies {compile'c​​om.google.code.gson:gson:2.2.4'}

多数民众赞成但是,我们也可以下载jar和添加为库,但最好的做法是添加Gradle的依赖关系。

你可以用两个选项来做到这一点。

第一个简单的方法

将.jar文件复制到剪贴板,然后将其添加到libs文件夹。 要查看项目中的libs文件夹,请从文件夹上方的combobox中select项目。

然后右键单击.jar文件,然后单击添加为库,然后select一个模块,然后确定。 您可以在依赖关系块中的build.gradle文件中看到.jar文件。

  dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile project(':okhttp-2.0.0') compile 'com.google.code.gson:gson:2.3.1' } 

第二种方法是:通过将.jar文件导入为.jar模块,然后将此模块添加到我们想要的任何模块,可以将.jar文件添加到模块。

导入模块—>select你的.jar文件 – >导入为.jar – 在这里输入图像描述

然后CTRL + ALT + SHIFT + S – >项目结构 – >select你想要的模块添加一个jar – > Dependencendies – > Module Dependency。 build.gradle模块会自动更新。 在这里输入图像描述

只需将.jar文件放在Android项目的libs文件夹中即可。

compile fileTree(dir: 'libs', include: ['*.jar'])

剩下的就是应用程序中的这段代码。

Happy Coding :)

我已经完成了3步以上,为我的工作魅力。

(我正在使用Android Studio 2.1.2)

在这里输入图像描述

步骤1

  • build.gradle(Module:app)下添加你的jar包名称 (例如compile 'com.squareup.okhttp3:okhttp:3.3.1' )到gradle构build脚本中。

在这里输入图像描述

第2步:右键单击应用程序文件夹– >新build – >模块

在这里输入图像描述

第3步:点击导入JAR / .AAR包然后浏览你的包。 作为例子: OkHttp.jar

在这里输入图像描述

 menu File -> project struct -> module select "app" -> dependencies tab -> + button -> File dependency -> PATH/myfile.jar 

创build一个文件夹库。 添加您的.jar文件。 右键点击它,你会发现添加jar作为依赖。 点击它。 它的所有你需要做的。 你可以find添加到你的build.gradle文件的依赖项。

1)在Project / app / src文件夹中创build一个'your_libs'文件夹。

2)将你的jar文件复制到这个'your_libs'文件夹中

3)在Android Studio中,进入文件 – >项目结构 – >依赖项 – >添加 – >文件依赖项,并导航到你的jar文件,该文件应该在'src / your_libs'

3)select你的jar文件,然后点击“确定”

然后你可以看到你的build.gradle是这样的:编译文件('src / your_libs / your.jar')

在Android Studio 1.1.0。 我通过以下步骤解决了这个问题:

1:将jar文件放入libs目录。 (在Finder中)

2:打开模块设置,进入依赖关系,在左下angular有一个加号button。 点击加号button,然后select“文件依赖”。在这里你可以看到你的jar文件。 select它,它已经解决了。

第1步:现在在你的app folder你应该看到libs ,如果你没有看到它, 然后创build它

第二步: Drag & Drop the .jar file here ,你可能会得到一个提示"This file does not belong to the project" ,只需点击OKbutton即可。

第三步:现在你应该看到libs文件夹下jar文件 ,右键点击jar文件,select"Add as library", Click OK for prompt "Create Library"

第4步:现在这个jar子已经添加。

在这里输入图像描述

在Mac OS X上:

  1. 将jar添加为库(将jar拖动到libs,右键单击添加为lib)

  2. 将编译语句添加到build.grade

  3. 安装gradle v1.6 (使用自制软件)

    • 酿造安装gradle
    • gradle -v
    • 如果不是v1.6,升级自制软件
  4. gradle干净(重buildandroid没有工作)

这把我整理出来了。

像之前许多人指出的,你应该补充

 compile files('libs/gson-2.2.3.jar') 

到你的build.gradle文件。

不过,我在Android Studio中有一个从Eclipse迁移的项目,在这种情况下,“libs”文件夹被命名为“lib”,因此删除“s”解决了问题。

compile fileTree(dir: 'libs', include: '*.jar')工作正常,但没有compile files(...)已经过Studio Beta 0.8.1testing

我的答案基本上是收集上面提供的一些正确但不完整的答案。

  1. 打开build.gradle
  2. 添加以下内容:

     dependencies { compile 'com.android.support:appcompat-v7:19.+' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.code.gson:gson:2.3' } 

    这将允许支持两种不同的添加依赖的方式。 compile fileTree(dir: 'libs', include: ['*.jar']) (如@Binod提到的)告诉编译器查看任何jar的文件夹库。 创build这样一个文件夹“libs”是一个很好的做法,它将包含我们的应用程序需要使用的jar包。

但是这也将允许支持Maven依赖。 编译'com.google.code.gson:gson:2.3' (如@saneryee所提到的),另一种推荐的方式是添加中央远程仓库中的依赖项,而不是在我们的/ libs“本地仓库”中。 它基本上是告诉gradle寻找那个版本的包,它告诉编译器在编译项目时考虑它(把它放在类path中)

PS:我都用

对于较新的Android 1.0.2,您的build.gradle文件中已经存在以下内容

编译fileTree(包括:['* .jar'],dir:'libs')

将库jar添加到libs文件夹 – >右键单击库 – >单击添加为库 – >它会要求您为项目添加它 – >select您的项目 – >单击确定下面一行是自动添加构build.gradle

编译文件('libs / android-query.jar')

这是为我做的。 没有什么是必需的。 我已经显示这个android aquery另一个android的第三方库。

  1. 在“app”级别添加“libs”文件夹。
  2. 在这个项目中添加了所有的“jar子”。
  3. 接下来,选中“libs”文件夹中的所有jar文件,
  4. 右键单击所选项目,并说“添加库”
  5. 那么你会在项目浏览器中findjar扩展选项。

在“CTRL + ALT + SHIFT + S – >项目结构 – >应用程序模块 – >依赖关系”中已经有一个条目为“(dir:'libs',include:'* .jar')”编译选项“,最初。 按照上述步骤添加jar之后,“build.gradle”获得新添加jar的条目,本身。

Android Studio 2.1中,我遵循这种方式,

转到应用程序 – > src->主 – > 资产文件夹(如果不可用创build它) – >把你的JAR文件

在这里输入图像描述

在你的build.gradle中添加这样的依赖,

 compile files('src/main/assets/jsoup.jar') compile files('src/main/assets/org-apache-xmlrpc.jar') compile files('src/main/assets/org.apache.commons.httpclient.jar') compile files('src/main/assets/ws-commons-util-1.0.2.jar') 

现在同步。 现在你的JAR文件就可以使用了。

我已阅读所有答案,他们似乎都涵盖旧版本的Android Studio!

有了使用Android Studio 2.2.3创build的项目,我只需要在app下创build一个libs目录,并将我的jar放在那里。 我用我的文件pipe理器做了这个,不需要在Android Studio中点击或编辑任何东西。

为什么它的作品? 打开构build/编辑库和依赖关系 ,你会看到:

 {include=[*.jar], dir=libs}