开发 Android 应用程序

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

如何使用 MDX 应用程序 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 应用程序 SDK 添加到您的 Android 应用程序,需将 MDX 应用程序 Java 库导入或库复制到您的应用程序,如本节中所述。这些步骤基于 Android Studio 和 Gradle 构建系统。通过这些步骤将添加 MDX 应用程序 SDK 库添加到您的应用程序,以便它的类和方法可由该应用程序访问。

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

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

    2. 展开 XenMobile Apps 和 MDX Toolkit

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

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

    安装路径为 Applications/Citrix/MDXToolkit。

    MDX 应用程序 SDK 文件位于 Applications/Citrix/MDXToolkit/data/MDXSDK_Android。

  2. 安装 MDX Toolkit 之后,从 Android 开发人员 Web 站点安装 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')

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

发布 Android 应用程序

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

  • –appType 企业
  • -appType 高级
  • -appType 常规

默认值为 –appType 企业。使用下列准则来选择 appType:

  • 企业: 应用程序要求在用户设备上安装 Secure Hub。此外,您还必须在 StoreFront 中发布应用程序,并通过 Secure Hub 安装应用程序。
  • 常规: ISV 应用程序可以在没有 Secure Hub 的情况下(最初)运行。当应用程序在用户设备上检测到 Secure Hub,并且您发布一个匹配的应用程序时,该应用程序可转换到托管模式。当作为托管应用程序运行时,常规应用程序的行为与企业应用程序相同。当作为非托管应用程序运行时,不会强制执行 Citrix 策略。
  • 高级: 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. 向 Citrix 提交原始 .apk 文件(而不是由 MDX Toolkit 输出的文件),以进行验证和认证。

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

  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”

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

升级应用程序时的注意事项

各个 Citrix Endpoint Management 软件版本之间的变化很大。必须使用最新版本的 MDX Toolkit 打包您的应用程序,才能利用最新功能和缺陷修复。请务必打包您的初始 .ipa 或 .apk 文件,而非经过修改的以前通过 MDX Toolkit 生成的文件。

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

开发 Android 应用程序