添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

使用适用于 Android 的 Microsoft Intune App Wrapping Tool通过限制应用的功能而不更改应用本身的代码来更改内部 Android 应用的行为。

该工具是在 PowerShell 中运行的 Windows 命令行应用程序,并在 Android 应用周围创建包装器。 包装应用后,可以通过在 Intune 中配置 移动应用程序管理策略 来更改应用的功能。

运行该工具之前,请查看 运行App Wrapping Tool的安全注意事项 。 若要下载该工具,请转到 GitHub 上的 Android Microsoft Intune App Wrapping Tool

如果在对应用使用 Intune App Wrapping Tool时遇到问题,请在 GitHub 上提交 帮助请求

满足使用App Wrapping Tool的先决条件

  • 必须在运行 Windows 7 或更高版本的 Windows 计算机上运行App Wrapping Tool。

  • 输入应用必须是文件扩展名为 .apk 的有效 Android 应用程序包,并且:

  • 它无法加密。
  • 它之前不得被Intune App Wrapping Tool包装。
  • 它必须针对 Android 9.0 或更高版本编写。
  • 如果输入应用是 Android 应用捆绑包 (.aab) ,则需要在使用 Intune App Wrapping Tool 之前将其转换为 APK。 有关详细信息,请参阅 将 Android App Bundle (AAB) 转换为 APK 。 自 2021 年 8 月起, 新的专用应用仍可作为 APK 发布到 Google Play 商店

  • 应用必须由或为你的公司开发。 不能在 Google Play 商店中提供的应用上使用此工具。 这包括从 Google Play 商店下载或获取应用。

  • 若要运行App Wrapping Tool,必须安装最新版本的 Java 运行时环境 ,并确保 Windows 环境变量中的 Java 路径变量已设置为 C:\ProgramData\Oracle\Java\javapath。 有关更多帮助,请参阅 Java 文档

    在某些情况下,32 位版本的 Java 可能会导致内存问题。 最好安装 64 位版本。

  • Android 要求对 (.apk) 的所有应用包进行签名。 有关 重用 现有证书和整体签名证书指南,请参阅 重用签名证书和包装应用 。 使用 Intune App Wrapping Tool 包装 .apk 文件后,建议使用 Google 提供的 Apksigner 工具 。 这将确保应用到达最终用户设备后,可以按照 Android 标准正确启动它。

  • (可选) 有时,由于包装期间添加的 MAM SDK 类Intune,应用可能会达到 Dalvik 可执行文件 (DEX) 大小限制。 DEX 文件是 Android 应用编译的一部分。 自) 1.0.2501.1 起,该Intune App Wrapping Tool自动处理最小 API 级别为 21 或更高 (的应用的包装过程中的 DEX 文件溢出。 对于最小 API 级别 < 为 21 的应用,最佳做法是使用包装器的 -UseMinAPILevelForNativeMultiDex 标志提高最小 API 级别。 对于无法提高应用的最低 API 级别的客户,可以使用以下 DEX 溢出解决方法。 在某些组织中,这可能需要与编译应用 (人员协作。应用生成团队) :

  • 使用 ProGuard 从应用的主 DEX 文件中消除未使用的类引用。
  • 对于使用 Android Gradle 插件 v3.1.0 或更高版本的客户,请禁用 D8 dexer
  • 安装App Wrapping Tool

  • GitHub 存储库 中,将适用于 Android Intune App Wrapping Tool 的安装文件InstallAWT.exe下载到 Windows 计算机。 打开安装文件。

  • 接受许可协议,然后完成安装。

    记下工具安装到的文件夹。 默认位置为:C:\Program Files (x86) \Microsoft Intune Mobile Application Management\Android\App Wrapping Tool。

    运行App Wrapping Tool

    Intune定期发布对Intune App Wrapping Tool的更新。 定期检查 Android Intune App Wrapping Tool 进行更新,并纳入软件开发发布周期,以确保应用支持最新的应用保护策略设置。

  • 在安装了 App Wrapping Tool的 Windows 计算机上,打开 PowerShell 窗口。

  • 从安装该工具的文件夹中,导入 App Wrapping Tool PowerShell 模块:

    Import-Module .\IntuneAppWrappingTool.psm1
    
  • 使用 invoke-AppWrappingTool 命令运行该工具,该命令具有以下用法语法:

    Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
    

    下表详细介绍 了 invoke-AppWrappingTool 命令的属性:

    导入 PowerShell 模块。

    Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"
    

    在本机应用 HelloWorld.apk 上运行App Wrapping Tool。

    invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose
    

    包装的应用和日志文件将生成并保存在指定的输出路径中。

    应多久使用 Intune App Wrapping Tool重新包装一次 Android 应用程序?

    需要重新打包应用程序的main方案如下所示:

  • 应用程序本身已发布新版本。 应用的早期版本已包装并上传到Microsoft Intune管理中心。

  • 适用于 Android 的Intune App Wrapping Tool发布了一个新版本,该版本支持关键 bug 修复或新的特定Intune应用程序保护策略功能。 这种情况每隔 6-8 周通过适用于 Android Microsoft Intune App Wrapping Tool的 GitHub 存储库进行一次。

    重新包装的一些最佳做法包括:

  • 维护在生成过程中使用的签名证书,请参阅 重用签名证书和包装应用
  • 重用签名证书和包装应用

    Android 要求所有应用都必须由有效的证书签名才能安装在 Android 设备上。

    包装后,可以使用现有的签名工具 (应用中的任何签名信息进行包装 然后包装) 丢弃。 如果可能,应在包装过程中使用在生成过程中已使用的签名信息。 在某些组织中,这可能需要与拥有密钥存储信息 (人员合作。应用生成团队) 。

    如果无法使用以前的签名证书,或者之前尚未部署应用,则可以按照 Android 开发人员指南中的说明创建新的签名证书。

    如果应用以前部署了其他签名证书,则升级后无法将应用上传到 Intune。 如果应用使用与生成应用时使用的不同证书进行签名,则应用升级方案将中断。 因此,应维护任何新的签名证书,以便进行应用升级。

    运行App Wrapping Tool的安全注意事项

    防止潜在的欺骗、信息泄露和特权提升攻击:

  • 确保输入业务线 (LOB) 应用程序,并且输出应用程序位于运行App Wrapping Tool的同一台 Windows 计算机上。

  • 将输出应用程序导入到运行该工具的同一计算机上Intune。 有关 Java keytool 的详细信息,请参阅 keytool

  • 如果输出应用程序和工具位于通用命名约定 (UNC) 路径上,并且你未在同一台计算机上运行该工具和输入文件,请使用 Internet 协议安全性 (IPsec) 服务器消息块 (SMB) 签名来设置环境的安全。

  • 确保应用程序来自受信任的源。

  • 保护包含包装应用的输出目录。 考虑对输出使用用户级目录。

    将 Android 应用捆绑包 (AAB) 转换为 APK

    Intune App Wrapping Tool目前仅支持 APK 输入。 必须首先将 Android 应用捆绑包转换为 APK 才能与该工具一起使用。

    可以使用 Google 的命令行工具 bundletool将 Android 应用捆绑包转换为 APK。 可以从 Google 的 bundle-toolbundletool GitHub 存储库下载 最新版本。

    bundletool可以使用以下命令生成与 Intune App Wrapping Tool配合使用的单个通用 APK:

    bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks
    

    输出 .apks 文件是包含单个通用 APK 文件的 ZIP 存档。 解压缩存档并使用该 APK 文件作为Intune App Wrapping Tool的输入。

  • 决定如何使用 Microsoft Intune 准备用于移动应用程序管理的应用

  • Microsoft Intune Android 应用 SDK 开发人员指南

  •