gpt4 book ai didi

android - 从应用程序 gradle 运行库构建作为 build.dependsOn libraryBuild 任务,而不包括作为应用程序 gradle 文件中的依赖项

转载 作者:行者123 更新时间:2023-12-03 04:56:43 25 4
gpt4 key购买 nike

在我的情况下,我将在下面的命令中运行这个

 ./gradlew -q projects

它将返回如下输出

根项目
Root project 'MyProject'
+--- Project ':app'
\--- Project ':mymodule'

现在我想构建(应用程序的运行/绿色播放图标)我的 ':app'所以 ':mymodule'应该自动构建
但不包括 ':mymodule'作为 ':app' 中的依赖项级别构建.gradle

应用程序级别的 build.gradle 文件中的类似内容
task gradleBuild(type: GradleBuild ) {
println "gradleBuild task start"
doFirst{
tasks=["mymodule:clean"]
tasks = ["mymodule:build"]
}
doLast {
tasks = ["mymodule:install"]
println 'gradleBuild task end.'
}

}

build.dependsOn gradleBuild

但它不起作用我收到如下错误消息
Task :app:gradleBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Project 'mymodule' not found in project ':MyProject:app'.

settings.gradle我有这个
include ':app' , ':mymodule'

最佳答案

当我们按下“运行/绿色播放”图标时,您可以通过以下方法实现自动构建库项目(在您的情况下为“mymodule”)而不将其包含在应用程序模块 build.gradle 文件中的要求。

一般运行图标会配置为单一配置。这不在项目范围内,而是在模块范围内。由于这个原因,当您按下图标时,“mymodule”不会构建,而如果您调用
1. gradlew 从命令行构建
2.同步项目
3.点击制作项目

两个模块(app 和 mymodule)都已构建。

为了满足您的要求,我们必须在 Android Studio 中编辑现有的应用程序配置来构建“mymodule”库项目。

  • 在应用程序 build.gradle
  • 中添加以下任务

    task buildModule(type: GradleBuild) {
    buildFile = '../mymodule/build.gradle'
    tasks = ['build']
    }

  • 点击工具栏中的编辑配置

  • enter image description here
  • 单击“启动前”部分下的加号,然后选择带有“android”图标的行。

  • enter image description here
  • 选择后出现提示,在提示中输入“:app:buildModule”,按“OK”

  • enter image description here
  • 最终用户界面将是

    enter image description here
  • 应用更改并按您之前尝试的方式按“运行”图标。这将自动构建“mymodule”。
  • 关于android - 从应用程序 gradle 运行库构建作为 build.dependsOn libraryBuild 任务,而不包括作为应用程序 gradle 文件中的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58145827/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com