安卓工作室.无法正确包含外部库 [英] Android Studio. Can't include external library properly
问题描述
我正在尝试添加到类路径外部库 (这个).我这样做的方式:File ->项目结构 ->依赖项选项卡 ->添加文件依赖
.那是对的吗?Maven 的库列表没有 Xstream.如果我点击 add module dependency
列表是空的.
I'm trying to add to classpath external library (this one). The way I do it: File -> Project Structure -> Dependencies tab -> Add file dependency
. Is that correct? Maven's list of libraries doesn't have Xstream. And if I click add module dependency
the list is empty.
我只需要在类路径中添加 3 个 jar 文件 - xstream1.4.7.jar
、xmlpull-1.1.3.1.jar
和 xpp3_min-1.1.4c
.所以我按照之前写的做了.问题是在此之后我可以包含这个库,一切看起来都很好.但是运行项目后出现错误:
All I need is to add 3 jar files to classpath - xstream1.4.7.jar
, xmlpull-1.1.3.1.jar
and xpp3_min-1.1.4c
. So I did it as wrote before. The thing is that after this I can include this library and everything seems Ok. But after running the project there is an error:
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)
此外,我已经在 Intelij 中使用通用 Java 测试了这个库,而不是 android.这工作得很好.所以我只是将工作代码从 Intelij 复制到 Android Studio 中,并且发生了该错误.
Moreover, I have tested this library in Intelij with common java, not android. And that worked perfectly. So I just copied working code into Android Studio from Intelij and that error occurs.
这是发生此错误的代码(如果需要):
Here's the code where this error occurs (if needed):
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? 或者可能还有其他问题?感谢您的建议.
So the question is How to add external libraries properly to Android Studio? Or probaby there's some other problem? Thanks for advices.
推荐答案
xml pull 解析器是android框架的一部分,删除xmlpull-1.1.3.1.jar 并尝试它可能会工作.
xml pull parser is a part of android framework, remove xmlpull-1.1.3.1.jar and try It might work.
这篇关于安卓工作室.无法正确包含外部库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!