简体   繁体   English

将jar导入Android Studio项目

[英]Importing jar into Android Studio project

Currently i'm getting this error: 目前,我收到此错误:

    UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
    at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
    at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
    at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
    at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
    at com.android.dx.command.dexer.Main.processClass(Main.java:704)
    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
    at com.android.dx.command.dexer.Main.access$300(Main.java:83)
    at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
    at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
    at com.android.dx.command.dexer.Main.processOne(Main.java:632)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
    at com.android.dx.command.dexer.Main.run(Main.java:246)
    at com.android.dx.command.dexer.Main.main(Main.java:215)
    at com.android.dx.command.Main.main(Main.java:106)
...while parsing db/DbFacade.class

1 error; aborting

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    E:\Program Files (x86)\Android\sdk\build-tools\build-tools-21.1.2\dx.bat --dex --output E:\Documents\Workspaces\AndroidStudio\Peanuts\app\build\intermediates\pre-dexed\debug\Peanuts-d65a672244db794ef4112fb86dd03a66b2b8790f.jar E:\Documents\Workspaces\AndroidStudio\Peanuts\app\libs\Peanuts.jar
Error Code:
    1
Output:

    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
        at com.android.dx.command.dexer.Main.processClass(Main.java:704)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
        at com.android.dx.command.dexer.Main.access$300(Main.java:83)
        at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        at com.android.dx.command.dexer.Main.processOne(Main.java:632)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
        at com.android.dx.command.dexer.Main.run(Main.java:246)
        at com.android.dx.command.dexer.Main.main(Main.java:215)
        at com.android.dx.command.Main.main(Main.java:106)
    ...while parsing db/DbFacade.class

    1 error; aborting

I made a directory "libs" at app/libs. 我在app / libs中创建了一个目录“ libs”。 The same level as my "build" and "src" directory. 与我的“ build”和“ src”目录处于同一级别。

Then i Copied my jar ("Peanuts.jar") into that folder. 然后,我将jar(“ Peanuts.jar”)复制到该文件夹​​中。

Next, i right clicked it and selected 'Add as library'. 接下来,我右键单击它并选择“添加为库”。

This .jar uses 2 other jars, one for json and another for mysql. 该.jar使用另外两个jar,一个用于json,另一个用于mysql。 I've created the JAR in eclipse, EXPORT > JAVA > RUNNALE JAR and checked "Extract required libraries into generated jar. 我已经在eclipse中创建了JAR,导出> JAVA> RUNNALE JAR,然后选中了“将所需的库提取到生成的jar中。

my app.iml contains: 我的app.iml包含:

    <orderEntry type="library" exported="" name="Peanuts" level="project" />

my build.gradle contains: 我的build.gradle包含:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:21.0.+'
    compile files('libs/Peanuts.jar')
}

This is because Peanuts and appcompat have some file in common. 这是因为Peanuts和appcompat具有相同的文件。 Try removing appcompat and clean and rebuild the application. 尝试删除appcompat并清理并重建应用程序。 It might work fine. 它可能工作正常。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM