问题标签 [android-for-work]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
3782 浏览

android - 为多个客户端发布 Android 私有应用

我们正在处理的

我们有这个应用程序,我们以离线方式分发给我们的客户(即未上传到 Play 商店)。分发给每个客户端的应用程序风格几乎与这里和那里的一些调整相同。我们所有的客户都将此应用程序分享给他们的员工以供使用。基本上这是一个企业应用程序。

有什么问题

最近,我们的一位客户开始使用 MDM(移动设备管理)工具,该工具会阻止未从 Google Play 下载的应用程序。显然,我们收到了客户的请求,看看我们是否可以在 Google Play 上上传这个应用程序。

这里重要的是我们有超过 100 个客户端,并且提供给每个客户端的应用程序包名称实际上是相同的。所以它是同一个应用程序,在这里和那里进行了一些调整。如果我们继续将应用程序发布到 Play 商店,我们可能会陷入混乱(我们不想将 100 个不同的应用程序上传到 Play 商店 - 即每个客户端一个)。我们正在做一些优化,以便多个客户端可以使用同一个应用程序(但我们不能让所有 100 多个客户端都使用同一个应用程序。)。

我在看什么?

我开始研究Android For Work (AFW)、Google 私人应用程序、托管 Google Play并且仍在消化这些东西。但对我来说,这似乎只是企业部署/发布应用程序的一种安全方式,这些应用程序只能在特定设备上和特定配置文件下下载(这样可以将事情与用户的个人应用程序和数据分开,以防他们将同一部手机用于个人和工作目的)。

我正在寻找什么解决方案?

  1. 私下部署应用程序(使用 Google 托管或私下托管但在两种情况下都使用 Google play 列出)并让我的客户与他们的员工共享此应用程序。

  2. 每个客户的每个私人应用程序都应该在自己的私人小岛上。我想将具有相同包名称的应用程序分发给我的所有客户(从我目前所读的内容来看,这可能无法通过 Google play 实现。但我希望如果我遗漏了什么,有人可以指出事实)。

0 投票
1 回答
930 浏览

android - Android/COSU:应用程序应该如何在安装后自动运行

我的问题是关于这里的 Android 文档中的一行。 https://developers.google.com/android/work/prov-devices#set_up_device_owner_mode_google_account。特别是它说的项目#2

  1. DPC 会自动下载到设备并启动。

如何?

具体来说,下载后仍在启动向导的上下文中启动 DPC 的触发器是什么?我问是因为它不适合我。

我有企业拥有的单一用途 (COSU) 应用程序,但我在部署时遇到了麻烦——特别是 DPC 应用程序将自己设置为设备所有者的部分。到目前为止,我已经将该应用程序作为私有应用程序加载到 Google Play 商店中。G-Suite 存在于同一域中,并且 Google 已注册为该帐户的 EMM。COSU 应用程序被列入白名单并作为设置向导的一部分安装......但它不会启动。

据我所知,它必须在恢复出厂设置的情况下启动,以便我可以将设备所有者重置为下载的应用程序。

我应该寻找特定的 Activity 或 BroadcastIntent 吗?我是 Android 新手,所以我一直在翻阅 TestDPC 代码、Android 文档和 SO 帖子,但是这种部署事情很痛苦。

作为辅助查询。您将如何调试这种情况?它全部恢复出厂设置并通过有线方式安装,我没有机会打开开发人员模式并通过 Android Studio 观看日志。将新版本推送到 Google Play 并重置硬件以下载和安装需要很长的周期时间。

提前致谢

0 投票
2 回答
609 浏览

android - Managed Configurations: defining an array of strings

According to the restriction entry types, for defining a list of objects we should use the bundle_array type, and an example follows:

In code that would be similar to a List<VpnConfiguration>, and VpnConfiguration would be a pojo with the three fields vpn_server, vpn_username, and vpn_password.

So far so good, now imagine that a simpler data structure is needed, like a String[]. According to Test DPC this should be possible, because there's an option to insert an array of strings:

enter image description here

Once you select it, then you are prompted to enter the list of values. However, the documentation does not have a string_array type, it has only the bundle_array.

With bundle_array you can define a List<String> instead of String[], but that is overkill:

So, is there a simpler way one can define a string array?

0 投票
1 回答
188 浏览

android - 在哪里提交有关 Android EMM API 的错误报告?

服务存在问题https://www.googleapis.com/androidenterprise/v1/enterprises/enterpriseId/products/productId/appRestrictionsSchema在我们的一个应用程序中返回错误信息。我们可以在哪里提交错误报告?

0 投票
3 回答
2740 浏览

google-play - 通过 Android Management Api 或设备所有者 locktask 开发 Cosu 应用程序

我必须为我的企业设备实施一次性应用程序,其中只有一个主要的 android 应用程序本身可以使用 2-3 个其他应用程序,如通话、短信和谷歌地图,除了该用户不能使用或访问其他应用程序和设置,

1)我通过企业管理 API 考虑了企业拥有的单一用途,它更复杂、更大,但更完整的解决方案。

2) 我已经 使用一个 看起来更像是我的解决方案的 android 设备所有者应用程序实现并测试了示例 Lock 任务,但是有一个问题

