无法添加XStream的文件依赖到Android Studio项目 [英] Can't add XStream file dependency to Android Studio project

查看:1551
本文介绍了无法添加XStream的文件依赖到Android Studio项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经下载并添加的XStream-1.4.8.jar 来我的Andr​​oid Studio项目。当我建立这个项目它工作正常,但是当我尝试运行它,我得到以下错误从摇篮构建窗口:

 信息:摇篮任务[:应用:assembleDebug]
:应用程序:preBuild UP-TO-DATE
:应用程序:preDebugBuild UP-TO-DATE
:应用:compileDebugNdk UP-TO-DATE
:应用:checkDebugManifest
:应用程序:preReleaseBuild UP-TO-DATE
:应用程序:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:应用程序:prepareComAndroidSupportSupportV42103Library UP-TO-DATE
:应用程序:prepareDebugDependencies
:应用:compileDebugAidl UP-TO-DATE
:应用:compileDebugRenderscript UP-TO-DATE
:应用:generateDebugBuildConfig UP-TO-DATE
:应用:generateDebugAssets UP-TO-DATE
:应用:mergeDebugAssets UP-TO-DATE
:应用:generateDebugResValues​​ UP-TO-DATE
:应用:generateDebugResources UP-TO-DATE
:应用:mergeDebugResources UP-TO-DATE
:应用:processDebugManifest UP-TO-DATE
:应用:processDebugResources UP-TO-DATE
:应用:generateDebugSources UP-TO-DATE
:应用:compileDebugJava UP-TO-DATE
:应用程序:preDexDebug
意外的顶级例外:
com.android.dx.cf.iface.ParseException:糟糕的类文件魔术(cafebabe)或版本(0034.0000)
    在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)
    在com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
    在com.android.dx.command.dexer.Main.access $ 300(Main.java:83)
    在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)
    在com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
    在com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
    在com.android.dx.command.dexer.Main.run(Main.java:246)
    在com.android.dx.command.dexer.Main.main(Main.java:215)
    在com.android.dx.command.Main.main(Main.java:106)
...在分析COM / ThoughtWorks的/ XStream的/映射器/ LambdaMapper.class
1错误;中止
错误:执行失败的任务:应用程序:preDexDebug。


  

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:过程'命令'C:\\ Program Files文件\\的Java \\ jdk1.8.0_25 \\斌\\ java.exe的'完成非零退出值1
  资料:构建失败
  信息:总时间:14.974秒
  信息:1错误
  信息:0警告
  信息:查看控制台完成输出


我已经看过了相关解答就到这里,没有建议的解决方案,为我工作。

先谢谢了。


解决方案

的XStream 1.4.8 编译为的Java 8 和Android支持最新的版本是 Java 7的

一个解决方案是使用的XStream 1.4.7 ,这与Android的作品,另有下载的XStream 1.4.8 源和自己编译它们。在这种情况下,你将不得不删除 LambdaMapper.java 及其他一些问题的课程。

你也可以有使用不同版本的 xmlpull 解析器的问题。在这种情况下,您可以排除一个来自编译。

 编译('com.thoughtworks.xstream:XStream的:1.4.7'){
    排除组:xmlpull',模块:'xmlpull
}

I have downloaded and added xstream-1.4.8.jar to my Android Studio project. When I build the project it works fine but when I try to run it I get the following error from the Gradle Build window:

Information:Gradle tasks [: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:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42103Library 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 UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava UP-TO-DATE
:app:preDexDebug
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 com/thoughtworks/xstream/mapper/LambdaMapper.class
1 error; aborting
Error:Execution failed for task ':app:preDexDebug'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_25\bin\java.exe'' finished with non-zero exit value 1 Information:BUILD FAILED Information:Total time: 14.974 secs Information:1 error Information:0 warnings Information:See complete output in console

I have looked at the related answers on here and none of the suggested solutions work for me.

Thanks in advance.

解决方案

XStream 1.4.8 is compiled for Java 8 and the latest version Android supports is Java 7.

One solution is to use XStream 1.4.7, that works with Android, and another to download XStream 1.4.8 sources and compile them yourself. In that case you will have to remove LambdaMapper.java and possibly some other problematic classes.

Also you can have issues with different versions of xmlpull parser used. In that case you can exclude one from compiling.

compile('com.thoughtworks.xstream:xstream:1.4.7') {
    exclude group: 'xmlpull', module: 'xmlpull'
}

这篇关于无法添加XStream的文件依赖到Android Studio项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