2

我正在尝试对使用库项目的 android 项目进行 mavenize。我已经创建了 apklib 并成功完成了 mvn install:install-file 命令。构建失败并出现编译错误。错误日志可以在下面看到,它会提示我是否正确引用了谷歌地图库项目。

MapActivity.java:[320,51] cannot find symbol
symbol:   variable CameraUpdateFactory

com.google.android.gms.maps 中的所有类都不能被引用。pom.xml如下图

<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>${android.version}</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>com.google.android.support</groupId>
        <artifactId>support-v4</artifactId>
        <version>4</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>com.octo.android.robospice</groupId>
        <artifactId>robospice</artifactId>
        <version>${robospice.version}</version>
    </dependency>

    <dependency>
        <groupId>com.octo.android.robospice</groupId>
        <artifactId>robospice-spring-android</artifactId>
        <version>${robospice.spring.android.version}</version>
    </dependency>

    <dependency>
        <groupId>com.octo.android.robospice</groupId>
        <artifactId>robospice-ormlite</artifactId>
        <version>${robospice-ormlite.version}</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>${spring.android.jackson.version}</version>
    </dependency>

    <dependency>
        <groupId>com.j256.ormlite</groupId>
        <artifactId>ormlite-android</artifactId>
        <version>${ormlite.android.version}</version>
    </dependency>

    <dependency>
        <groupId>com.google.android.gms</groupId>
        <artifactId>google-play-services</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>apklib</type>
    </dependency>

    <dependency>
        <groupId>com.actionbarrefresh.lib</groupId>
        <artifactId>refresh-lib</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>apklib</type>
    </dependency>

</dependencies>

此外,无法引用 android-support-v4 库中的类。我已经使用 mvn install 命令在本地存储库中添加了该库,但它仍然引发错误。它说找不到 SupportMapFragment。

有关此的任何指示都会非常有帮助。

4

2 回答 2

1

只需添加 Maps 依赖项。

    <dependency>
        <groupId>com.google.android.maps</groupId>
        <artifactId>maps</artifactId>
        <version>7_r1</version>
        <scope>provided</scope>
        <optional>true</optional>
    </dependency>

然后去https://github.com/mosabua/maven-android-sdk-deployer

mvn 安装 -P 4.3 库。到你的平方米。

于 2013-10-28T04:26:35.873 回答
0

我已经能够用 maven build 解决这个问题。

问题是 apklib 实际上不包含库项目的 libs 文件夹中的 jar。libs 文件夹中的 jars 需要通过 maven install 命令安装,然后 pom.xml 除了 apklib 之外也应该具有依赖关系。所以,我从谷歌地图的 libs 文件夹中安装了 jar 文件,并在 pom.xml 中添加了依赖项,它就可以工作了。

我应该首先检查 apklib 是否包含 libs 文件夹中的 jar,但无论如何,这个问题最终得到了解决。

于 2013-10-31T10:43:03.547 回答