如何为生产级设备配置设备所有者?对于我的测试,我能够使用 adb shell 命令进行配置。我知道设备必须是新的/重置和未配置的,这不是问题。

我在这里寻求一些建议,如果有人实施它会有所帮助。

更新

Fred 建议的 android management Api QuickStartGuide似乎是正确的方法。我的策略是来自自定义启动器的多个应用程序 现在我陷入了一种情况,我想发布我的启动器应用程序或其他应用程序以仅为我的企业播放商店。

我已关注将您自己的应用程序上传到 Google Play 商店,这导致我发布了私有应用程序,但我无法这样做,因为我没有获得限制分发选项。

我不知道如何完美地实现这一点。对于我目前的政策和企业,我有 2 个有效的电子邮件 ID,

第一个 email_1 是连接到初始项目的那个, 项目所有者帐户并且

所有 google api 调用都是在 email_1 下完成的 在此处输入图像描述

另一个是 email_2 一个是企业管理员 企业管理员

并连接到托管的 Google Play 商店。托管 Play 商店管理员

email_1 和 email_2 都具有对我公司开发人员帐户的管理员访问权限 发布应用帐户

现在我需要弄清楚仅为我的企业发布应用程序,我认为存在正确权限或其他问题,需要帮助。谢谢

0 投票
1 回答
788 浏览

android - Google EMM - 调用者未注册为 MDM 问题

我创建了 MSA 帐户和 Oauth2 客户端 ID 和客户端密码。通过使用该客户端 ID,我正在尝试使用generateSignupUrl API。但是这个 API 给了我以下错误。

注意:我为注册为 MSA 的同一个帐户创建了 Oauth2 凭据,并且还使用同一个帐户来使用提到的 API。

0 投票
2 回答
159 浏览

java - EMM是我要找的吗?

我们有一个基于 Java 的 Web 应用程序和一个 Android 应用程序来满足我们的企业需求。我们想从 Web 应用程序远程推送 android 应用程序,但我们不知道如何实现。在 Google 中搜索后,我找到了 Android EMM,但不明白那是什么,因为除了 Google 网站之外没有其他博客或教程,这对我来说很难理解。

它类似于 MDM 解决方案,但 MDM 服务器是否在设备中预装了一个应用程序,以便安装的应用程序管理其他应用程序的安装?

谁能告诉我如何从我的网络应用程序远程推送 android 应用程序?

0 投票
2 回答
1758 浏览

android - Android 管理 API 和 MDM

我正在使用新的 Android Management API。

现在,Google 有自己的应用程序,称为 Android Device Policy,它充当 MDM 应用程序,但 MDM 应用程序不需要恢复出厂设置,但为什么我们必须在使用 Android 管理 API 注册 AFW 时将设备恢复出厂设置。

安卓设备策略不能手动安装设置为设备管理员吗?

0 投票
1 回答
970 浏览

python - 无法创建 android 管理注册 URL

我正在尝试为我们的组织访问新的 Android 管理 API,但在访问 API 时遇到问题。通过 API 资源管理器访问 API 时一切正常。为了在我们的服务器上运行它,我在 Google 云控制台中创建了一个新项目并在那里创建了一个服务帐户。我下载了密钥并将其用于我机器上的本地测试。但是,在第一次 signupUrl 调用时,我收到 403 错误,指出:“调用者无权管理项目。”。我正在使用的服务帐户具有“项目所有者”角色,我不知道如何赋予它更多权限......

我正在使用的代码:

0 投票
1 回答
484 浏览

android-tv - AndroidTV 上的 Android 管理 API (COSU)?

Android 管理 API应该“与任何运行 Android 5.1 或更高版本且安装了 Google Play 的设备兼容”。我真的希望这是真的,但在使用 Android 电视时遇到了问题。(具体来说,我正在测试一个 NexBox A95x 和一个 TX3mini。)

我的绊脚石是如何在配置时将注册令牌输入设备?我对三星平板电脑没有任何问题。但是,Android TV 在硬件重置后不使用相同的启动向导,因此似乎没有机会触发 QR 阅读器或手动输入令牌。我尝试将注册令牌输入 Google Play 应用程序(代替电子邮件或电话号码登录),但没有运气。

任何想法或见解如何使这项工作?如果有人知道为什么这不能工作的明确原因(例如,管理 API 不能在 AOSP 上工作),那也将是有用的信息。

澄清(2017 年 12 月 26 日更新)

以下是 Google Management API 的一个最小、完整且可验证的示例。Google 自己的快速入门练习。

问题:快速入门练习似乎不适用于 Android TV(在 NexBox A95x 和 TX3mini 上测试)。拦截器出现在这一步:(Provision A Device)。Android TV 有自己的设置向导,不接受 Android For Work 注册令牌。(我在三星平板电脑上完成了快速入门,没有问题。)

谷歌的文档称,管理 API “与任何运行 Android 5.1 或更高版本且安装了 Google Play 的设备兼容”,因此这些 Android 电视似乎应该符合条件。

有没有人找到解决方法来在 Android TV 上完成 Management API 快速入门?