Android Studio:将jar添加为库?

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

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

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

当我尝试运行该项目时,它无法编译,所以我补充说:

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

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

有谁知道我做错了什么?


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

  • 把Gson jar(在我的情况下, gson-2.2.4.jar )放到libs文件夹中
  • 右键单击它并点击“添加为库”
  • 如果你正在使用许多jar文件,确保compile files('libs/gson-2.2.4.jar')在你的build.gradle文件中(或者compile fileTree(dir: 'libs', include: '*.jar')

    编辑:在Android Studio 3.0+中使用implementation files('libs/gson-2.2.4.jar') (或implementation fileTree(dir: 'libs', include: '*.jar')

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

  • 在我完成上述四项之后,它开始正常工作。 我认为'添加为图书馆'的步骤是我以前错过的步骤,并且直到我清理它才开始工作。

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


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

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

  • build.gradle file添加以下内容,以便您的依赖项闭包具有:

    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。 在对话框的左侧面板上,选择Libraries

    4.3。 点击左侧第二个面板上方的+符号 - > Java

    菜单

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

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


  • 在项目中点击右键

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

    按照下面的截图:

    1:

    步骤1

    2:

    在这里输入图像描述

    3:

    在这里输入图像描述

    你会看到这个:

    链接地址: http://www.djcxy.com/p/29499.html

    上一篇: Android Studio: Add jar as library?

    下一篇: How do I add a library project to Android Studio?