对于客户,我创建了一个简单的应用程序,供客户员工和客户客户使用。所有手机都是运行 Android 9 的三星 A70 手机。
该应用程序已设置为在 KIOSK 模式下运行,因此只能运行该应用程序(专用设备)。它是一个托管应用程序,因此只有客户拥有的设备才能通过客户企业安装该应用程序。该应用程序是通过 Google Management API 使用策略安装的。
我只是使用https://developers.google.com/android/management/quickstart创建策略并使用二维码从头开始安装手机。
到目前为止一切都很好。问题是我无法让手机更新到更新版本的信息亭应用程序。
我了解当应用程序处于 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()
但该应用程序仍未更新。所以我希望有人对我所缺少的东西有一些想法。