繁体   English   中英

由 ADO 管道签名的 APK 安装失败,出现“未安装应用程序”错误,可能是由于签名问题

[英]APK signed by ADO pipeline fails to install with "App not installed" error possibly due to signing issues

我是 xamarin 和移动开发的新手,我很难将我的应用程序部署到实际设备上。 每次我尝试在除模拟器之外的任何设备上安装时,都会收到App not installed错误。 我花了很多时间在网上处理类似的问题/问题,但没有一个有帮助,或者至少我无法成功地将它们应用于我的情况,因为绝大多数人似乎都适用于在 android 工作室工作并手动构建apk。

我在 VS 2019 中使用 xamarin.forms,然后使用 ADO 管道构建和签署 .apk 文件。 从我的管道的角度来看,事情似乎运行良好。 签名步骤据说签名和验证成功,但尝试在 android 工作室中调试 .apk 文件时出现以下错误:

Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES

并且APK signature verification failed.

运行命令apksigner verify --print-certs <myapkfile>.apk ,我收到以下错误:

DOES NOT VERIFY
ERROR: Missing META-INF/MANIFEST.MF

我不确定为什么我的签名 apk 仍然因这些错误而失败,并且根据签名指南,我看不到任何我遗漏的东西。

配置

我的目标 android 版本是 Android 10.0(API 级别 29),我的 ADO.yaml 管道中的任务配置如下:

- task: XamarinAndroid@1
  inputs:
    projectFile: '**/*Droid*.csproj'
    outputDirectory: $(Build.ArtifactStagingDirectory)
    configuration: '$(buildConfiguration)'
    createAppPackage: true
    jdkOption: 'JDKVersion'
- task: AndroidSigning@3
  inputs:
    apkFiles: '**/*.apk'
    apksign: true
    apksignerKeystoreAlias: OnDeck
    apksignerKeystoreFile: 'release.keystore'
    apksignerKeystorePassword: $(CredentialPassword)
    apksignerKeyPassword: $(CredentialPassword)

我觉得它必须是我错过的一些非常小的东西,但我无法弄清楚。 任何帮助是极大的赞赏。

这个问题是因为在移动设备上安装了相同的版本,但在不同的系统上构建(导致不同的 SHA1 密钥)

解决方案:- 增加版本号并尝试安装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM