谷歌源代码';用于构建Android的s Gradle插件

谷歌源代码';用于构建Android的s Gradle插件,gradle,plugins,build,Gradle,Plugins,Build,我想学习如何构建Android程序。你知道我在哪里可以下载com.android.build.gradle构建插件的源代码吗 是您想要的吗?如果您有Android Studio、Android gradle插件和Android应用程序,您应该能够在自己的开发机器上找到gradle插件源代码 将cd放入您的主目录 cd-into.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/ 使用深度搜索工具(如find

我想学习如何构建Android程序。你知道我在哪里可以下载com.android.build.gradle构建插件的源代码吗

是您想要的吗?

如果您有Android Studio、Android gradle插件和Android应用程序,您应该能够在自己的开发机器上找到gradle插件源代码

  • 将cd放入您的主目录
  • cd-into.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/
  • 使用深度搜索工具(如find)查找名为“gradle-core-2.3.1-sources.jar”的文件(注意:本例中的“2.3.1”只是一种可能性。您可能有不同的版本。并且您的计算机上可能有多个版本。)
  • 换句话说,gradle将下载的插件源jar文件存储在如下路径中:

    ~/.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
    . .


    以gradle 2.3.1为例,可以下载gradle插件源代码如下:

    $mkdir gradle_2.3.0

    $cd gradle_2.3.0

    $repo init-u-b gradle_2.3.0


    $repo sync

    构建gradle插件的说明如下

    它指示您使用repo获取源代码,但也提示可以在tools/base中找到该插件

    你可以在这里克隆或在线浏览


    您可以直接从Google的Maven存储库下载源代码、jar(或其他工件):

    的说明指向,指向如何克隆包含整个Android Studio本身的海量存储库

    但是,你可以考虑杀死,消耗不必要的时间和硬盘空间,克隆整个存储库,只是为了得到Android的Gealle插件,然后在你想得到最新版本时不时地对整个存储库进行同步。 谷歌的注释提供了一些有用的建议:

    • repo-sync
      具有一个
      -c
      标志,可用于同步“仅当前分支以减少同步时间和磁盘空间”(将其用作
      repo-sync-c
    • 有关如何使用回购协议的更多信息,他们建议查看
    • 您可以查找特定版本的gradle的标记,其格式为
      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;即使这样,它仍然是21GB左右(包括许多工具、预构建等)

    如果您只是想查看源代码以供研究,而不是修改/构建它,那么这个问题的另一个答案可能就足够了。但是,如果你想自己修改和/或构建Android的Gealle插件,并且至少有21 GB的空闲,你可以考虑下面的建议。