Android Studio 1.1.0:在库中添加jar错误

时间:2015-04-23 15:24:02

标签: java android android-studio android-gradle

我刚开始使用android studio 1.1.0,无法解决在我的项目中添加外部jar的问题。

我正在构建一个非常简单的应用程序,只要我不尝试在我的应用程序模块中添加外部jar,它就能很好地运行。我想添加的jar命名为'xstream-1.4.8.jar'。我将jar文件粘贴到我的app模块的'libs'文件夹中。然后在左侧的项目浏览器选项卡中,我右键单击'libs'部分中的'xstream-1.4.8.jar'并选择'add as library ..'选项。

现在,我的app模块的 src 文件夹中的 build.gradle 的依赖项部分显示为:

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

当我构建项目时,它构建完美,没有任何错误。但是当我尝试运行应用程序时,我收到以下错误:

事件日志显示为:

  

Gradle build在15秒内完成了1个错误

消息部分显示为:

  

信息:Gradle任务[:app:assembleDebug]:app:preBuild UP-TO-DATE   :app:preDebugBuild UP-TO-DATE:app:compileDebugNdk UP-TO-DATE   :app:checkDebugManifest:app:preReleaseBuild UP-TO-DATE   :app:prepareComAndroidSupportAppcompatV72200Library UP-TO-DATE   :app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE   :app:prepareDebugDependencies:app:compileDebugAidl UP-TO-DATE   :app:compileDebugRenderscript UP-TO-DATE:app:generateDebugBuildConfig   UP-TO-DATE:app:generateDebugAssets UP-TO-DATE:app:mergeDebugAssets   UP-TO-DATE:app:generateDebugResValues UP-TO-DATE   :app:generateDebugResources UP-TO-DATE:app:mergeDebugResources   最新消息:app:processDebugManifest UP-TO-DATE   :app:processDebugResources UP-TO-DATE:app:generateDebugSources   最新消息:app:compileDebugJava UP-TO-DATE:app:preDexDebug   意外的顶级例外情况:   com.android.dx.cf.iface.ParseException:错误的类文件魔法   (cafebabe)或版本(0034.0000)at   com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)     在   com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)     在   com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)     在   com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)     在com.android.dx.command.dexer.Main.processClass(Main.java:704)at   com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)at at   com.android.dx.command.dexer.Main.access $ 300(Main.java:83)at   com.android.dx.command.dexer.Main $ 1.processFileBytes(Main.java:602)     在   com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)     在   com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)     在   com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)     在com.android.dx.command.dexer.Main.processOne(Main.java:632)at   com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)at at   com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)at 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)...解析时   com / thoughtworks / xstream / mapper / LambdaMapper.class 1错误;中止   错误:任务':app:preDexDebug'执行失败。

     
    

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令     'C:\ Program Files \ Java \ jdk1.7.0_75 \ bin \ java.exe''已完成     非零退出值1     信息:BUILD FAILED

  

我已经尝试过多次清理项目,但这没有用。每次我尝试运行应用程序时,都会收到此错误消息。我还在eclipse中使用相同的.jar文件构建了一个普通的java项目,它运行完美,没有任何问题。我究竟做错了什么?

1 个答案:

答案 0 :(得分:0)

您必须使用 JDK 1.7 编译您的java项目(jar)。

如果使用JDK 1.8,请将目标设置为1.7

顺便说一句,您不需要在build.gradle的依赖项块中添加此行。

compile files('libs/xstream-1.4.8.jar')

这条线就足够了。

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

您可以使用:

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