开发 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 and 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 Tookit 所生成的 .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”
    
  7. 向 Citrix Endpoint Management 管理员提供最终的 .mdx 文件,管理员将其添加到 Citrix Endpoint Management 并将其发布给用户。或者,为了更广泛地发布您的应用程序,您也可以将经 MDX 验证的应用列在 Citrix Ready Marketplace中。有关详细信息,请参阅 Citrix Ready Worx 验证的程序

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

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

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