Failure to find android:android:jar:6.0_r1
Asked Answered
C

2

2

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
Ciaphus answered 3/11, 2015 at 18:37 Comment(0)
E
4

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.

Euler answered 4/11, 2015 at 1:55 Comment(8)
i just pushed a change which should help (when google updates and deletes old versions of libraries). give it another tryEuler
Yay! Whatever you did fixed it.[INFO] BUILD SUCCESS [INFO] Total time: 01:48 min [INFO] Finished at: 2015-11-05T09:16:13-07:00 [INFO] Final Memory: 71M/198MCiaphus
I'm still having this problem building OSMDroid in Android Studio. Can you help there?Ciaphus
just import osmdroid in android studio. should just work. don't import the pom, use the gradle bits. Sometimes gradle is silly. delete the ~/.gradle folder and your check out folder /.gradle folder and try it againEuler
I'm not sure what you are suggesting to do. Strictly speaking, there are no ".gradle" folders, but there are "gradle" folders, /osmdroid/ and underneath that in /OpenStreetMapViewer/ and /OSMMapTilePackager/. Assuming these are the folders you speak of, I delete them and then do File > New > Import Project and I still get the "failed to find target" error. Also, I'm not clear on what you mean by "delete ... and your check out folder / .gradle folder".Ciaphus
Also, I'm not sure what how to not import the pom. I don't see it in the Android Studio project after the import, but I am doing nothing explicitly to import it or not import it. Sorry for all this hassle.Ciaphus
Gradle gets stupid 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.Euler
That worked! If you would go over to the question and put that as the answer, I'd appreciated it.Ciaphus
G
-1

Properties -> java build path -> jre -> Execution environment -> Environments button click -> Add External JARs button click -> your .jar path of jdk -> finish

Greatly answered 3/11, 2015 at 20:20 Comment(1)
I think you mean Properties of an Eclipse project. I am not using Eclipse to build, I am doing it from the command line.Ciaphus

© 2022 - 2024 — McMap. All rights reserved.