机器人世界/Maven Intellij Android

机器人世界/Maven Intellij Android,maven,intellij-idea,android-library,robospice,Maven,Intellij Idea,Android Library,Robospice,我正在尝试使用Android的Robospice 在IntelliJ中,我创建了一个空白的Android项目。 然后我进入了文件->项目结构->库 从Maven单击+即可。 然后找到了最新版本的Robospice并将其导入 完成此操作后,我的Android项目现在无法构建。 我收到以下错误消息: Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] trouble processing "javax/xml/parsers/DocumentBuilde

我正在尝试使用Android的Robospice

在IntelliJ中,我创建了一个空白的Android项目。 然后我进入了文件->项目结构->库 从Maven单击+即可。 然后找到了最新版本的Robospice并将其导入

完成此操作后,我的Android项目现在无法构建。 我收到以下错误消息:

Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] trouble processing "javax/xml/parsers/DocumentBuilder.class":
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] Ill-advised or mistaken usage of a core class (java.* or javax.*)
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] when not building a core library.
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] This is often due to inadvertently including a core library file
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] in your application's project, when using an IDE (such as
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] Eclipse). If you are sure you're not intentionally defining a
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] core class, then this is the most likely explanation of what's
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] going on.
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] However, you might actually be trying to define a class in a core
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] namespace, the source of which you may have taken, for example,
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] from a non-Android virtual machine project. This will most
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] assuredly not work. At a minimum, it jeopardizes the
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] compatibility of your app with future versions of the platform.
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] It is also often of questionable legality.
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] If you really intend to build a core library -- which is only
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] appropriate as part of creating a full virtual machine
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] distribution, as opposed to compiling an application -- then use
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] the "--core-library" option to suppress this error message.
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] If you go ahead and use "--core-library" but are in fact
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] building an application, then be forewarned that your application
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] will still fail to build or run, at some point. Please be
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] prepared for angry customers who find, for example, that your
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] application ceases to function once they upgrade their operating
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] system. You will be to blame for this problem.
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] If you are legitimately using some code that happens to be in a
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] core package, then the easiest safe alternative you have is to
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] repackage that code. That is, move the classes in question into
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] your own package namespace. This means that they will never be in
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] conflict with core system classes. JarJar is a tool that may help
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] you in this endeavor. If you find that you cannot do this, then
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] that is an indication that the path you are on will ultimately
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] lead to pain, suffering, grief, and lamentation.
Error:Android Pre Dex: [xmlParserAPIs-2.6.2.jar] 1 error; aborting

我不知道我哪里出错了

阅读中RS的设置,您会发现一些扩展需要在Android上进行一些排除。这与RoboSpice无关,但取决于库本身(例如,XMLParser依赖于必须在Android上排除的stax和xp3)。

如前所述,您需要排除一些库,下面是如何排除的

当您从maven添加库(而不是使用maven构建项目)时,IntellijIDEA或AndroidStudio会将其与可传递的depdencies一起带来

使用robotium v5.2.1。您需要删除以下内容:

com.google.android:android
xpp3:xpp3
org.apache.httpcomponents:httpclient
junit:junit
xerces:xmlParserApi
当选择robotium作为库时,或者如果已经从文件->项目结构->库中选择了robotium

如果您使用的是maven,请参阅另一篇文章