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
。我认为这并不是说不能自动安装应用程序。
我遇到了一个已经描述过的类似问题 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
。我认为这并不是说不能自动安装应用程序。