After creating a Kotlin project in Androidstudio following the tutorial on your Wiki (https://github.com/osmdroid/osmdroid/wiki/How-to-use-the-osmdroid-library-(Kotlin)) I'm not able to compile the project. The error message I get:
FAILURE: Build completed with 9 failures. 1: Task failed with an exception.
What went wrong:
Execution failed for task ':app:dataBindingMergeDependencyArtifactsDebug'.
Could not resolve all files for configuration ':app:debugCompileClasspath'.
Could not find org.osmdroid:osmdroid-android' ):6.1.13.
Required by:
project :app > org.osmdroid:osmdroid-wms:6.1.13
project :app > org.osmdroid:osmdroid-mapsforge:6.1.13
Linux, Android Studio 2021.2.1 Patch 2, Gradle plugin 7.2.2, Gradle version 7.5.1
Source code of project can be found here: https://gitlab.com/brmmm3/btmap
build.gradle in app:
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk 29
defaultConfig {
applicationId "com.greatreset.btmap"
minSdk 29
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
buildToolsVersion '30.0.3'
}
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.5.1'
implementation 'org.osmdroid:osmdroid-android:6.1.13'
implementation 'org.osmdroid:osmdroid-wms:6.1.13'
implementation 'org.osmdroid:osmdroid-mapsforge:6.1.13'
implementation 'org.osmdroid:osmdroid-geopackage:6.1.13'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
gradle build output shows:
...
> Task :app:dataBindingMergeDependencyArtifactsDebug FAILED
Watching 24 directories to track changes
Resource missing. [HTTP GET: https://dl.google.com/dl/android/maven2/org/osmdroid/osmdroid-android'%20)/6.1.13/osmdroid-android'%20)-6.1.13.pom]
Resource missing. [HTTP GET: https://repo.maven.apache.org/maven2/org/osmdroid/osmdroid-android'%20)/6.1.13/osmdroid-android'%20)-6.1.13.pom]
:app:dataBindingMergeDependencyArtifactsDebug (Thread[Execution worker Thread 5,5,main]) completed. Took 0.219 secs.
Resolve mutations for :app:dataBindingMergeGenClassesDebug (Thread[included builds,5,main]) started.
Resolve mutations for :app:dataBindingMergeGenClassesDebug (Thread[included builds,5,main]) completed. Took 0.0 secs.
:app:dataBindingMergeGenClassesDebug (Thread[Execution worker Thread 2,5,main]) started.
...
What can be seen is that gradle is adding %20)
to the download path. Where does gradle get this from?
Found out that the pom files for wms and mapsforge are buggy for versions 6.1.13 and 6.1.12. The discussion can be found here: https://github.com/osmdroid/osmdroid/issues/1831 In the meantime using 6.1.11 solves this issue.