簡體   English   中英

maven-android-plugin,java.lang.NoClassDefFoundError

[英]maven-android-plugin, java.lang.NoClassDefFoundError

我試圖使我的Android項目更加美化。 我使用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依賴關系(已選中)。

該問題如何解決?

我通過從頭開始創建新項目(使用此處定義的原型之一https://github.com/akquinet/android-archetypes )並遷移舊代碼解決了該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM