提问者:小点点

Android Studio:添加jar作为库?


我正在尝试使用新的Android Studio,但我似乎无法让它正常工作。

我使用Gson库序列化/反序列化JSON-Objects。但库不知为何没有包含在构建中。

我创建了一个只有一个主要活动的新项目。将gson-2.2.3.jar复制到/libs文件夹中,并将其添加为库依赖项(右键单击->Add as library)。这包括android studio中的jar,因此可以从源文件中引用它。

当我试图运行这个项目时,它无法编译,所以我添加了以下内容:

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

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

有人知道我做错了什么吗?


共3个答案

匿名用户

我已经为同样的事情挣扎了很多个小时,试图让Gson jar工作得更好。我终于破解了--下面是我采取的步骤:

>

  • 将Gson jar(在我的示例中是gson-2.2.4.jar)放入libs文件夹
  • 右键单击它,然后单击“添加为库”
  • 确保编译文件('libs/gson-2.2.4.jar')build.gradle文件中(或者编译文件树(dir:'libs',include:'*.jar')(如果您正在使用许多jar文件)

    编辑:在Android Studio 3.0+中使用实现文件('libs/gson-2.2.4.jar')(或实现文件树(dir:'libs',include:'*.jar'))

    做一个干净的构建(你可能可以在Android Studio中做得很好,但是为了确保我在终端中导航到我的应用程序的根文件夹并键入gradlew clean。我在Mac OS X上,你的系统中的命令可能不同

    在我做了以上四个,它开始工作良好。我认为“添加为库”步骤是我以前错过的一个步骤,直到我清理它也没有工作。

    [编辑-添加了build.gradle步骤,这也是其他人指出的必要步骤]

  • 匿名用户

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

    >

  • 在模块目录(包含“src”目录的同一目录)的顶层创建“libs”文件夹

    build.gradle文件中添加以下内容,以便您的dependencies闭包具有:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
    

    Android Studio应该已经设置了一个gradlew包装器。从命令行导航到项目的顶层(有gradlew文件的目录)。

    运行。/gradlew assemble。这应该用库编译项目。您可能需要根据需要修复build.gradle文件中的错误。

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

    4.1.右键单击左侧面板中的模块,然后选择Open Library Settings

    4.2.在对话框的左面板上,选择

    4.3.单击面板上方左起第二个位置的+标记->;Java

    4.4.选择本地jar并将其添加到项目中。

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

  • 匿名用户

    在项目中右键单击

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

    1:

    2:

    3:

    您将看到以下内容: