Android Studio预索引失败

Android Studio预索引失败,android,actionbarsherlock,android-studio,Android,Actionbarsherlock,Android Studio,我正在尝试从Intellij Idea 12切换到Android Studio 0.2.1 目前我的android项目是用maven android插件安装的。我使用actionbarsherlock作为apklib依赖项 当我尝试使用Android Studio构建项目时,它在使用 Error:Android Pre Dex: [xpp3-1.1.4c.jar] trouble processing "javax/xml/namespace/QName.class": Error:Androi

我正在尝试从Intellij Idea 12切换到Android Studio 0.2.1 目前我的android项目是用maven android插件安装的。我使用actionbarsherlock作为apklib依赖项

当我尝试使用Android Studio构建项目时,它在使用

Error:Android Pre Dex: [xpp3-1.1.4c.jar] trouble processing "javax/xml/namespace/QName.class":
Error:Android Pre Dex: [xpp3-1.1.4c.jar] Ill-advised or mistaken usage of a core class (java.* or javax.*)
Error:Android Pre Dex: [xpp3-1.1.4c.jar] when not building a core library.
Error:Android Pre Dex: [xpp3-1.1.4c.jar] This is often due to inadvertently including a core library file
Error:Android Pre Dex: [xpp3-1.1.4c.jar] in your application's project, when using an IDE (such as
Error:Android Pre Dex: [xpp3-1.1.4c.jar] Eclipse). If you are sure you're not intentionally defining a
Error:Android Pre Dex: [xpp3-1.1.4c.jar] core class, then this is the most likely explanation of what's
Error:Android Pre Dex: [xpp3-1.1.4c.jar] going on.
然而,xpp3的唯一依赖性来自actionbarsherlock,如果您查看项目结构,就会发现它具有“提供”的范围。因此,在我看来,这根本不应该预先编制索引或纳入apk

你有没有做过类似的观察?或者您是否在android studio中获得了一个具有actionbarsherlock依赖项的android maven项目?关于如何使用android studio实现此功能的任何提示都将不胜感激:)

问候
弗兰克,我也有同样的问题。这种结构最终对我起了作用:

将ABS复制到项目中:

Project
├── build.gradle
├── Module
│   ├── build.gradle
│   ├── libs
│   └── src
├── libraries
│   └── ABS
│       ├── build.gradle
│       ├── libraries
│       ├── libs
│       └── src
└── settings.gradle
Project/settings.gradle:

include ':Module', ':libraries:ABS'
项目/库/ABS/build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

dependencies {
    compile "com.android.support:support-v4:13.0.0"
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 17
    }
}
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile "com.android.support:support-v4:13.0.0"
    compile project(':libraries:ABS')
}
...
项目/模块/构建.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

dependencies {
    compile "com.android.support:support-v4:13.0.0"
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 17
    }
}
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile "com.android.support:support-v4:13.0.0"
    compile project(':libraries:ABS')
}
...

我发现了问题所在。它与android studio或actionbar sherlock无关,而是与另一个apklib依赖项有关,该依赖项错误地声明为与xpp3和xmlParserApis有依赖关系,其作用域为“compile”,应该“提供”

Idea 12对此没有问题,但android studio/Idea 13预览版似乎更严格


只是将范围更改为“提供”在项目结构中解决了这个问题。

只需从xpp3 jar中删除QName.class。

您如何将支持库依赖项添加到您的项目中?使用maven:
com.google.android support-v4
您不想将android Studio与gradle构建系统一起使用?我们可能会切换到格拉德尔在晚些时候。到目前为止,我们对我们的maven构建系统非常满意。在切换到0.2.1后看到类似的问题,我没有注意到0.2中的问题。+1。通过将依赖项的pom.xml更改为“提供”,修复了该问题。排除不起作用。如果我不能更改依赖项的pom,我能做些什么吗?我的一些库包含在本地jar文件中。xpp3 jar已经作为“已提供”包含在内。玩过之后,它似乎需要手动删除并重新导入为“提供”以使其工作。遇到了相同的问题。。如果这对其他人有帮助,我的罪魁祸首是SlidingMenuFrank亲爱的-你太棒了!你刚刚把我从几个小时的挖掘中救了出来……:)你为什么不同意我的回答?这是最明智的做法,因为xpp3.jar在这方面已经完全崩溃了。或者去给xpp的人装窃听器。。。