Я изучаю возможность использования mapsfoge/graphhopper в приложении для Android, но не могу скомпилировать тест с помощью graphhopper.
Основываясь на исследованиях, я считаю, что проблема связана с зависимостями в graphhopper и mapsforge.
Вот исключение:
Execution failed for task ':app:dexDebug'.
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/applantation/android/svg/ParserHelper;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
Мое приложение builde.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "com.test.maptest"
minSdkVersion 10
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.1.0'
compile 'org.mapsforge:mapsforge-map-android:0.4.3'
compile 'com.graphhopper:graphhopper-android:0.3'
}
Похоже, проблема связана с svg-android, на который опирается mapsforge-android. Что странно, так это то, что приложение соответствует требованиям и работает нормально, если я просто использую mapsforge-map-android. Я также попытался удалить строку mapsforge-map-android из моего файла gradle.build, так как mapsforge вводится через graphhopper, но все равно не повезло.
Любая помощь в решении этого вопроса будет высоко оценена!