签名APK文件**/*.apk没有匹配文件
Signing APK file **/*.apk no matching file
我正在尝试在 Azure Devops 中为我的 Xamarin 应用程序构建一个 Android 管道。这是我目前所拥有的:
# Xamarin.Android
# Build a Xamarin.Android project.
# Add steps that test, sign, and distribute an app, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/xamarin
trigger:
- master
pool:
vmImage: 'macos-latest'
# Installing NuGet
steps:
- task: NuGetToolInstaller@1
# Restoring the solutions
- task: NuGetCommand@2
inputs:
restoreSolution: '**/*.sln'
- task: NuGetCommand@2
inputs:
restoreSolution: 'Student360Mobile.Droid/Student360Mobile.Droid.csproj'
# Building the android app
- task: XamarinAndroid@1
inputs:
projectFile: 'Student360Mobile.Droid/Student360Mobile.Droid.csproj'
configuration: 'Release'
createAppPackage: true
# Signing the APK
- task: AndroidSigning@3
inputs:
apkFiles: '**/*.apk'
apksign: true
apksignerKeystoreFile: 'debug.keystore'
apksignerKeystorePassword: $(keystore.password)
apksignerKeystoreAlias: $(keystore.key.alias)
apksignerKeyPassword: $(keystore.key.password)
apksignerArguments: --out $(build.artifactStagingDirectory)/app.release.apk
zipalign: true
# Publishing the APK so we can distribute
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
# Distributing the APK to app store
- task: AppCenterDistribute@3
inputs:
serverEndpoint: 'App Center'
appSlug: 'Tyler-SIS-Mobile/Student360MobileAndroid'
appFile: '$(Build.ArtifactStagingDirectory)/app.release.apk'
releaseNotesOption: 'input'
releaseNotesInput: 'Automated build from App Center'
destinationType: 'groups'
出于某种原因,我总是收到此错误:“未找到具有搜索模式的匹配文件。”我已经尝试了很多东西:
- 将 XamarinAndroid@1 任务的输出目录设置为特定目录,并将 appFile 设置为该目录,后跟“/*.apk”
- 将输出目录设置为 $(build.artifactStagingDirectory) 并将 appFile 设置为 $(build.artifactStagingDirectory)/*.apk
- 保持输出目录清晰并使用 appFile 的默认目录,$(build.binariesDirectory)/bin/Release/*.apk
- 使用“**/*.apk”为 appFile 执行上述所有操作。
其中每一个都不起作用。几乎就像没有生成 APK 一样。我相信我已经适当地配置了构建,但我没有在日志中看到制作该 APK 的位置。当然,我也不知道是否会有日志。给出了什么?
csproj 文件被设置为创建 AAB 文件而不是 APK 文件。我通过将 arg -p:AndroidPackageFormat=apk 添加到 Xamarin Android 构建命令来专门针对我们的 Azure 管道覆盖此行为。
我正在尝试在 Azure Devops 中为我的 Xamarin 应用程序构建一个 Android 管道。这是我目前所拥有的:
# Xamarin.Android
# Build a Xamarin.Android project.
# Add steps that test, sign, and distribute an app, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/xamarin
trigger:
- master
pool:
vmImage: 'macos-latest'
# Installing NuGet
steps:
- task: NuGetToolInstaller@1
# Restoring the solutions
- task: NuGetCommand@2
inputs:
restoreSolution: '**/*.sln'
- task: NuGetCommand@2
inputs:
restoreSolution: 'Student360Mobile.Droid/Student360Mobile.Droid.csproj'
# Building the android app
- task: XamarinAndroid@1
inputs:
projectFile: 'Student360Mobile.Droid/Student360Mobile.Droid.csproj'
configuration: 'Release'
createAppPackage: true
# Signing the APK
- task: AndroidSigning@3
inputs:
apkFiles: '**/*.apk'
apksign: true
apksignerKeystoreFile: 'debug.keystore'
apksignerKeystorePassword: $(keystore.password)
apksignerKeystoreAlias: $(keystore.key.alias)
apksignerKeyPassword: $(keystore.key.password)
apksignerArguments: --out $(build.artifactStagingDirectory)/app.release.apk
zipalign: true
# Publishing the APK so we can distribute
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
# Distributing the APK to app store
- task: AppCenterDistribute@3
inputs:
serverEndpoint: 'App Center'
appSlug: 'Tyler-SIS-Mobile/Student360MobileAndroid'
appFile: '$(Build.ArtifactStagingDirectory)/app.release.apk'
releaseNotesOption: 'input'
releaseNotesInput: 'Automated build from App Center'
destinationType: 'groups'
出于某种原因,我总是收到此错误:“未找到具有搜索模式的匹配文件。”我已经尝试了很多东西:
- 将 XamarinAndroid@1 任务的输出目录设置为特定目录,并将 appFile 设置为该目录,后跟“/*.apk”
- 将输出目录设置为 $(build.artifactStagingDirectory) 并将 appFile 设置为 $(build.artifactStagingDirectory)/*.apk
- 保持输出目录清晰并使用 appFile 的默认目录,$(build.binariesDirectory)/bin/Release/*.apk
- 使用“**/*.apk”为 appFile 执行上述所有操作。
其中每一个都不起作用。几乎就像没有生成 APK 一样。我相信我已经适当地配置了构建,但我没有在日志中看到制作该 APK 的位置。当然,我也不知道是否会有日志。给出了什么?
csproj 文件被设置为创建 AAB 文件而不是 APK 文件。我通过将 arg -p:AndroidPackageFormat=apk 添加到 Xamarin Android 构建命令来专门针对我们的 Azure 管道覆盖此行为。