

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS Device Farm 中的应用程序
<a name="apps"></a>

以下各部分提供了有关 Device Farm 中的应用程序行为的信息。

**Topics**
+ [分析应用程序](#test-runs-instrumenting)
+ [对运行中的应用程序重新签名](#test-runs-app-resigning)
+ [运行中难以辨认的应用程序](#test-runs-obfuscated-apps)

## 分析应用程序
<a name="test-runs-instrumenting"></a>

您无需分析您的应用程序或为 Device Farm 提供您的应用程序的源代码。Android 应用程序无需修改即可提交。必须使用 **iOS 设备**目标而非模拟器构建 iOS 应用程序。

## 对运行中的应用程序重新签名
<a name="test-runs-app-resigning"></a>

对于 iOS 应用程序，您无需向您的预置配置文件中添加任何 Device Farm UUID。Device Farm 会使用通配符配置文件替换嵌入式预置配置文件，然后重新签署该应用程序。如果您提供了辅助数据，则 Device Farm 会在 Device Farm 安装应用程序之前将辅助数据添加到应用程序的程序包中，以使辅助数据位于您的应用程序的沙盒中。重新签署应用程序会删除权限，例如应用程序组、关联域、游戏中心、HealthKit、HomeKit、无线配件配置、应用程序内购买、应用程序间音频、Apple Pay、推送通知以及 VPN 配置和控制。

对于 Android 应用程序，Device Farm 会对应用程序重新签名。这可能会破坏依赖应用程序签名的任何功能（如 Google Maps Android API），也可能会触发 DexGuard 之类的产品的防盗版或防窜改检测。

## 运行中难以辨认的应用程序
<a name="test-runs-obfuscated-apps"></a>

对于 Android 应用程序，如果应用程序难以辨认，您仍然可以使用 Device Farm 测试它 (如果您使用 ProGuard)。但是，如果您使用包含防盗版措施的 DexGuard，Device Farm 将无法对应用程序重新签名并运行测试。