Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
使用Maven-dexer构建Android项目在简单的xml依赖项上失败_Android_Maven - Fatal编程技术网

使用Maven-dexer构建Android项目在简单的xml依赖项上失败

使用Maven-dexer构建Android项目在简单的xml依赖项上失败,android,maven,Android,Maven,我有绝对空的Android项目生成与 mvn archetype:generate -DarchetypeArtifactId=android-quickstart ....... 它构建良好,部署良好,运行良好。问题是,当我添加 <dependency> <groupId>org.simpleframework</groupId> <artifactId>simple-xml</artifactId

我有绝对空的Android项目生成与

mvn archetype:generate -DarchetypeArtifactId=android-quickstart .......
它构建良好,部署良好,运行良好。问题是,当我添加

    <dependency>
        <groupId>org.simpleframework</groupId>
        <artifactId>simple-xml</artifactId>
        <version>2.6.2</version>
</dependency>
删除此依赖项将修复生成。这是我的
mvn--version

Apache Maven 3.0.3 (r1075438; 2011-02-28 20:31:09+0300)
Maven home: D:\apache-maven-3.0.3\bin\..
Java version: 1.7.0, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0\jre
Default locale: en_US, platform encoding: Cp1251
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
以下是我的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.whoops.android</groupId>
    <artifactId>whoops-android-app1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>apk</packaging>
    <name>whoops-android-app1</name>

    <dependencies>
        <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>2.1.2</version>
            <scope>provided</scope>
        </dependency>

        <!-- <dependency>        
            <groupId>org.codegist.crest</groupId>
            <artifactId>codegist-crest</artifactId>
            <version>2.0.0-RC1</version>        
        </dependency> -->

        <dependency>
            <groupId>org.simpleframework</groupId>
            <artifactId>simple-xml</artifactId>
            <version>2.6.2</version>
    </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>android-maven-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                    <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                    <resourceDirectory>${project.basedir}/res</resourceDirectory>
                    <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
                    <sdk>
                        <platform>7</platform>
                    </sdk>
                    <deleteConflictingFiles>true</deleteConflictingFiles>
                    <undeployBeforeDeploy>true</undeployBeforeDeploy>
                </configuration>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

4.0.0
安卓
哎哟-安卓-app1
1.0-快照
apk
哎哟-安卓-app1
com.google.android
安卓
2.1.2
假如
org.simpleframework
简单xml
2.6.2
com.jayway.maven.plugins.android.generation2
安卓maven插件
3.0.0
${project.basedir}/AndroidManifest.xml
${project.basedir}/assets
${project.basedir}/res
${project.basedir}/src/main/native
7.
真的
真的
真的
maven编译器插件
2.3.2
1.6
1.6
之前尝试过Maven 2和Maven android插件2.*的版本-结果相同。这仅适用于
简单xml
依赖项。使用
simple xml
disabled启用
codegist
。只有当我使用
简单xml
时才会发生这种情况

我也尝试过在没有maven(Eclipse)的情况下实现同样的功能——在本例中,即使我的构建路径上有
simple xml
,一切都很好


有什么想法吗?

这里的问题是
简单xml
或者更可能是它的一个依赖项在保留的java.*或javax.*名称空间中定义了一个或多个类。这在Android平台上是不允许的。尽管如此,我不确定这在Eclipse中为什么会起作用。库是否可能位于生成路径上,但未包含在最终编译的APK中

您可能不需要
简单的xml
,因为Android平台提供了许多与xml相关的软件包:

更新:


下面的问答描述了如何包括
简单xml
库,但禁用它所依赖的冲突导入:

最好的方法就是使用此配置项 android maven插件的开发

因此,您可以将其添加到插件的
部分:

<dexCoreLibrary>true</dexCoreLibrary>
true
或定义

<android.dex.coreLibrary>true</android.dex.coreLibrary> 
true

部分中。

看起来你完全正确。问题是,我使用的CRest需要简单的xml来处理我的服务。我只是感到困惑,因为“CRest为Android平台提供了开箱即用的支持。”()我更新了我的答案,其中有一个关于SO问题的链接,以及您正在寻找的解决方案。基本上,您可以导入
简单xml
库,但不包括它所依赖的冲突依赖项。
<android.dex.coreLibrary>true</android.dex.coreLibrary>