Google()和 maven 之间的区别{ url’https://maven.google.com’}

在 build.gradle 文件中,google ()和 maven { url‘ https://maven.google.com’}之间有什么区别吗? 如果有,是什么?

allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
// OR
google()
}
}
63810 次浏览

The google() repository is a shortcut to Google's maven repository. It was introduced in Gradle 4.x+. The actual repository URL used is `"https://dl.google.com/dl/android/maven2/" as specified here. https://maven.google.com actually points to the same repository.

However, if you are planning to use the google() shortcut, you need Gradle 4.x+, Android Studio 3.x+ and Gradle plugin for Android 3.x+.

Small correction to the answer above. If you try to go to https://dl.google.com/dl/android/maven2/ it gives you a 404. The correct url to google maven repository is:

https://dl.google.com/dl/android/maven2/index.html or just https://maven.google.com

Here you can check all the supported libraries and the latest versions.

When using gradle, you can mention multiple repositories which the build tool (gradle) uses to resolve dependencies mentioned in your project.

repositories {
jcenter()
maven { url 'https://maven.google.com' }
google()
}

In the above scenario, you're mentioning 3 repositories which gradle can use to resolve dependencies—all of which are Maven repositories.

1. jcenter()

  • Means the JCenter Maven repository.
  • This is a shortcut available in later versions of gradle

2. { url 'https://maven.google.com' }

  • This means you are referring a Maven repo hosted at the URL which can be used by gradle to resolve the dependencies.
  • If you want, you can actually enter the URL for JCenter and this would be the same as mentioning jcenter() in the gradle file.

3. google()

  • This means the Google Maven repository
  • Similar to the notation maven(), this can be used in later versions of gradle only