Android Gradle 插件托管在 Google 的 Maven 存储库中:https://maven.google.com/
您可以使用所需的 com.android.tools.build:gradle 工件制作 pom.xml 并使用 mvn dependency:resolve 下载插件及其所有依赖项,包括传递的依赖项。
Gradle 不支持开箱即用的类似操作,请参阅answers to this question 了解使用 Gradle 实现相同任务的方法。
我不记得 id 'com.android.application' 在 settings.gradle 中通过 pluginManagement { ... } 进行任何修改的情况下工作,类似于以下内容:
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenLocal() // one should add this for artifacts mirrored locally
}
resolutionStrategy {
eachPlugin {
if (requested.id.id.startsWith("com.android.")) {
useModule("com.android.tools.build:gradle:${requested.version}")
}
}
}
}
如果您使用相同的方式,请不要忘记将您的本地存储库,无论是 mavenLocal() 还是其他任何东西,添加到 pluginManagement { repositories { ... }}。
对于与 Android 插件无关的一般情况(还没有?):
名为 com.example.myplugin 的插件应该在 Gradle 插件存储库 (https://plugins.gradle.org/m2) 中具有 com.example.myplugin:com.example.myplugin.gradle.plugin:... 的对应工件。这个工件也应该在本地镜像,以便id "com.example.myplugin" 工作。
作为参考,这是我用来下载 AGP 4.0.0 所需的所有工件的完整 pom.xml:
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>com.android.tools.build</groupId>
<artifactId>gradle</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>1.3.61</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>1.3.61</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.3.61</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
<!-- addendum for 4.0.0 -->
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>2.3.2</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>goog</id>
<url>https://dl.google.com/android/maven2</url>
</repository>
<repository>
<id>jcr</id>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
</project>
运行mvn dependency:resolve 后,工件将驻留在~/.m2/repository 中,所以剩下的就是将mavenLocal() 添加到pluginManagement { repositories { ... } }(或buildscript { repositories { ... } } 用于旧式应用插件)。