首页 文章

Android Studio:将jar添加为库?

提问于
浏览
947

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

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

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

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

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

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

有谁知道我做错了什么?

30 回答

  • 12
    • 从网站下载库文件

    • 从Windows浏览器复制

    • 从Project Explorer粘贴到lib文件夹

    • Ctrl Alt Shift S打开项目结构

    • 选择“依赖关系”选项卡,使用添加文件

    • 工具栏使用按钮将项目与gradle文件同步

    这解决了我的问题 . 试试,如果有人想要更多细节,请告诉我 .

  • 2

    在项目中 right click

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

    请按照以下屏幕截图:

    1:

    2:

    3:

    你会看到这个:

  • 44

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

    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 .

  • 39

    我已经完成了 3 steps 以及它对我的工作魅力 .

    (I am using Android Studio 2.1.2)

    Step 1

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

    Step 2: 右键单击 app 文件夹 -> New -> Module

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

  • 5

    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')

  • 3

    Android Studio 2.1 我按照这种方式,

    转到应用程序 - > src-> main - > assets 文件夹(如果没有可用创建它) - >把你的JAR文件

    在build.gradle中添加依赖项,

    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文件已准备好使用 .

  • 6

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

    第一个简单方法 .

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

    然后右键单击.jar文件并单击add as a library然后选择一个模块然后确定 . 您可以在dependencies块中的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文件添加到模块,然后将此模块添加到我们想要的任何模块中 .

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

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

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

    以下是将本地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将本地jar文件识别为在IDE中编码时支持的库,您需要采取更多步骤:

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

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

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

    Menu

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

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

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

    检查Intellij's help有关向项目添加库的信息

    你最感兴趣的部分是:

    (在“文件”>“项目结构”中)打开模块设置,然后选择“依赖关系”选项卡 . 在“依赖关系”选项卡上,单击“添加”并选择“库” . 在“选择库”对话框中,选择一个或多个库,然后单击“添加所选项” .

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

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

  • 16

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

    然后在app的gradle文件中添加以下代码:

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

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

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

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

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

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

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

  • 3

    在Android Stuido中,我比如使用Gradle来管理Gson lib .

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

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

    一切都好 .

    你也可以看到这篇文章 . The best way to integrate third party library in Android studio

  • 2

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

    • 将Gson jar(在我的情况下, gson-2.2.4.jar )放入 libs 文件夹

    • 右键单击它然后按'Add as library'

    • 确保 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 步骤,这也是必要的,正如其他人指出的那样]

  • 34

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

  • 4

    使用Android Studio 3:

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

    ... myproject \ app \ libs \ myfile.jar

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

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

    这是另一个解决方案:

    转到“项目文件”视图(从下拉列表中选择“项目文件”) .

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

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

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

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

    dependencies {
    ...
        implementation files('libs/myfile.jar')
    }
    

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

    import com.xxx.xxx;
    
  • 1

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

    Step-1: 转到"Build > Edit Libraries and Dependencies..."会打开对话框"Project Structure"

    Step-2: 选择"app",然后选择"Dependencies"选项卡 . 然后选择"Add > 1 Library dependency"

    将显示 Step-3: "Choose Library Dependency"对话框,在搜索中指定"gson"并按"search button"

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

    在“项目结构”对话框中按确定 . Gradle会相应地更新您的构建脚本 .

    Hope this would help :)

  • 3

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

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

    别忘了点击“立即同步”

  • 3

    在Mac OS X上:

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

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

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

    • brew安装gradle

    • gradle -v

    • 如果不是v1.6,请升级自制程序

    • gradle clean(重建android没有用)

    这把我排除在外 .

  • 3

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

    • 打开build.gradle

    • 添加以下内容:

    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 . 最好创建一个包含我们的应用程序需要使用的jar包的文件夹'libs' .

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

    PS:我用两者

  • 1486

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

  • 107

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

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

    到您的build.gradle文件 .

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

  • 5

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

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

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

  • 5

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

    使用Android Studio 2.2.3创建的项目我只需要在 app 下创建一个 libs 目录并将我的jar放在那里 . 我用我的文件管理器做到了这一点,无需在Android Studio中点击或编辑任何内容 .

    它为什么有效?打开 Build / Edit Libraries and Dependencies ,你会看到:

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

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

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

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

  • 6

    在Android Studio中添加外部库的简单步骤如果您在项目浏览器中的Android视图中,请将其更改为项目视图,如下所示右键单击要添加外部库的所需模块,然后选择新建> Directroy并将其命名作为'libs'现在将blah_blah.jar复制到'libs'文件夹中右键单击blah_blah.jar,然后选择'Add as Library ..' . 这将自动在build.gradle中添加和输入为编译文件('libs / blah_blah.jar')并同步gradle . 您已完成请注意:如果您使用的是第三方库,那么最好使用依赖项,其中Gradle脚本会在gradle脚本运行时自动下载JAR和依赖项JAR . 例如:编译'com.google.android.gms:play-services-ads:9.4.0'了解更多关于Gradle Dependency Mangement的信息

  • 15

    1.将jar(在我的情况下,gson-2.2.4.jar)放入libs文件夹中 . 2.确保编译文件(libs / gson-2.2.4.jar)位于build.gradle文件中 . 3.现在单击“使用Gradle文件同步项目”(左侧是顶部栏上的AVD管理器按钮) .

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

  • 8

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

    我们需要添加依赖项:

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

    多数民众赞成我们也可以下载jar并将其添加为库,但最佳做法是添加Gradle依赖项 .

  • 2
    • 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,本身 .

  • 263

    第1步:现在在你的 app folder 下你应该看到 libs ,如果你没有看到, then create it .

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

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

    第4步:现在添加了 jar .

相关问题