2012-05-16 46 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 未知包裝。