I was told I wrote this question on the wrong forum... since posting, I have answered my own question... The Xamarin Forms Build Pipeline yml file contains entries for a variable created 'outputDirectory'... If you use this to begin your process this certainly works for build... When you get to signing, you need the folder where the compiled output APK is... If you use 'ouputDirectory' This doesn't seem to work... My WORKING YML for Build, Sign and Show Artifact is below...
Using 'outputDirectory' as it appears in the yml file will not allow a signed apk (for unknown reasons), once I changed all the references in the script to use 'Build.ArtifactStagingDirectory'... everything began working... 2 hours of my life I'll never get back again.
NEW DEFAULT YML CONFIGURATION FOR XAMARIN FORMS
Xamarin.Android
Build a Xamarin.Android project.
Add steps that test, sign, and distribute an app, save build artifacts, and more:
https://learn.microsoft.com/azure/devops/pipelines/languages/xamarin
trigger:
- master
pool:
vmImage: 'macos-latest'
variables:
buildConfiguration: 'Release'
outputDirectory: '$(build.binariesDirectory)/$(buildConfiguration)'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '**/*.sln' - task: XamarinAndroid@1
inputs:
projectFile: '**/droid.csproj'
outputDirectory: '$(outputDirectory)'
configuration: '$(buildConfiguration)'
THIS IS WHAT IS CURRENTLY WORKING...
Xamarin.Android
trigger:
- master
pool:
vmImage: 'macos-latest'
variables:
buildConfiguration: 'Release'
outputDirectory: '$(build.binariesDirectory)/$(buildConfiguration)'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '**/*.sln' - task: XamarinAndroid@1
inputs:
projectFile: '**/droid.csproj'
outputDirectory: '$(Build.ArtifactStagingDirectory)'
configuration: '$(buildConfiguration)' - task: AndroidSigning@3
inputs:
apkFiles: '$(Build.ArtifactStagingDirectory)/*.apk'
apksignerKeystoreFile: 'ATLED.keystore'
apksignerKeystorePassword: '$(keystore-password)'
apksignerKeystoreAlias: '$(key-alias)'
apksignerKeyPassword: '$(key-password)'Build a Xamarin.Android project.
Add steps that test, sign, and distribute an app, save build artifacts, and more:
https://learn.microsoft.com/azure/devops/pipelines/languages/xamarin
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'