使用 Gradle 的 Android 在 Azure DevOps Pipeline 中失败

问题描述 投票:0回答:1

我正在尝试使用 Azure DevOps 管道中的 Gradle 任务构建 Android 应用程序

但是我要么收到这个错误(我也尝试过 Gradle@3)

或者当我尝试指定 java 版本(jdkVersionOption)时,无论我尝试什么 java 版本,它都不起作用)

代理有java 19,但当我尝试为任何版本的java执行java工具安装程序时,它也不起作用(预安装)

我也是初学者,所以请让对我来说很简单:)

android gradle azure-devops android-gradle-plugin azure-pipelines
1个回答
0
投票

如果您的要求是使用 JDK8 构建应用程序,并且尚未在自托管代理环境中安装

JDK8
,则可以使用
JavaToolInstaller@0
任务来安装所需的 JDK。但是,您不应将
Preinstalled
用作
jdkSourceOption
,因为它设计为使用预安装在 Microsoft 托管 代理上的 Java 版本。

这是一个示例管道供您参考。 (请参阅有关 JavaToolInstaller@0 - Java 工具安装程序 v0 任务 | Microsoft Learn 的更多信息。)

variables:
  system.debug: true

pool:
  #vmImage: ubuntu-latest
  name: Self-hostedAgentPoolName
  demands:
    Agent.OS -equals Linux

steps:
- script: |
    java -version
    wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u402-b06/openlogic-openjdk-8u402-b06-linux-x64.tar.gz -O JAVA_HOME_8_X64.tar.gz
    tree
  displayName: Download JDK8
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'LocalDirectory'
    jdkFile: 'JAVA_HOME_8_X64.tar.gz'
    jdkDestinationDirectory: '$(Agent.ToolsDirectory)/JAVA_HOME_8/X64'
    cleanDestinationDirectory: true
    createExtractDirectory: false
- script: |
    java -version
    echo Environment Variable JAVA_HOME_8_X64 is $(JAVA_HOME_8_X64)
    tree $(Agent.ToolsDirectory)
  displayName: Check JDK version

- task: Gradle@3
  inputs:
    gradleWrapperFile: '$(Build.Repository.LocalPath)/gradlew'
    workingDirectory: '$(Build.Repository.LocalPath)'
    tasks: 'clean build'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    gradleOptions: '-Xmx3072m'
    sonarQubeRunAnalysis: false
    spotBugsAnalysis: false

© www.soinside.com 2019 - 2024. All rights reserved.