【发布时间】:2017-05-13 17:50:33
【问题描述】:
我想了解如何构建 Android 程序。你知道在哪里可以下载 com.android.build.gradle 的构建插件的源代码吗?
【问题讨论】:
我想了解如何构建 Android 程序。你知道在哪里可以下载 com.android.build.gradle 的构建插件的源代码吗?
【问题讨论】:
如果您有 Android Studio、android gradle 插件和构建的 android 应用程序,您应该能够在自己的开发机器上找到 gradle 插件源代码。
换句话说,下载的插件源 jar 文件由 gradle 存储在如下路径下:
~/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/2.3.1/59c72f62795f6ce6dd95c0b2e91c16dc16a1c8c7/gradle-core-2.3.1-sources.jar
(在您的机器上,此路径中的哈希和版本可能不同。)
您可以将该 jar 文件复制到另一个位置,然后将其解压缩以查看 android gradle 插件的实际源文件:
./com/android/build/gradle/api/AndroidArtifactVariant.java ./com/android/build/gradle/api/AndroidSourceDirectorySet.java ./com/android/build/gradle/api/AndroidSourceFile.java ./com/android/build/gradle/api/AndroidSourceSet.java ./com/android/build/gradle/api/ApkOutputFile.java
./com/android/build/gradle/api/ApkVariant.java ./com/android/build/gradle/api/ApkVariantOutput.java ./com/android/build/gradle/api/ApplicationVariant.java ./com/android/build/gradle/api/AtomVariant.java ./com/android/build/gradle/api/AtomVariantOutput.java ./com/android/build/gradle/api/BaseVariant.java ./com/android/build/gradle/api/BaseVariantOutput.java
. . .
【讨论】:
this one 是你要找的吗?
【讨论】:
构建 gradle 插件的说明在这里;
http://tools.android.com/build/gradleplugin
它指示您使用 repo 获取源代码,但也暗示该插件可以在 tools/base.
您可以在此处克隆或在线浏览;
【讨论】:
以gradle 2.3.1为例,可以下载gradle插件源码如下:
$ mkdir gradle_2.3.0
$ cd gradle_2.3.0
$ repo init -u https://android.googlesource.com/platform/manifest -b gradle_2.3.0
$ 回购同步
【讨论】:
您可以直接从 Google 的 Maven 存储库下载源代码、jar(或其他工件):
https://maven.google.com/web/index.html#com.android.tools.build:gradle
【讨论】:
Building the Android Gradle Plugin 的说明指向Android Studio Project Site,它指向如何克隆包含整个 Android Studio 本身的海量存储库。
但是,您可能会认为克隆整个存储库只是为了获取 Android Gradle 插件,然后在需要时不时同步整个存储库,这太过分了,消耗了不必要的时间和硬盘空间获取最新版本。
Google 在Checkout and build the source code 上的注释提供了一些有用的建议:
repo sync 有一个-c 标志,可用于同步“仅当前分支以减少同步时间和磁盘空间”(用作repo sync -c)repo的更多信息,他们建议查看https://source.android.com/source/using-repo
gradle_x.y.z
按照上面最后一点,你可以做
$ repo init -u https://android.googlesource.com/platform/manifest -b gradle_3.4.0
$ repo sync -c
仅获取 gradle 插件版本 3.4.0 ;即便如此,它仍然会是 21 Gb(包括许多工具、预构建等)。
如果您只想查看源代码以用于学习目的,而不是修改/构建它,则此问题的其他答案之一可能就足够了。但是,如果您想自己修改和/或构建 Android Gradle 插件,并且至少有 21 Gb 的空闲空间,您可以考虑遵循上述建议。
【讨论】: