开发 Android 应用程序

您可以在移动应用程序中使用 XenMobile API,以允许应用程序与 Citrix Endpoint Management 进行交互。本文介绍了如何将 MDX App SDK 集成到您的应用程序库中,以及测试、认证和发布应用程序所需的步骤。

如何使用 MDX App SDK

以下是一些您可能使用 API 的示例。

  • 对应用程序施加限制

您可以根据 API 调用是否指示应用程序受管理或已封装,来控制您的应用程序是否允许访问某些功能或操作。例如,如果应用程序不受管理或未封装,您可能允许用户访问所有功能和操作。如果应用程序已封装但不受管理,您可能会限制某些功能或操作。如果应用程序已封装并受管理,您可能会对应用程序施加额外的限制。

根据 Citrix Endpoint Management 策略设置执行操作

假设您希望在 Citrix Endpoint Management 管理员将“需要 WiFi”策略设置为“开”时向用户显示通知,这意味着应用程序允许在无线网络上运行。您可以使用 API 查找策略设置,然后根据策略值更改代码。

  • 根据自定义策略执行操作

    您可以使用 API 在应用程序中读取自定义策略。例如,假设您希望 Citrix Endpoint Management 管理员能够在应用程序中显示通知。为此,您可以创建一个默认为空或包含管理员在 Citrix Endpoint Management 控制台中提供的系统消息的自定义策略。当您的应用程序受管理时,它可以检测 Citrix Endpoint Management 管理员何时更改策略值。如果策略值包含消息,您的应用程序将显示通知。

有关 API 定义,请参阅适用于 Android 的 API

使用 Android Studio 和 Gradle 将 SDK 集成到您的应用程序库中

要将 MDX App SDK 添加到您的 Android 应用程序中,您需要将 MDX App Java 库导入或复制到您的应用程序中,如本节所述。这些步骤基于 Android Studio 和 Gradle 构建系统。完成这些步骤会将 MDX Apps SDK 库添加到您的应用程序中,以便应用程序可以访问其类和方法。

  1. 如果您尚未安装最新版本的 MDX Toolkit,请立即安装。

    1. 登录 Citrix Endpoint Management 下载页面。

    2. 展开 XenMobile® Apps and MDX Toolkit

    3. 找到您要安装的 MDX Toolkit 版本,然后单击其链接开始下载。

    4. 在 macOS 10.9.4 或更高版本以及 Xcode 5.1 或更高版本上,使用 macOS Finder 工具打开 MDXToolkit.mpkg。

    安装路径为 Applications/Citrix/MDXToolkit。

    MDX App SDK 文件位于 Applications/Citrix/MDXToolkit/data/MDXSDK_Android 中。

  2. 安装 MDX Toolkit 后,从 Android 开发者网站安装 Android Studio,然后执行以下操作:

    1. 在项目目录中,创建一个名为 libs 的文件夹。

    2. 将文件 worxsdk.aar 添加到 libs 文件夹中。

    3. 编辑项目“build.gradle”以添加一个规则,用于将 libs 文件夹作为存储库进行搜索,并从 libs 文件夹中包含 worxsdk.aar 作为依赖项。

    4. 构建您的 APK 文件。

worxsdk.aar 的示例:

