在工作区中找不到dependency = [com.google.android.gms:google-play-services:apklib:7:compile]

Dia*_*ana 5 eclipse android google-maps-android-api-2 android-maven-plugin

抱歉,仅添加了另一个“未找到android maven google maps依赖项”问题,但我想我已经阅读了有关它的大部分文章,并且未成功应用所有建议的解决方案。

我有一个运行状况良好的Maven Android项目,它与Google Maps V2的依赖关系没有通过maven引用,而是通过在工作区中导入的google-play-services_lib项目和Eclipse构建路径库的依赖关系进行引用。

现在,我正在尝试通过pom配置google-play-services依赖关系,因为我正在使用Robolectric实施maven自动化测试,但是我被pom第一行显示的错误所困扰,没有快速修复:

在工作区中找不到dependency = [com.google.android.gms:google-play-services:apklib:7:compile]

经过大量的谷歌搜索,到目前为止,我尝试过什么,并在每一步之后检查结果均未成功:

  • 最初使用android-maven-sdk-helper将google play服务组件安装到我的本地.m2存储库中(按照这些说明进行操作),并将对jar和apklib版本7的两个依赖项添加到项目pom中,这是我在本地安装的版本(如此) 。此后它应该可以工作,但是出现依赖性错误。

  • 从eclipse构建路径中删除对库google-play-services_lib的引用(在项目/首选项/ Android /库中)。无论如何,google-play-services_lib项目仍在工作区中。

  • 将apklib从我的本地m2存储库复制到工作区中的某个位置:我尝试了google-play-services_lib / bin,google-play-services_lib / libs,MyProject / libs。使用名称google-play-services-7.apklib(在存储库文件中)和google-play-services.apklib进行测试。

  • 通过运行eclipse配置/转换为Maven项目,“ Mavenise”工作区中包含的google-play-services_lib项目。我编辑了生成的pom以将包装类型更新为apklib:,<packaging>apklib</packaging>并添加了android-maven-plugin <extensions>true</extensions>以识别apklib包装类型。我使用maven目标编译成功地编译了项目,但是在任何地方都找不到生成的apklib文件。

在完成所有这些更改之后,我将执行Maven / Update项目,清理项目,甚至重新启动Eclipse。没有成功:在空间错误中找不到的依赖项仍然存在。

我不知道还能尝试什么。可以使用库名吗?库项目名称为google.play-services_lib,后缀_lib,在eclipse android库构建路径中引用的jar为_lib.jar,但Maven工件没有_lib后缀。我还尝试过对组件和工件进行一些重命名,但均未成功,但我想问题可能在那里。有人可以为mavenised google-play-services_lib项目发布示例pom.xml吗?

另一个猜测:当我mvn编译mavenised库项目时,为什么找不到生成的.apklib文件,它在哪里?我用mvn -X compile检查了跟踪,没有找到任何提示。

环境和版本:

Eclipse Indigo
External maven 3.0.5 (embedded Maven 3.0.3 not used)
android-maven-plugin 3.6.0
maven-eclipse-plugin 2.8
m2e-android plugin (m2eclipse android integration) 0.4.2
Android API level 13
Run Code Online (Sandbox Code Playgroud)

我添加到google-play-services_lib项目的pom.xml:

<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>google-play-services_lib</groupId>
<artifactId>google-play-services_lib</artifactId>
<version>7</version>
<packaging>apklib</packaging>

<properties>
    <android-platform>13</android-platform>
    <android-emulator>13</android-emulator>
    <android-maven-plugin-version>3.6.0</android-maven-plugin-version>
    <maven-compiler-plugin-version>3.0</maven-compiler-plugin-version>
    <java-version>1.6</java-version>
    <local-sdk-path>C:\NoProgramFiles\Android\android-sdk</local-sdk-path>
</properties>

<build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>${android-maven-plugin-version}</version>
            <configuration>
                <sdk>
                    <path>${local-sdk-path}</path>
                    <platform>${android-platform}</platform>
                </sdk>
                <emulator>
                    <avd>${android-emulator}</avd>
                </emulator>
                <deleteConflictingFiles>true</deleteConflictingFiles>
                <undeployBeforeDeploy>true</undeployBeforeDeploy>
            </configuration>
            <extensions>true</extensions>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven-compiler-plugin-version}</version>
            <configuration>
                <source>${java-version}</source>
                <target>${java-version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)