Android与maven?Apk未知

mem*_*und 12 java android maven

无法让Android与maven一起使用.可能是什么问题(从maven quickstart archetype生成):

<?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>asd</groupId>
    <artifactId>asd</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>apk</packaging>
    <name>asd</name>

    <properties>
        <platform.version>4.0.3</platform.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>${platform.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>android-maven-plugin</artifactId>
                <version>3.2.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>15</platform>
                    </sdk>
                    <emulator>
                        <avd>Android4</avd>
                    </emulator>
                    <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>
Run Code Online (Sandbox Code Playgroud)

导致:

Project build error: Unknown packaging: apk
Run Code Online (Sandbox Code Playgroud)

+

Project build error: Unresolveable build extension: Plugin 
com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.2.0 or one of its 
dependencies could not be resolved: Failed to collect dependencies for 
com.jayway.maven.plugins.android.generation2:android-maven-plugin:jar:3.2.0 ()
Run Code Online (Sandbox Code Playgroud)

dan*_*nt3 10

我有同样的问题,因为我在<build><pluginManagement>配置部分添加了android插件.

移动它来<build><plugins>解决我的问题.


Mar*_*szS 6

添加extensions选项到您的android-maven-plugin配置.

扩展

是否从此插件加载Maven扩展(例如打包和类型处理程序).

示例配置:

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>3.9.0-rc.2</version>
    <extensions>true</extensions>
    <configuration>
        <sdk>
            <platform>${android.platform}</platform>
        </sdk>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

这解决了与apk未知包装的probem .


yor*_*rkw 4

我目前在我的项目中使用 android-maven-plugin 3.1.1,并尝试使用 3.2.0,看起来 Maven 在从 Maven 中央存储库下载所需的依赖项 emma-2.1.5320.jar之一时遇到了一些问题,但是,我已经厌倦了mvn clean install好几次最后下载 emma-2.1.5320.jar。

尝试运行mvn clean install几次,如果仍然不起作用,请手动下载并安装,带有源代码和javadoc的emma-2.1.5320.jar可以在Maven Central Repository上找到:

mvn install:install-file -Dfile=emma-2.1.5320.jar \
                     -Dsources=emma-2.1.5320-sources.jar \
                     -Djavadoc=emma-2.1.5320-javadoc.jar \
                     -DgroupId=emma \
                     -DartifactId=emma \
                     -Dversion=2.1.5320 \
                     -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)

您现在应该可以使用 android-maven-plugin 3.2.0,希望这会有所帮助。