Android 管理 API - 应用未安装,原因是 INSTALLATION_FAILURE_REASON_UNKNOWN 或 IN_PROGRESS

Android Management API - apps don't install with reason INSTALLATION_FAILURE_REASON_UNKNOWN or IN_PROGRESS

我遇到了一个已经描述过的类似问题 here。 建议的答案似乎不起作用,我想为该问题提供更多背景信息。

这是我为 phone 创建的策略:

{
  "name": "policy",
  "applications": [
    {
      "packageName": "com.microsoft.office.outlook",
      "installType": "FORCE_INSTALLED",
      "defaultPermissionPolicy": "GRANT",
      "disabled": false
    }
  ],
  "maximumTimeToLock": 120000,
  "screenCaptureDisabled": true,
  "cameraDisabled": false,
  "keyguardDisabledFeatures": [
    "ALL_FEATURES"
  ],
  "defaultPermissionPolicy": "GRANT",
  "addUserDisabled": true,
  "adjustVolumeDisabled": false,
  "factoryResetDisabled": true,
  "installAppsDisabled": true,
  "mountPhysicalMediaDisabled": true,
  "modifyAccountsDisabled": true,
  "uninstallAppsDisabled": true,
  "keyguardDisabled": false,
  "bluetoothContactSharingDisabled": true,
  "advancedSecurityOverrides": {
    "developerSettings": "DEVELOPER_SETTINGS_ALLOWED"
  }
}

注册 phone 后,应用程序不会安装。 当获取 phone 的详细信息时,它们包含带有应用程序详细信息的键 nonComplianceDetails

{
    "nonComplianceDetails": [
      {
        "settingName": "applications",
        "nonComplianceReason": "APP_NOT_INSTALLED",
        "packageName": "com.microsoft.office.outlook",
        "installationFailureReason": "IN_PROGRESS"
      }
}

或以任何方式修改政策后:

{
    "nonComplianceDetails": [
      {
        "settingName": "applications",
        "nonComplianceReason": "APP_NOT_INSTALLED",
        "packageName": "com.microsoft.office.outlook",
        "installationFailureReason": "INSTALLATION_FAILURE_REASON_UNKNOWN"
      }
}

我已经尝试将 installType 更改为 REQUIRED_FOR_SETUP。我也试过提供 minimumVersionCode。但是这些解决方案都不起作用。

启用 USB 调试并检查日志后,adb logcat | grep Finsky | grep com.microsoft.office.outlook 的其中一行脱颖而出:

Installer: Canceling update. Disallowed by Policy. package=com.microsoft.office.outlook

这让我相信应用程序安装与我指定的一些策略之间存在冲突。事实上,删除除 applications 之外的所有设置似乎可以解决问题。但是我无法找到应该受到指责的特定键。相反,在我看来,似乎应该归咎于指定的政策数量,而不是具体的政策。

无论如何,到目前为止我无法解决问题,如果有人可以分享他们的解决方案,我将不胜感激。

在我之前尝试找出应该归咎于哪个策略密钥的过程中,我一定是错过了这个问题,但似乎导致应用程序无法安装的密钥是 "installAppsDisabled": true

删除此密钥后,问题似乎一直消失了。

文档中对此设置的描述有点混乱:Whether user installation of apps is disabled。我认为这并不是说不能自动安装应用程序。