2

私は自分の Android プロジェクトを Mavenize しようとしています。依存関係の 1 つとして robospice を使用しています。コンパイルは正常に実行されますが、アプリケーションの起動後に次のエラーが発生します。

08-12 17:06:56.040: E/AndroidRuntime(15969): java.lang.NoClassDefFoundError: com.octo.android.robospice.SpiceManager

pom.xml:

<properties>
    <android.version>4.2.2</android.version>
    <android-support.version>r6</android-support.version>
    <robospice.version>1.4.6</robospice.version>
    <robospice-google-http-client.version>1.3.0</robospice-google-http-client.version>
    <google-http-client-jackson.version>1.16.0-rc</google-http-client-jackson.version>
    <robospice-spring-android.version>1.4.6</robospice-spring-android.version>
    <spring.android.jackson.version>1.9.11</spring.android.jackson.version>
    <commons.logging.version>1.1.3</commons.logging.version>
    <android-maven-plugin.version>3.5.0</android-maven-plugin.version>
    <maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version>
    <maven-clean-plugin.version>2.5</maven-clean-plugin.version>
    <maven-dependency-plugin.version>2.6</maven-dependency-plugin.version>
    <android.sdk.path>${env.ANDROID_HOME}/</android.sdk.path>
    <android.sdk.platform>17</android.sdk.platform>
</properties>

<dependencies>

    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>support-v4</artifactId>
        <version>${android-support.version}</version>
    </dependency>
    <dependency>
        <groupId>com.octo.android.robospice</groupId>
        <artifactId>robospice</artifactId>
        <version>${robospice.version}</version>
    </dependency>
    <dependency>
        <groupId>com.octo.android.robospice</groupId>
        <artifactId>robospice-google-http-client</artifactId>
        <version>${robospice-google-http-client.version}</version>
        <type>jar</type>
        <exclusions>
            <exclusion>
                <groupId>xpp3</groupId>
                <artifactId>xpp3</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson</artifactId>
        <version>${google-http-client-jackson.version}</version>
        <exclusions>
            <exclusion>
                <groupId>xpp3</groupId>
                <artifactId>xpp3</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.octo.android.robospice</groupId>
        <artifactId>robospice-spring-android</artifactId>
        <version>${robospice-spring-android.version}</version>
    </dependency>
    <dependency>
        <groupId>com.google.api-client</groupId>
        <artifactId>google-api-client-android</artifactId>
        <version>1.16.0-rc</version>
        <exclusions>
            <exclusion>
                <groupId>xpp3</groupId>
                <artifactId>xpp3</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.octo.android.robospice</groupId>
        <artifactId>robospice-cache</artifactId>
        <version>1.4.6</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>maven-android-plugin</artifactId>
            <inherited>true</inherited>

            <configuration>
                <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                <sourceDirectory>${project.basedir}/src</sourceDirectory>
                <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                <resourceDirectory>${project.basedir}/res</resourceDirectory>
                <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
                <sdk>
                    <path>${android.sdk.path}</path>
                    <platform>${android.sdk.platform}</platform>
                </sdk>
                <undeployBeforeDeploy>true</undeployBeforeDeploy>
                <device>usb</device>
            </configuration>

            <extensions>true</extensions>
        </plugin>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>

M2E 用の Android Configurator をインストールしました。Java Build Path -> Order and Export の私のプロパティには、Maven Dependencies (チェック済み) が含まれています。

この問題はどのように解決できますか?

4

1 に答える 1

0

新しいプロジェクトをゼロから作成し (ここで定義されている原型の 1 つを使用してhttps://github.com/akquinet/android-archetypes )、古いコードを移行することで問題を解決しました。

于 2013-08-12T23:42:50.717 に答える