在Android studio 0.3.6中添加外部库

时间:2013-11-27 11:53:20

标签: java android android-studio gradle android-gradle

所以我对Java很新,我正在尝试将this库添加到我的项目中。问题是Android studio 0.3.6没有这么简单的方法,我搜索的所有答案都引用了旧版本的Android Studio,或描述了如何导入外部项目(源代码,而不是jar文件)

在阅读了一点之后,我得出的结论是手动添加jar文件将是最好的方法(手动复制/粘贴和gradle编辑)但正如我所说,我对这项技术还不熟悉而且没有知道放置文件的位置以及我需要添加到gradle文件的行。

有人可以帮助我吗?

更新1
我终于让IDE识别出.jar文件(我得到了自动完成和类识别)。新问题是我在编译时遇到以下错误:Gradle: package com.google.gson does not exist。以下是我导入库的步骤:

  1. 在主目录中创建一个名为libs的文件夹(src / main / libs应该是结果)
  2. 复制该目录中的.jar文件
  3. 将以下行添加到项目的build.gradle文件中的dependencies部分:compile files('libs/gson-2.2.4.jar')。现在应该看起来像这样:

    依赖{ 编译'com.android.support:support-v13:+' 编译文件('libs / gson-2.2.4.jar') }

  4. 重新编译项目(如果有必要,不确定,但我做了)
  5. 右键单击libs文件夹并选择“Add as Library”

6 个答案:

答案 0 :(得分:53)

由于GSON库在MavenCentral中可用,因此可以轻松添加它,以避免必须下载存档文件并将其保存在项目中。

转到项目结构> 模块> 您的模块名称> 依赖项并单击+按钮添加新的依赖项。从列表中选择 Maven依赖

Adding a Maven dependency

您将看到一个对话框,您可以在其中输入搜索词或完全限定的Maven坐标字符串。由于GSON是Android开发人员使用的通用库,因此在此对话框中实际给出了它作为示例,具有完全限定名称。您可以输入:

Adding GSON dependency

在两个对话框上点击确定,你应该很高兴。

使用这些Maven依赖项,构建系统将自动下载库并缓存它(如果尚未这样做的话);它会照顾你。

如果您有一个MavenCentral上没有的库,您可以将存档保存在项目的libs文件夹中,并从该模块依赖项对话框添加文件依赖项而不是 Maven依赖来处理它。

如果您手动编辑build.gradle文件,则需要单击工具栏中的“使用Gradle文件同步项目”按钮以强制Android Studio获取更改并更新项目。如果您浏览“项目结构”对话框,那就没必要了。

Stack Overflow中存在许多相互矛盾的答案,因为在实现必要功能时,此功能不断变化;它以前真的被打破了。这些指令适用于0.3.6,在0.3.7及更高版本中,事情会变得更容易。

答案 1 :(得分:7)

我有同样的问题。新版本的Android Studio(0.3.6)删除了一些必要的功能,可以使用IDE将现有库添加到项目中。所以你必须手动完成。

将库添加到构建文件夹“< project> \ App \ build \ libs \”将在“menu> build> clear project / rebuild project”中打破项目。

更新解决方案
我的解决方案是在“< project> \< app name> \ src \ main \ libs \”中生成一个新文件夹,并在此处添加库。现在,您必须通过添加以下内容来更改“< project> \< app name> \ build.gradle”(我的示例显示了android-support库的值:

   dependencies {
       compile 'com.android.support:support-v4:13.0.0'
       compile 'com.android.support:support-v13:13.0.0'
       compile files('libs/gson-2.2.4.jar')
   }

现在通过右键单击选择“项目视图”中的库,然后选择“添加为库...>级别>全局库”。这将解决import com.google.gson.Gson;问题。

也许你仍然无法建立。在这种情况下,您应检查项目模块设置,并查看Gson依赖项是否存在错误。我让Android Studio通过在模块设置对话框的右下角点击“小红灯泡图标>添加依赖项”来解决此问题。现在它不再显示我在构建时没有错误。

现在我们只剩下一个问题:项目确实在项目关闭时丢失了库引用。所以我们必须再次打开库。也许这是Android Studio 0.3.6的一个问题。马里奥提交了bug report

BTW:我赞成这个问题是因为我没有成功搜索互联网上的工作解决方案。我认为初学者在被迫处理支持库时,总是无法使用Google的Android开发人员教程。

更新/推荐

不幸的是我没有让AS 0.3.6正常工作。存在许多问题 - 至少在添加具有不同命名空间的另一个模块时。所以我切换到原始IDE:IntelliJ IDEA 12社区版。它是免费的,适合我。我在2小时内完成了所有这些工作,需要使用破解的Android Studio。我不知道是什么迫使谷歌基于IntelliJ IDEA构建自己的IDE而没有额外的好处/明显的功能,当后者像魅力一样。

答案 2 :(得分:4)

运行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')
}

我发布了同样的内容 importing jar libraries into android-studio 在这里放一个副本,以防你偶然发现这篇文章

答案 3 :(得分:1)

单击ProjectName-> Libs文件夹。将该jar文件粘贴到该文件夹​​中。 只需刷新项目。你已经完成了。

答案 4 :(得分:1)

使用Android Studio 0.8.2,我必须执行以下操作(假设您尝试添加的库名为MyExternalLib):

  1. 在硬盘上的“app / libs”文件夹中,创建一个子文件夹“MyExternalLib”,并将外部库复制到该文件夹​​中。
  2. 在名为“dependencies”的块中的“app / build.gradle”文件中,添加行compile project('libs:MyExternalLib')
  3. 在“settings.gradle”文件中,添加第include ':app:libs:MyExternalLib'
  4. 点击“使用Gradle文件同步项目”按钮

答案 5 :(得分:1)

创建新的库模块

将您可以在库模块内的其他应用程序中重复使用的功能分组是一种很好的开发实践。要在BuildSystemExample项目中创建库模块:

Click File and select New Module.
On the window that appears, select Android Library and click Next.
Leave the default module name (lib) unchanged and click Next.
Select Blank Activity and click Next.
Type "LibActivity1" on the Activity Name field and click Finish.

该项目现在包含两个模块app和lib,每个模块中有一个活动。 https://developer.android.com/sdk/installing/studio-build.html