【问题标题】:Source code of Google's Gradle Plugin for building Android谷歌构建Android的Gradle插件源代码
【发布时间】:2017-05-13 17:50:33
【问题描述】:

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

【问题讨论】:

    标签: gradle plugins build


    【解决方案1】:

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

    1. cd 进入你的主目录
    2. cd 到 .gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/
    3. 使用深度搜索工具(如find)查找名称为“gradle-core-2.3.1-sources.jar”的文件(注意:本例中的“2.3.1”只是一个可能性。您可能有不同的版本。并且您的机器上可能有多个版本。)

    换句话说,下载的插件源 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
    . . .

    【讨论】:

      【解决方案2】:

      this one 是你要找的吗?

      【讨论】:

        【解决方案3】:

        构建 gradle 插件的说明在这里;

        http://tools.android.com/build/gradleplugin

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

        您可以在此处克隆或在线浏览;

        https://android.googlesource.com/platform/tools/base/

        【讨论】:

          【解决方案4】:

          以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

          $ 回购同步

          【讨论】:

            【解决方案5】:

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

            https://maven.google.com/web/index.html#com.android.tools.build:gradle

            【讨论】:

              【解决方案6】:

              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 的标签,格式为 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 的空闲空间,您可以考虑遵循上述建议。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2023-03-24
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多