关于gradle:Android Studio:将jar添加为库?

Android Studio: Add jar as library?

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

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

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

当我尝试运行该项目时,它无法编译,所以我添加:

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

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

有谁知道我做错了什么?


我已经在同样的事情上苦苦挣扎了好几个小时,试图让Gson jar继续工作。我终于破解了它 - 这是我采取的步骤:

  • 将Gson jar(在我的情况下,gson-2.2.4.jar)放入libs文件夹中
  • 右键单击它并点击"添加为库"
  • 确保compile files('libs/gson-2.2.4.jar')位于build.gradle文件中(如果使用多个jar文件,则为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'目录的同一目录)

    >
</p>
</li>
<li>
<p>
在<wyn>build.gradle file</wyn>中添加以下内容,以便您的依赖项闭包具有:
</p>
<div class=

    1
    2
    3
    4
    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

    >
</p>
<p>
4.2。在对话框的左侧面板上,选择<wyn>Libraries</wyn>。
</p>
<p>
4.3。单击左侧第二个面板上方的<wyn>+</wyn>符号 - > <wyn>Java</wyn>
</p>
<p>
<img src=

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

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


  • 在项目中右键单击

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

    按照下面的屏幕截图:

    1:

    Step 1

    2:

    enter image description here

    3:

    enter image description here

    你会看到这个:

    enter image description here


    IIRC,仅仅使用"添加为库"还不足以使用该项目进行编译。

    检查Intellij有关向项目添加库的帮助

    你最感兴趣的部分是:

    (In File > Project Structure) Open the module settings and select the Dependencies tab.

    On the Dependencies tab, click add and select Library.

    In the Choose Libraries dialog, select one or more libraries and click Add Selected.

    如果库未显示在对话框中,请将其添加到"库"设置中,位于"模块"下方。

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


    在Android Stuido中,我喜欢使用Gradle来管理Gson lib。

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

    1
    2
    3
    repositories {mavenCentral()}

    dependencies {compile 'com.google.code.gson:gson:2.2.4'}

    一切都好。

    你也可以看到这篇文章。
    在Android工作室中集成第三方库的最佳方式


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

    文件>新模块......

    下一个屏幕看起来很奇怪,就像你正在选择一些小部件或东西但保留它
    在第一张图片和下面滚动并找到"导入JAR或.AAR包"

    然后从文件菜单中取Project Structure。从打开的窗口中选择app然后选择dependencies,然后按green plus button,选择module dependency然后选择您导入的模块然后按OK


    Easy steps to add external library in Android Studio

  • If you are in Android View in project explorer, change it to Project view as below
  • enter image description here

  • Right click the desired module where you would like to add the external library, then select New > Directroy and name it as
    'libs'
  • Now copy the blah_blah.jar into the 'libs' folder
  • Right click the blah_blah.jar, Then select 'Add as Library..'. This will automatically add and entry in build.gradle as compile
    files('libs/blah_blah.jar') and sync the gradle. And you are done
  • Please Note : If you are using 3rd party libraries then it is better to use dependencies where Gradle script
    automatically downloads the JAR and the dependency JAR when gradle
    script run.

    Ex : compile 'com.google.android.gms:play-services-ads:9.4.0'

    Read more about Gradle Dependency Mangement


    '编译文件......'曾经为我工作,但不再是。经过多次痛苦,我发现使用它可以起作用:

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

    我不知道为什么会有所作为,但是,至少该死的东西现在正在发挥作用。


    我通过在build.gradle中添加一行来实现它:

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

    不要忘记点击右上角的"立即同步"。

    我正在使用Android Studio 1.0.1。


  • 从网站下载库文件
  • 从Windows浏览器复制
  • 从Project Explorer粘贴到lib文件夹
  • Ctrl + Alt + Shift + S打开项目结构
  • 选择Dependencies选项卡,使用+添加文件
  • 工具栏使用按钮将项目与gradle文件同步
  • 这解决了我的问题。试试,如果有人想要更多细节,请告诉我。


    我发现Android Studio的Dependency Manager非常方便且功能强大,可用于管理第三方依赖项(如此处提到的gson)。提供适用于我的分步指南(注意:这些步骤在Windows平台上针对Android Studio 1.6和以后的版本进行了测试)。

    步骤1:
    转到"构建>编辑库和依赖关系..."它将打开对话框"项目结构"

    enter image description here

    第2步:
    选择"app",然后选择"Dependencies"选项卡。然后选择"添加> 1库依赖项"

    enter image description here

    步骤3:
    将显示"选择库依赖关系"对话框,在搜索中指定"gson"并按"搜索按钮"

    enter image description here

    第4步:
    所需的依赖项将显示在搜索列表中,选择com.google.code.gson:gson:2.7(这是我写答案时的最新版本),按OK

    enter image description here

    在"项目结构"对话框中按 Gradle会相应地更新您的构建脚本。

    enter image description here

    希望这会有所帮助:)


    1. Put the jar (in my case, gson-2.2.4.jar) into the libs folder.

    2. Ensure that compile files (libs/gson-2.2.4.jar) is in your build.gradle file.

    3. Now Click on the"Sync Project with Gradle files"(Left to AVD manager Button on the topbar).

    在我完成上述三项工作后,它开始正常工作。


    您可以使用两个选项执行此操作。

    第一个简单方法。

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

    然后右键单击.jar文件并单击add as a library然后选择一个模块然后
    您可以在dependencies块中的build.gradle文件中看到.jar文件。

    1
    2
    3
    4
    5
    6
     dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.android.support:appcompat-v7:21.0.3'
            implementation project(':okhttp-2.0.0')
            implementation 'com.google.code.gson:gson:2.3.1'
        }

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

    导入模块--->选择你的.jar文件 - >导入为.jar -
    enter image description here

    然后CTRL + ALT + SHIFT + S - >项目sturure - >选择你想要的模块添加一个jar - > Dependencendies - > Module Dependency。模块的build.gradle将自动更新。
    enter image description here


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

    1
    2
    3
    4
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.google.code.gson:gson:2.3.1'
    }

    别忘了点击"立即同步"


    我已经完成了3个步骤以及它的工作魅力。

    (我使用的是Android Studio 2.1.2)

    enter image description here

    步骤1

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

    enter image description here

    第2步:
    右键单击app文件夹 - >新建 - >模块

    enter image description here

    第3步:单击Import JAR / .AAR Package然后浏览您的包。举个例子:OkHttp.jar

    enter image description here


    .jar文件放在Android项目的libs文件夹中。

    然后在应用程序的gradle文件中添加以下代码:

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

    对于Android gradle插件3.0及更高版本,最好使用此代码:

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

    与Eclipse不同,我们不需要下载jar并将其放在/ libs文件夹中。 Gradle处理这些事情我们只需要添加Gradle依赖项,Gradle下载它并放入gradle缓存中。

    我们需要添加依赖项:

    依赖关系{implementation'command.google.code.gson:gson:2.2.4'}

    而已
    但是我们也可以下载jar&amp;将其添加为库,但最佳做法是添加Gradle依赖项。


    使用Android Studio 3+:

    您应该只需将jar文件复制到app文件夹下的libs文件夹即可。

    ... myproject app libs myfile.jar

    然后从"项目"窗口的下拉列表中选择"项目文件",右键单击项目,选择"同步"以在"项目文件"中查看该文件。它会自动在gradle文件中添加依赖项(Module:app)。

    1
    2
    3
    dependencies {
    ...
        implementation files('libs/myfile.jar')

    这是另一个解决方案:

    转到"项目文件"视图(从下拉列表中选择"项目文件")。

    enter image description here

    选择New ... Directory,在app下创建一个名为libs的文件夹。

    enter image description here

    打开文件资源管理器,将jar文件复制并粘贴到libs文件夹中。

    在Android Studio中,右键单击jar文件,然后从弹出菜单中选择Add as a Library ....

    enter image description here

    您应该在gradle文件中看到依赖项列表中列出的文件:

    1
    2
    3
    4
    dependencies {
    ...
        implementation files('libs/myfile.jar')
    }

    打开你的java文件,然后在那里添加import语句:

    1
    import com.xxx.xxx;

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


    第1步:现在在你的app folder下你应该看到libs,如果你没有看到它,那么创建它。

    第2步:Drag & Drop the .jar file here,您可能会收到提示"This file does not belong to the project",只需单击OK按钮。

    第3步:现在您应该在libs文件夹下看到jar文件,右键单击jar文件并选择"Add as library", Click OK for prompt"Create Library"

    第4步:现在添加了这个罐子。

    enter image description here


    我已经阅读了这里的所有答案,它们似乎都涵盖了旧版本的Android Studio!

    使用Android Studio 2.2.3创建的项目,我只需要在app下创建一个libs目录并将我的jar放在那里。
    我是通过我的文件管理器完成的,无需在Android Studio中单击或编辑任何内容。

    为什么会这样?打开构建/编辑库和依赖项,您将看到:

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

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

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

    2:打开模块设置,转到依赖关系,在左下角有一个加号按钮。单击加号按钮,然后选择"文件依赖关系"。这里你可以看到你的jar文件。选择它并解决它。


    创建一个文件夹库。添加.jar文件。右键单击它,你会发现添加jar作为依赖。点击它。这就是你需要做的一切。
    您可以找到添加到build.gradle文件的依赖项。


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

    2)将您的jar文件复制到此'your_libs'文件夹中

    3)在Android Studio中,转到文件 - >项目结构 - >依赖项 - >添加 - >文件依赖项并导航到您的jar文件,该文件应位于'src / your_libs'下

    3)选择您的jar文件并单击"确定"

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


    在Mac OS X上:

  • 添加jar作为库(将jar拖到libs,右键单击add as lib)

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

  • 安装gradle v1.6(使用自制程序)

    • brew安装gradle
    • gradle -v
    • 如果不是v1.6,升级自制程序
  • gradle clean(重建android没有用)

  • 这把我排除在外。


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

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

    将库jar添加到libs文件夹 - >右键单击库 - >单击添加为库 - >它会询问您要添加项目的项目 - >选择项目 - >单击确定
    以下行自动添加到build.gradle

    1
    implementation files('libs/android-query.jar')

    这样做对我来说。没有必要了。我已经为android aquery展示了另一个用于android的第三方库。


  • 添加了app级别的libs文件夹。
  • 添加了此项目中的所有jars
  • 接下来,选择libs文件夹中的所有jar,
  • 右键单击所选项目,然后说add library
  • 然后你会在项目资源管理器中找到jars扩展选项。
  • 我观察到CTRL + ALT + SHIFT + S - >项目结构 - > app-module - > Dependencies"最初在compile-option下已经有一个(dir: 'libs', include: '*.jar')条目。并且按照所述步骤添加jar后上面,build.gradle获得了新添加的jar的条目。


    在Android Studio 2.1中我按照这种方式,

    转到应用程序 - > src-> main - > assets文件夹(如果不可用则创建它) - >放入你的JAR文件

    enter image description here

    在build.gradle中添加依赖项,

    1
    2
    3
    4
    implementation files('src/main/assets/jsoup.jar')
    implementation files('src/main/assets/org-apache-xmlrpc.jar')
    implementation files('src/main/assets/org.apache.commons.httpclient.jar')
    implementation files('src/main/assets/ws-commons-util-1.0.2.jar')

    立即同步。
    现在您的JAR文件已准备好使用。


    像之前指出的许多人一样,你要加上

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

    到您的build.gradle文件。

    但是我在Android Studio中有一个从Eclipse迁移的项目,在这种情况下,"libs"文件夹名为"lib",所以对我来说删除"s"解决了这个问题。


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

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

    1
    2
    3
    4
    5
    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)告诉编译器查看文件夹libs下的任何jar。创建这样一个文件夹'libs'是一个很好的做法,它将包含我们的应用程序需要使用的jar包。

  • 但这也将允许支持Maven依赖。 compile 'com.google.code.gson:gson:2.3'(如@saneryee所述)是另一种推荐的方法来添加中央远程存储库中的依赖项,而不是我们的/ libs"本地存储库"。它基本上告诉gradle查找该软件包的那个版本,它告诉编译器在编译项目时考虑它(在类路径中有它)

    PS:我同时使用两者


    compile fileTree(dir: 'libs', include: '*.jar')工作正常但compile files(...)已经使用Studio Beta 0.8.1进行了测试


    做这个 :

    在应用程序文件夹下创建libs文件夹。
    将.jar文件添加到libs文件夹。
    然后将.jar文件添加到app的build.gradle依赖项中。
    最后使用Gradle文件同步项目。


    我不知道为什么但是当我尝试使用Gradle实现这些解决方案时,我的Android Studio 0.8.14会变得疯狂。我承认我对这个伟大的构建工具知之甚少,但是Studio为什么会破坏我的项目?我设法让它以这种方式工作:将android-support-v13.jar放入'libs'目录,然后将F4放入我的项目并添加File dependency,我指向android-support-v13.jar。


    在我的情况下,添加的库错过了一些依赖项,但不幸的是Android Studio(0.8.14)将此作为一个秘密。

    没有必要手动配置任何东西!我刚刚添加了缺少的库,并在app build.gradle文件中使用了默认的依赖项配置,就像这样

    1
    2
    3
    4
    dependencies {
        compile 'com.google.code.gson:gson:2.+'
        compile fileTree(dir: 'libs', include: ['*.jar'])
    }