-  // Top-level build file where you can add configuration options common to all sub-projects/modules.
-  buildscript {
        repositories {
-  jcenter()
-  }
-  dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    allprojects {
        repositories {
            jcenter()
            flatDir {
                dirs 'libs'
            }
        }
    }
    dependencies {
        compile(name:'worxsdk', ext:'aar')
<!--NeedCopy-->

OpenSSL 库可能会与 Android 应用程序中的类似库发生冲突。Citrix® 建议您使用 Citrix 版本的库以避免冲突。

发布 Android 应用程序

将 MDX App SDK 添加到 Android 应用程序后,请执行以下步骤来封装、测试、认证和发布应用程序。使用命令行界面封装应用程序时,请包含以下选项之一:

  • –appType Enterprise
  • -appType Premium
  • -appType General

默认值为 –appType Enterprise。使用以下准则选择 appType:

  • Enterprise: 应用程序需要用户设备上安装 Secure Hub。此外,您还必须在 StoreFront™ 中发布应用程序并通过 Secure Hub 安装应用程序。
  • General: ISV 应用程序可以不安装 Secure Hub 即可运行(初始)。当应用程序检测到用户设备上存在 Secure Hub 并且您发布了匹配的应用程序时,应用程序可以转换为受管理模式。作为受管理应用程序运行时,General 应用程序的行为与 Enterprise 应用程序相同。作为非受管理应用程序运行时,Citrix 策略不强制执行。
  • Premium: ISV 应用程序可以不安装 Secure Hub 即可运行(初始)。当应用程序检测到用户设备上存在 Secure Hub 并且您发布了匹配的应用程序时,应用程序可以转换为受管理应用程序。当应用程序以非受管理方式运行时,MDX 会强制执行某些策略,例如限制策略(允许网络访问、屏幕捕获或阻止摄像头)。

如果您需要将封装的 .apk 文件上传到应用程序商店或 Web 服务器,并且您已经知道 URL,请添加 -storeURL 选项。您也可以稍后添加 URL,如这些步骤后面所示。

MDX Toolkit 会输出一个修改后的 .apk 文件和一个 .mdx 文件。您将在以下步骤中使用这些文件。使用 MDX Toolkit 封装应用程序的 .apk 文件。有关详细信息,请参阅 MDX Toolkit 文档中的“封装 Android 移动应用程序”。该文章包含所有封装命令,包括那些特定于 ISV 应用程序的命令。

重要提示:

使用 MDX Toolkit 用户界面封装 ISV 应用程序的选项已不再可用。您必须使用命令行封装 ISV 应用程序。

测试您的应用程序

  1. 在 Android 设备上安装修改后的 .apk 文件,以验证所有应用程序功能。

  2. 使用 Citrix Endpoint Management 控制台将 .mdx 文件添加到 Citrix Endpoint Management,并将其交付到 Android 设备进行测试。有关详细信息,请参阅将 MDX 应用程序添加到 Citrix Endpoint Management。在该设备上,测试应用程序的 MDX 功能。

    如果您添加了自定义策略,请务必验证这些策略是否出现在 Citrix Endpoint Management 控制台中并按预期工作。如果您更改了 default_sdk_policies.xml,请测试这些更改。有关添加策略和更改策略默认值的详细信息,请参阅策略默认值和自定义策略

  3. 修复应用程序中发现的任何问题,重新生成应用程序 .apk 文件,并使用 MDX Toolkit 再次封装应用程序。

  4. 将原始 .apk 文件(不是 MDX Toolkit 输出的文件)提交给 Citrix 进行验证和认证。

  5. Citrix 认证您的应用程序后,将 MDX Toolkit 生成的 .apk 文件提交到 Google Play Store 进行审批。

  6. Google 批准您的应用程序后,运行 MDX Toolkit 以更新 .mdx 文件中的应用程序下载 URL。更改 URL 的示例命令如下:

    java -jar /Applications/Citrix/MDXToolkit/ManagedAppUtility.jar
    setinfo
    -in ~/Desktop/SampleApps/Sample.mdx
    -out ~/Desktop/SampleApps/wrapped/Sample.mdx
    -storeURL
    “https://play.google.com/store/apps/details?id=com.zenprise”

将最终的 .mdx 文件提供给 Citrix Endpoint Management 管理员,管理员会将其添加到 Citrix Endpoint Management 并发布给用户。或者,为了让您的应用程序更广泛地分发,您可以在 Citrix Ready Marketplace 中列出您的 MDX 验证应用程序。有关详细信息,请参阅 Citrix Ready 验证计划

升级应用程序的注意事项

Citrix Endpoint Management 软件在不同版本之间变化显著。为利用最新功能和错误修复,您必须使用最新版本的 MDX Toolkit 来封装您的应用程序。务必封装原始的 .ipa 或 .apk 文件,而不是之前由 MDX Toolkit 生成的修改文件。

务必使用相应版本的 MDX App SDK。

开发 Android 应用程序