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
Android apk缺少源代码类(使用maven编译)_Android_Maven - Fatal编程技术网

Android apk缺少源代码类(使用maven编译)

Android apk缺少源代码类(使用maven编译),android,maven,Android,Maven,我正在用Maven和Eclipse构建一个Android应用程序,在部署到Android之后遇到了一个问题。我正在使用mvn clean install android:deploy来编译和部署我的应用程序,但尽管上传到手机后生成的apk没有任何错误,但我得到了一个奇怪的行为 该应用程序启动良好(包括一些不同的活动),我可以通过act。1.采取行动。2和从法案。2.采取行动。但当我试图继续表演的时候。3.采取行动。4应用程序因“未找到类”异常而停止 我真的很绝望,因为我花了很长时间试图猜出什么是

我正在用Maven和Eclipse构建一个Android应用程序,在部署到Android之后遇到了一个问题。我正在使用mvn clean install android:deploy来编译和部署我的应用程序,但尽管上传到手机后生成的apk没有任何错误,但我得到了一个奇怪的行为

该应用程序启动良好(包括一些不同的活动),我可以通过act。1.采取行动。2和从法案。2.采取行动。但当我试图继续表演的时候。3.采取行动。4应用程序因“未找到类”异常而停止

我真的很绝望,因为我花了很长时间试图猜出什么是错误的,但没有结果,一件奇怪的事情是,如果我查看目标/类内部,导致错误的相应.class文件就在那里

我正在使用Maven 3.1和android Maven插件,我的pom文件复制如下。我真的很绝望,因为我无法找到解决方案,所以任何帮助都将不胜感激

提前谢谢

D

http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 com.myApp.myApp myApp 1 apk myApp

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <platform.version>4.1.1.4</platform.version>
    <android.plugin.version>3.8.1</android.plugin.version>
    <keystore.location>/home/myName/Documents/projects/MyApp/keystore/MyApp_keystore</keystore.location>
    <keystore.password></keystore.password>
    <keystore.keypass></keystore.keypass>
    <keystore.alias>myapp</keystore.alias>
</properties>

<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>support-v4</artifactId>
        <version>r7</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.8</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-android</artifactId>
        <version>1.6.1-RC1</version>
    </dependency>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>4.1.1.4</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
<build>
    <finalName>${project.artifactId}_unsigned</finalName>
    <sourceDirectory>src/main/java</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <extensions>true</extensions>
            <inherited>true</inherited>
            <configuration>
                <sign>
                    <debug>false</debug>
                </sign>
                <sdk>
                    <platform>19</platform>
                </sdk>
                <zipalign>
                    <skip>false</skip>
                    <verbose>true</verbose>
                    <inputApk>${project.build.directory}/${project.artifactId}_unsigned.apk</inputApk>
                    <outputApk>${project.build.directory}/${project.artifactId}.apk</outputApk>
                </zipalign>
                <undeployBeforeDeploy>true</undeployBeforeDeploy>
            </configuration>
            <executions>
                <execution>
                    <id>zipalign</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>zipalign</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jarsigner-plugin</artifactId>
            <executions>
                <execution>
                    <id>signing</id>
                    <goals>
                        <goal>sign</goal>
                        <goal>verify</goal>
                    </goals>
                    <phase>package</phase>
                    <inherited>true</inherited>
                    <configuration>
                        <removeExistingSignatures>true</removeExistingSignatures>
                        <archiveDirectory/>
                        <includes>
                            <include>${project.build.directory}/${project.artifactId}.apk</include>
                        </includes>
                        <keystore>${keystore.location}</keystore>
                        <alias>${keystore.alias}</alias>
                        <storepass>${keystore.password}</storepass>
                        <keypass>${keystore.keypass}</keypass>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

UTF-8
4.1.1.4
3.8.1
/home/myName/Documents/projects/MyApp/keystore/MyApp_keystore
myapp
com.google.android
支持-v4
r7
假如
通用编解码器
通用编解码器
1.8
org.slf4j
slf4j安卓
1.6.1-RC1
com.google.android
安卓
4.1.1.4
假如
${project.artifactId}\u未签名
src/main/java
com.jayway.maven.plugins.android.generation2
安卓maven插件
真的
真的
假的
19
假的
真的
${project.build.directory}/${project.artifactId}\u unsigned.apk
${project.build.directory}/${project.artifactId}.apk
真的
优化
验证
优化
org.apache.maven.plugins
maven jarsigner插件
签字
签名
验证
包裹
真的
真的
${project.build.directory}/${project.artifactId}.apk
${keystore.location}
${keystore.alias}
${keystore.password}
${keystore.keypass}

万一有人面临同样的问题,最后,经过一周的绝望寻找解决方案,结果证明这是一件非常愚蠢和简单的事情

有问题的类使用android支持,正如在pom.xml中,我错误地包含了为android支持依赖项提供的内容,这使得android支持jar没有包含在maven dependencies文件夹中,所以这就是问题所在,类没有找到它

这里的问题是,错误并不清楚,因为它抱怨缺少类,而不是缺少jar之类的东西。它一直在我眼前,但我没有看到它

我希望它能帮助有同样问题的人