用于xmlpullparser的Android dalvik转换

我正在开发一个Android应用程序和一个组件,我可以在Android之外测试,因为它不使用任何Android代码.

它使用xstream,我有以下库包括
xstream1.4.6
XPP3分钟-1.1.4c
xmlpull-1.1.3.1

当我在Android之外对我的代码进行单元测试时,一切正常.

当我尝试与Android一起使用时,我收到以下错误

[2014-01-15 18:59:23 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/xmlpull/v1/XmlPullParser;
[2014-01-15 18:59:23 - AndroidMentor] Conversion to Dalvik format Failed: Unable to execute dex: Multiple dex files define Lorg/xmlpull/v1/XmlPullParser;

这是一个干净的全新Android app / android junit应用程序.我已经尝试删除垃圾箱,清洁等,但没有用.只是这一个,其他人没有表现出任何问题.

我需要这个pullparser,因为其他的似乎不适合我的xstream.

解决方法:

我正在尝试与Android应用程序集成的单独开发项目遇到同样的问题.问题是Android API定义了类XmlPullParser(https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html),这就是出现这种冲突的原因.

我通过从项目中排除xmlpull依赖项来解决了这个问题,该项目允许使用Android定义的类版本.这是我的build.gradle文件查找app模块的方法(只是依赖部分来说明排除):

dependencies {
    compile (project(':epublib:epublib-core')) {
        exclude group: 'xmlpull'
    }
    compile 'com.android.support:appcompat-v7:21.0.+'
    compile 'com.android.support:support-v4:21.0.+'
}

语法很重要.它必须是这种形式

compile (project(':project-name')) {
        exclude group: 'group-name', module: 'module-name' 
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...