【问题标题】:OMSDroid.MapView NoClassDefFound while using OSMDroid in Android Studio Project在 Android Studio 项目中使用 OSMDroid 时 OMSDroid.MapView NoClassDefFound
【发布时间】:2013-07-28 02:23:28
【问题描述】:

我正在尝试设置一个使用 OSMDroid api 处理映射的新 Android 应用程序。我遵循了似乎是最常见的在线教程,并且在解决了我遇到的大部分错误之后。该应用程序将编译,但一旦启动,我就会收到运行时错误,显示 org.osmdroid.MapView 的 NoClassDefFound。根据所有其他 Stack Overflow 建议,我已确保 jar 都位于项目目录中的文件夹 libs 中。我正在使用 Android Studio,这增加了复杂性。这里是我的 build.gradle 供参考:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}

dependencies {
    compile 'com.google.android.gms:play-services:3.1.36'
}

dependencies {
    compile files('libs/slf4j-android-1.5.8.jar')
}

dependencies {
    compile files('libs/osmdroid-android-3.0.10.jar')
}

dependencies {
    compile files('libs/osmdroid-third-party-3.0.10.jar')
}

dependencies {
    compile files('libs/osmdroid-packager-3.0.10.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 14
    }
}

【问题讨论】:

  • 你解决过这个问题吗?

标签: java android gradle android-studio osmdroid


【解决方案1】:

你需要做的是从OSMDroid repo https://code.google.com/p/osmdroid/wiki/Downloads下载Jar文件

那么你的 gradle 在依赖部分应该是这样的:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('.../libraries/osmdroid-android-4.2.jar')
    compile files('.../libraries/slf4j-android-1.6.1-RC1.jar')
}

或者直接点击这个链接:

https://code.google.com/p/osmdroid/wiki/HowToIncludeInYourProject

【讨论】:

    猜你喜欢
    • 2013-06-04
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2014-09-19
    • 2015-02-04
    • 1970-01-01
    相关资源
    最近更新 更多