2012-05-16 49 views
11

无法让Android使用maven。可能是什么问题(从Maven快速原型生成):Android与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> 

引出:

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

回答

2

看一看我目前使用Android的Maven的插件3.1.1为我的项目,并给它3.2试试。 0,看起来Maven在从Maven Central Repository下载required dependenciesemma-2.1.5320.jar时遇到了一些麻烦,但是,我累了mvn clean install几次,最后下载了emma-2.1.5320.jar。

尝试运行mvn clean install几次,如果仍然不能正常工作,请下载并手动安装,艾玛 - 2.1.5320.jar与源和javadoc可在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 

你应该能够现在使用android-maven-plugin 3.2.0,希望这有助于。

3

<version>3.2.0</version>替换为<version>3.6.0</version>,然后清洁并安装包装。 3.6.0是android-maven-plugin的最新版本。

+0

解决了,我爱你:) thx – Karoly

9

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

将其移动到<build><plugins>解决了我的问题。

+1

从3.7.0升级到3.9.0-rc.2时,这对我有用。 – Konsumierer

5

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> 

这解决了与probem APK 未知包装。