Android Studio 中的复合构建
Composite Builds in Android Studio
我希望在名为 MyProject 的 Android Studio 项目中使用 Gradle 的新复合构建功能,该项目包括一个名为 DroidLib 的 Android 存档库 (.aar) 和一个名为 JavaLib 的 Java 库 (.jar)。由于我无法 Gradle 从我们的内部 Artifactory 中提取依赖项,这些库目前已被纳入版本控制。也就是说,DroidLib 项目已将 JavaLib.jar 签入 libs 文件夹下的 git,而 MyProject 项目已将 DroidLib.aar 签入其 libs 文件夹下的 git。我想在 DroidLib 和 JavaLib 中进行更改,同时调试和使用 MyProject w/o 中的更改,从依赖项目手动重建。
Gradle 中新的 Composite 构建功能提供了我所需要的东西,但它看起来是通过如下标志从命令行触发的东西:
--include-build ../DroidLib
在 Gradle 文档中,此标志似乎允许 Gradle 使用在包含的构建中声明的类似项目覆盖在本地项目中声明的依赖项。这是有道理的,因为他们都使用相同的 group/name/version 方案。我无法理解如何从 Android Studio 中使用它,其中我的 DroidLib 依赖项被声明为基于本地文件系统的依赖项:
compile(name:'DroidLib-1.19', ext:'aar')
命令行标志如何告诉 Gradle 哪个依赖项被覆盖,因为在 DroidLib 上没有明显的 group/name/version 声明?另外,我如何在使用 Gradle 感知 make 功能的应用程序启动 运行 配置中使用它?有没有办法将附加选项传递给 Gradle-aware make,或者我是否过度思考这里必须发生什么?
简答
尚不可用(在 IntelliJ 2016.3 中)。
更多详情
根据 this blog post,该功能在 IntelliJ 2016.3 中:
With composite builds, everything is much, much simpler. All you have to is to attach the Gradle projects of these libraries via the Add button in the Gradle tool window (my-utils in our case), and then select Compose Build Configuration from the context menu for the original project.
不幸的是,根据 this release note,Android-Studio 2.3 基于 IntelliJ 2016.2。所以我们必须等待 IntelliJ 2016.3 合并到 Android Studio =/.
我希望在名为 MyProject 的 Android Studio 项目中使用 Gradle 的新复合构建功能,该项目包括一个名为 DroidLib 的 Android 存档库 (.aar) 和一个名为 JavaLib 的 Java 库 (.jar)。由于我无法 Gradle 从我们的内部 Artifactory 中提取依赖项,这些库目前已被纳入版本控制。也就是说,DroidLib 项目已将 JavaLib.jar 签入 libs 文件夹下的 git,而 MyProject 项目已将 DroidLib.aar 签入其 libs 文件夹下的 git。我想在 DroidLib 和 JavaLib 中进行更改,同时调试和使用 MyProject w/o 中的更改,从依赖项目手动重建。
Gradle 中新的 Composite 构建功能提供了我所需要的东西,但它看起来是通过如下标志从命令行触发的东西:
--include-build ../DroidLib
在 Gradle 文档中,此标志似乎允许 Gradle 使用在包含的构建中声明的类似项目覆盖在本地项目中声明的依赖项。这是有道理的,因为他们都使用相同的 group/name/version 方案。我无法理解如何从 Android Studio 中使用它,其中我的 DroidLib 依赖项被声明为基于本地文件系统的依赖项:
compile(name:'DroidLib-1.19', ext:'aar')
命令行标志如何告诉 Gradle 哪个依赖项被覆盖,因为在 DroidLib 上没有明显的 group/name/version 声明?另外,我如何在使用 Gradle 感知 make 功能的应用程序启动 运行 配置中使用它?有没有办法将附加选项传递给 Gradle-aware make,或者我是否过度思考这里必须发生什么?
简答
尚不可用(在 IntelliJ 2016.3 中)。
更多详情
根据 this blog post,该功能在 IntelliJ 2016.3 中:
With composite builds, everything is much, much simpler. All you have to is to attach the Gradle projects of these libraries via the Add button in the Gradle tool window (my-utils in our case), and then select Compose Build Configuration from the context menu for the original project.
不幸的是,根据 this release note,Android-Studio 2.3 基于 IntelliJ 2016.2。所以我们必须等待 IntelliJ 2016.3 合并到 Android Studio =/.