2012-05-16 17 views
11

No se puede obtener Android para que funcione con maven. ¿Cuál podría ser el problema (generado a partir arquetipo Maven inicio rápido):Android con maven? Apk unknown

<?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> 

provoque:

Project build error: Unknown packaging: apk 

+

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() 

Respuesta

2

Actualmente estoy usando android-maven-plugin de 3.1.1 para mi proyecto y darle una oportunidad con un 3,2. 0, parece que Maven tiene problemas para descargar uno de los required dependenciesemma-2.1.5320.jar del Repositorio Central de Maven, sin embargo, me he cansado mvn clean install varias veces y finalmente descargo emma-2.1.5320.jar.

Intente ejecutar mvn clean install varias veces, si es que todavía no funciona, descargar e instalar de forma manual, Emma-2.1.5320.jar con origen y javadoc están disponibles en 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 

usted debe estar capaz de usar android-maven-plugin 3.2.0 ahora, espero que esto ayude.

3

Reemplace el <version>3.2.0</version> con <version>3.6.0</version> y luego limpie e instale el paquete. 3.6.0 es la última versión de android-maven-plugin.

+0

resuelto, te amo :) thx – Karoly

9

Tuve el mismo problema porque agregué el complemento de Android en <build><pluginManagement> sección de configuración.

Moviéndolo a <build><plugins> resolvió mi problema.

+1

Esto funcionó para mí al actualizar android-maven-plugin de 3.7.0 a 3.9.0-rc.2. – Konsumierer

5

Agregue la opción extensions a su configuración android-maven-plugin.

extensiones

si se debe cargar extensiones Maven (tales como envases y tipo manipuladores) de este plugin.

ejemplo de configuración:

<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> 

Esto resuelve problema tomando con apk embalaje desconocido.