Eclipse中的Android Maven项目与apklib

时间:2014-08-16 21:05:13

标签: android eclipse maven m2eclipse apklib

我正在尝试使用jar和apklib将google play服务添加到现有的android maven项目中。该项目使用mvn clean install进行编译,但在Eclipse中我收到此错误:

  

错误:找不到与给定名称匹配的资源(在'value'处,值为'@ integer / google_play_services_version')。 AndroidManifest.xml / pruebas-bundle-android第51行Android AAPT问题

我是maven的新手,所以我不知道是什么原因引起的。我已经搜索了有关错误的信息,但没有找到任何可以让我解决它的信息。我正在使用maven 3.2.2和m2e 1.4。这是我的pom.xml

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.pruebas.pruebas</groupId>
  <artifactId>pruebas-bundle-android</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>apk</packaging>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>android</groupId>
      <artifactId>android</artifactId>
      <version>4.4.2_r3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>android.support</groupId>
      <artifactId>compatibility-v4</artifactId>
      <version>20.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.android.gms</groupId>
        <artifactId>google-play-services</artifactId>
        <version>19.0.0</version>
        <type>apklib</type>
    </dependency>
    <dependency>
        <groupId>com.google.android.gms</groupId>
        <artifactId>google-play-services</artifactId>
        <version>19.0.0</version>
        <type>jar</type>
    </dependency>
    <dependency>
      <groupId>urbanairship</groupId>
      <artifactId>urbanairship-lib</artifactId>
      <version>4.0.3</version>
    </dependency>
    <dependency>
      <groupId>com.crittercism</groupId>
      <artifactId>crittercism-android-agent</artifactId>
      <version>LATEST</version>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <id>local-repository</id>
      <url>file:${basedir}/local-repository</url>
    </repository>
  </repositories>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <groupId>com.jayway.maven.plugins.android.generation2</groupId>
        <artifactId>android-maven-plugin</artifactId>
        <version>3.9.0-rc.3</version>
        <extensions>true</extensions>
        <configuration>
          <sdk>
            <platform>19</platform>
          </sdk>
          <manifest>
            <debuggable>false</debuggable>
          </manifest>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

问题似乎是由于apklib。在Eclipse中,我可以在Maven依赖项中看到我的所有依赖项jar,但我不知道如何在Eclipse中提供google play服务apklib。我很感激任何帮助。

1 个答案:

答案 0 :(得分:2)

为了在Eclipse中编译一个带有Android库(APKLIB)依赖项的项目,你需要安装m2e-android和一个&#34; Mavenised&#34;签出的Android库源代码副本到您的本地Eclipse工作区。

当我说&#34; Mavenised&#34;我的意思是Android库项目应该有一个POM,其坐标(组ID,版本等)与您的应用程序POM中的apklib依赖项相匹配。