【发布时间】:2020-05-20 03:54:36
【问题描述】:
我为客户创建了一个简单的应用程序,供客户员工和客户客户使用。所有手机均为运行 Android 9 的三星 A70 手机。
应用程序已设置为在 KIOSK 模式下运行,因此只能运行应用程序(专用设备)。 它是一个托管应用程序,因此只有客户拥有的设备才能通过客户企业安装该应用程序。该应用程序是通过 Google Management API 使用策略安装的。
我只是使用https://developers.google.com/android/management/quickstart 创建策略并使用二维码从头开始安装手机。
到目前为止一切都很好。问题是我无法让手机更新到 kiosk 应用程序的较新版本。
我了解,当应用程序处于 Kiosk 模式时,它们不能简单地更新,您必须设置允许应用程序退出 KIOSK 模式并自行更新的时间间隔。但即使我在策略中设置了时间间隔,它也不会更新。甚至试图让时间间隔为一整天。
我也尝试使用 minimumVersionCode 策略强制更新,但更新仍然被忽略。
我检查了托管应用程序是否已上传并获得批准(实际上距离上一个版本已上传一个多月),所以我很确定它与缓存没有任何关系。它说应用程序是 11 版。
Production
Release:
0.0.11
Full roll-out.
1 app bundle, version code:
11
手机使用的政策如下。 (根据我的客户要求,我已经删除了完整的包 url)
import json
#policy_name = enterprise_name + '/policies/internalUsers'
policy_name = enterprise_name + '/policies/developer'
policy_json = '''
{
"applications": [
{
"packageName": "[package_url].itemrepair",
"installType": "KIOSK",
"defaultPermissionPolicy": "GRANT",
"minimumVersionCode": 11
}
],
"safeBootDisabled": true,
"factoryResetDisabled": false,
"debuggingFeaturesAllowed": true,
"appAutoUpdatePolicy": "ALWAYS",
"systemUpdate":
{
"type": "WINDOWED",
"startMinutes": 0,
"endMinutes": 1439
}
}
'''
androidmanagement.enterprises().policies().patch(
name=policy_name,
body=json.loads(policy_json)
).execute()
我确定手机使用了正确的策略,因为当我列出企业中的所有设备时,我可以看到设备已同步策略。而且它们都在线,所以我也可以使用 reboot 命令重启设备。
full = 'enterprises/[enterprise_id]/devices/[device_id]'
androidmanagement.enterprises().devices().issueCommand(name=full,body={'type':'REBOOT'}).execute()
但应用仍未更新。所以我希望有人对我缺少的东西有一些想法。
【问题讨论】:
标签: android google-play android-management-api android-enterprise