Failure to find android:android:jar:6.0_r1

2019-07-13 13:04发布

问题:

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

回答1:

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.



回答2:

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