【问题标题】:OSMDroid osmdroid-android-it Project Fails to CompileOSMDroid osmdroid-android-it 项目编译失败
【发布时间】:2014-11-20 19:29:08
【问题描述】:

我从这里下载了官方的 OSMdroid 示例。 https://github.com/osmdroid/osmdroid 并且无法让 osmdroid-android-it Android 应用程序在带有 Android SDK 的最新 Eclipse IDE 上编译。我尝试使用 API 10 和 17。

我根据http://android-er.blogspot.com/2012/05/prepare-java-build-path-to-osmdroid-and.html 在您的项目中下载并包含当前的 osmdroid-android-3.0.8.jar 和 slf4j-android-1.5.8.jar。

osmdroid-android-it 项目仍然无法识别 src 文件夹下的 OSMDROID 库。

我需要的是自定义 MBTiles 工作 OSMDroid 示例,类似于以下内容: http://www.sieswerda.net/2012/08/15/upping-the-developer-friendliness/

我从这里下载了 MBTiles 示例: https://github.com/djcoin/MBTilesOsmdroidExample OSMDroid .jar 文件存在相同问题。无法识别 OSMDroid 库。

我需要的是类似于 iphone airplane chart 的 Android 版自定义地图应用程序。

这是我编译错误的截图。

AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.osmdroid.test" android:versionCode="1" android:versionName="4.3-SNAPSHOT">

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="16"/>

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <uses-library android:name="android.test.runner"/>
</application>

<instrumentation android:targetPackage="org.osmdroid"
                 android:name="android.test.InstrumentationTestRunner"/>

pom.xml

<?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>

<parent>
    <groupId>org.osmdroid</groupId>
    <artifactId>osmdroid-parent</artifactId>
    <version>4.3-SNAPSHOT</version>
</parent>

<artifactId>osmdroid-android-it</artifactId>
<version>4.3-SNAPSHOT</version>
<packaging>apk</packaging>
<name>osmdroid-android-it - Integration tests</name>

<dependencies>
    <dependency>
        <groupId>android</groupId>
        <artifactId>android</artifactId>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.osmdroid</groupId>
        <artifactId>OpenStreetMapViewer</artifactId>
        <type>apk</type>
        <version>4.3-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.osmdroid</groupId>
        <artifactId>OpenStreetMapViewer</artifactId>
        <type>jar</type>
        <version>4.3-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.osmdroid</groupId>
        <artifactId>osmdroid-android</artifactId>
        <type>jar</type>
        <version>4.3-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <configuration>
                <test>
                    <!--<skip>true|false|auto</skip> -->
                    <!--<instrumentationPackage>packageName</instrumentationPackage> -->
                    `
                    <!--<instrumentationRunner>className</instrumentationRunner> -->
                    <!--<debug>true|false</debug> -->
                    <!--<coverage>true|false</coverage> -->
                    <!--<logonly>true|false</logonly> avd -->
                    <!--<testsize>small|medium|large</testsize> -->
                    <createReport>true</createReport>
                    <!--<classes> -->
                    <!--<class>your.package.name.YourTestClass</class> -->
                    <!--</classes> -->
                    <!--<packages> -->
                    <!--<package>your.package.name</package> -->
                    <!--</packages> -->
                </test>
            </configuration>
            <extensions>true</extensions>
        </plugin>
    </plugins>
</build>

【问题讨论】:

    标签: android osmdroid tile mbtiles


    【解决方案1】:

    1) 当前的 osmdroid 版本是 v4.2。 v3.0.8 已完全过时,无法与当前的 OSM Mapnik 服务器一起使用。

    2) 您同时使用 jar 库包含(3.0.8)和 Maven(4.3-SNAPSHOT)。 您必须选择其中一种方法。 见https://github.com/osmdroid/osmdroid/wiki/HowToMaven

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多