我正在尝试使用 Azure DevOps 管道中的 Gradle 任务构建 Android 应用程序
但是我要么收到这个错误(我也尝试过 Gradle@3)
或者当我尝试指定 java 版本(jdkVersionOption)时,无论我尝试什么 java 版本,它都不起作用)
代理有java 19,但当我尝试为任何版本的java执行java工具安装程序时,它也不起作用(预安装)
我也是初学者,所以请让对我来说很简单:)
如果您的要求是使用 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