I'm trying to build OSMdroid with this command:
>mvn clean install
The build fails and gives this error:
[ERROR] Failed to execute goal on project osmdroid-android:
Could not resolve dependencies for project org.osmdroid:osmdroid-android:aar:4.4-SNAPSHOT:
Failure to find android:android:jar:6.0_r1 in https://repo.maven.apache.org/maven2
was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
We are behind a firewall and the network people here have assured me that everything at https://repo1.maven.org/maven2/
is being allowed.
So perhaps what it is looking for is really not there. I'm not sure what android:android:jar:6.0_r1
is. If I browse to https://repo1.maven.org/maven2/, I don't see a directory named android
Any ideas?
Windows 7
Tried deleting contents of C:\Users\myusername\.m2\repository
, but this had no effect.
The root of the problem seems to be that it is failing to download certain jars from the maven repository:
[WARNING] The POM for android.support:compatibility-v4:jar:23.1.0 is missing, no dependency information available
[WARNING] The POM for com.google.android.maps:maps:jar:23_r1 is missing, no dependency information available
[WARNING] The POM for com.google.android.gms:google-play-services:jar:27.0.0 is missing, no dependency information available
[WARNING] The POM for android:android:jar:6.0_r1 is missing, no dependency information available
To directly answer your question, update the SDK, then run the Maven SDK deployer and it should build. Or just import it using Gradle + Android Studio
You probably want to go right to the source.
https://github.com/osmdroid/osmdroid/wiki/How-to-build-OsmDroid-from-source
- Install the Android SDK and update it Set a system environment
variable for ANDROID_HOME, pointing to your Android SDK install
location. Windows (My Computer, properties, advanced, environment
variables...), Linux
export ANDROID_HOME=(path to android sdk install)
- Install Maven. http://maven.apache.org/download.html (you
need at least version 3.2.1). You'll also want to add Maven to the
system path. Windows
set PATH=$PATH%;(path to maven/bin)
. Linux
export PATH=$PATH:(path to maven/bin)
- Checkout the osmdroid source from git to a local folder. (
git clone
https://github.com/osmdroid/osmdroid.git
)
- Download Maven Android SDK dependency using Maven Android SDK Deployer. Follow instructions to deploy android sdk package to local repository. (Suggest
mvn install -fn
)
- From the OsmDroid check out location, run the following
mvn clean install
. You will need a device or emulator running.
Gradle has cache issues from time to time and wiping out the cache is the only solution that I've found. You'll find a hidden .gradle folder under your user home folder and another one whereever the checkout location is for osmdroid.
Properties -> java build path -> jre -> Execution environment -> Environments button click -> Add External JARs button click -> your .jar path of jdk -> finish