Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓工作室。无法正确包含外部库_Android_Jar_Compiler Errors_Android Studio - Fatal编程技术网

Android 安卓工作室。无法正确包含外部库

Android 安卓工作室。无法正确包含外部库,android,jar,compiler-errors,android-studio,Android,Jar,Compiler Errors,Android Studio,我正在尝试添加到类路径外部库。我的方法是:文件->项目结构->依赖项选项卡->添加文件依赖项。对吗?Maven的库列表没有Xstream。如果我单击Addmoduledependency,列表将为空 我所需要的只是向类路径添加3个jar文件——xstream1.4.7.jar、xmlpull-1.1.3.1.jar和xpp3_min-1.1.4c。所以我像以前写的那样做了。问题是,在这之后,我可以包括这个图书馆,一切似乎都好。但在运行项目后,出现了一个错误: Error:Executio

我正在尝试添加到类路径外部库。我的方法是:文件->项目结构->依赖项选项卡->添加文件依赖项。对吗?Maven的库列表没有Xstream。如果我单击Addmoduledependency,列表将为空

我所需要的只是向类路径添加3个jar文件——xstream1.4.7.jar、xmlpull-1.1.3.1.jar和xpp3_min-1.1.4c。所以我像以前写的那样做了。问题是,在这之后,我可以包括这个图书馆,一切似乎都好。但在运行项目后,出现了一个错误:

    Error:Execution failed for task ':gridview:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    D:\adt-bundle-windows-x86_64-20140321\sdk\build-tools\android-4.4.2\dx.bat --dex --output D:\Mobile devices\Course Work\android studio\gridview\gridview\build\dex\debug D:\Mobile devices\Course Work\android studio\gridview\gridview\build\classes\debug D:\Mobile devices\Course Work\android studio\gridview\gridview\build\dependency-cache\debug D:\Mobile devices\Course Work\android studio\gridview\gridview\build\pre-dexed\debug\classes-80f8711ee653afcf7efe6b620bb026841cb6946a.jar D:\Mobile devices\Course Work\android studio\gridview\gridview\build\pre-dexed\debug\support-v4-19.1.0-269b660d78e582ad08c396ce1a171205a775b0a0.jar D:\Mobile devices\Course Work\android studio\gridview\gridview\build\pre-dexed\debug\xmlpull-1.1.3.1-e45616f42a2838037b23e662d2381fe8ba29f039.jar D:\Mobile devices\Course Work\android studio\gridview\gridview\build\pre-dexed\debug\xpp3_min-1.1.4c-26abc774a3b821df830ea21d4b6b0daf1ce5acb6.jar D:\Mobile devices\Course Work\android studio\gridview\gridview\build\pre-dexed\debug\xstream-1.4.7-12d1ec007d50d7a5412e6ce3abef54fbab1046d4.jar D:\Mobile devices\Course Work\android studio\gridview\gridview\build\pre-dexed\debug\xstream-benchmark-1.4.7-574037033c1552eddf3ff5624f95bc8d3d954d28.jar
Error Code:
    2
Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lorg/xmlpull/v1/XmlPullParser;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
        at com.android.dx.command.dexer.Main.run(Main.java:230)
        at com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)
此外,我已经用通用java而不是android在Intelij中测试了这个库。这很好地发挥了作用。所以我只是将工作代码从Intelij复制到Android Studio中,错误就发生了

以下是发生此错误的代码(如果需要):

FileReader reader = new FileReader("boards.xml");  // load file
XStream xstream = new XStream();
xstream.processAnnotations(Boards.class);
xstream.processAnnotations(IdBoards.class);
Boards boards = (Boards) xstream.fromXML(reader); // parse xml into array list

所以问题是如何正确地将外部库添加到Android Studio?或者可能还有其他问题?感谢您的建议。

xml pull parser是android框架的一部分,请删除xmlpull-1.1.3.1.jar并尝试它可能会起作用。

我使用app/build.gradle中的排除选项修复了它,它现在可以正常工作了

dependencies {
    .....
    compile ('com.thoughtworks.xstream:xstream:1.4.7'){
        exclude group: 'xmlpull'
    }
}
如何将外部库添加到Android Studio中:

将项目视图从Android更改为Project。 将外部库添加到 要将jar文件放入的项目。 选择libs/xxx.jar并右键单击,选择Add as a 图书馆
然后检查build.gradle的依赖项,您会发现jar文件添加成功。

请研究多个dex文件定义错误。关于堆栈溢出有许多问题/答案,尽管其中大多数与支持库有关。您有一个来自两个不同库的类,这在这个构建系统中是不允许的。是的,这很有帮助。非常感谢