首页 > 解决方案 > ANDROID : Gradle 传入一个参数,例如 serverURL

问题描述

我想运行 Gradle 并传入一个服务器 url,这样我就可以有不同的端点供我的 Android 应用程序查看。

我已经按照这篇文章从 android studio 传递 -P 参数到 gradle

但是当我将它部署到我的管道时,它看不到任务。

错误:

SYSTEMVSSCONNECTION exists true
[command]C:\Windows\system32\cmd.exe /D /S /C "C:\vstsagent\A1\_work\3\s\ftg\gradlew.bat task setBaseUrl "-Purl=https://blabla.com/api/Graph" jacocoRootReport"
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details

> Configure project :app
app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.github.bumptech.glide:compiler:4.8.0'.

FAILURE: Build failed with an exception.

* What went wrong:
Task 'setBaseUrl' not found in root project 'ftg'.

Gradle 任务在我的 App build.gradle 中

def serverUrl = "https://bla.com/api/Graph"

task setBaseUrl(){
    group = "build"
    if(project.hasProperty("url")){
        serverUrl = url
    }
}

我可以通过做在本地调用任务

gradle task setBaseUrl -Purl=https://bla.com/api/Graph

标签: androidgradleandroid-gradle-plugin

解决方案


这实际上证明管道 (Azure Devops) 没有拉入最新的 Gradle 文件,即使它正在构建分支。它使用的是 Develop 中的 Gradle 文件,但使用的是 FeatureXYZ 中的代码


推荐阅读