-1

我正在努力运行一个基本的 Mapsforge 应用程序。我已将其所有必需的 jar 文件添加到项目和 gradle 中。但我无法运行应用程序。收到以下错误:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: org/mapsforge/map/reader/Way.class

这是我的gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "test.mapsforge"
    minSdkVersion 14
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile files('libs/mapsforge-core-0.5.1.jar')
    compile files('libs/mapsforge-map-0.5.1.jar')
    compile files('libs/mapsforge-map-android-0.5.1.jar')
    compile files('libs/mapsforge-map-awt-0.5.1.jar')
    compile files('libs/SwingMapViewer-0.5.1.jar')
}


文件夹结构

文件夹结构


我曾尝试添加multiDexEnabled truegradle 配置,但没有奏效

4

2 回答 2

0

我也面临同样的错误。当我删除摆动地图查看器时,即使不使用 multiDexEnabled true,一切都可以正常工作

于 2015-11-19T15:09:26.300 回答
0

你有理由需要多重索引吗?体面似乎有些稀缺,除非它们包含方法,否则我看不出您将如何超过 65k 方法限制。我也没有看到编译“com.android.support:multidex:1.0.0”的依赖项请检查https://developer.android.com/tools/building/multidex.html或尝试不使用 ultidex。您可能还需要扩展 MultiDexApplication 而不是常规应用程序。我认为您的问题实际上是重复依赖,而不是 dex 限制。你试过 gradle :app:dependencies 吗?

于 2015-08-18T20:01:00.600 回答