将 Kanzi 应用程序部署到 Android

从 Kanzi Studio 构建和部署 Kanzi 应用程序

在 Kanzi Studio 中,您可以使用单个命令构建并部署您的 Kanzi 应用程序到 Android 设备上。当您仍在对应用程序进行原型设计或开发时,此方法在您想查看应用程序在 Android 设备上的工作和外观时非常有用。

第一次构建和部署 Android 包时,您需要有可用的互联网连接,因为构建过程会下载并安装 Android 构建工具、SDK 和库依赖项。

当您构建和部署使用 Kanzi Studio project 模板创建的 Kanzi 应用程序时,Kanzi 会将 Android 包导出到 <KanziWorkspace>/Temp 目录。请参阅 创建项目。

要从 Kanzi Studio 构建和部署 Kanzi 应用程序:

  1. 将 Android 设备连接到计算机。

  2. 在 Kanzi Studio 中,创建或打开您的 Kanzi 应用程序的项目,并选择 File > Export > Build Android Package。

    Kanzi Studio 构建应用程序源代码,创建 .apk 包,并将该包安装到您的 Android 设备。

    ../../_images/build-android-package.png

配置 Android 版本

您可以使用 Kanzi Studio 中的应用程序配置来配置您的 Kanzi 应用程序在 Android 上的构建。例如,您可以设置目标架构,以及 Kanzi 是否应将构建的包部署到连接的目标设备。您可以在 Project > Properties 中的 Default Build Configuration 属性中选择 File > Export > Build Android Package 时设置要使用的应用程序配置。

../../_images/project-properties.png ../../_images/default-build-configuration-property.png
  1. 在 Kanzi Studio 中,在 Library 中,按 Alt 并右键单击 Build Configurations 并选择 Android Build Configuration。

    ../../_images/create-build-configuration.png
  2. 在 Properties 中,设置 Android 构建的配置。

    例如:

    • 将 Build Profile 属性设置为 Debug,以使用调试构建类型进行构建,而不是默认的 Release 构建。

    • 如果您想手动将 .apk 包安装到您的 Android 设备,请禁用 Install to Device 属性。

    ../../_images/sample-application-configuration.png

从 Android Studio 构建和部署 Kanzi 应用程序。

要从 Android Studio 构建和部署 Kanzi 应用程序:

  1. 在 Kanzi Studio 中,创建或打开一个基于其中一个 Android application Kanzi Studio 项目模板的 Kanzi Studio 项目。请参阅 在 Kanzi Studio 中创建一个 Android 应用程序。。

  2. 在 Kanzi Studio 主菜单中,选择 File > Open Android Project in Android Studio。

    Kanzi Studio 在 Android Studio 中打开来自 <ProjectName>/Application/configs/platforms/android_gradle 目录的 Android 项目。

    ../../_images/open-project-in-android-studio.png ../../_images/open-android-studio-project.png
  3. (可选) 构建过程依赖于 Kanzi Engine 和 Kanzi Gradle 插件。当您将项目存储在 Kanzi 工作区目录中时,Gradle 会自动检测项目依赖项。

    要从不在 Kanzi 工作区目录中的目录构建项目,请在 <ProjectName>/Application/configs/platforms/android_gradle/local.properties 文件中,将 kanzi.home 属性设置为 Kanzi 工作区目录的位置。

    例如:

    kanzi.home=C\:\\<KanziWorkspace>
    
  4. 要构建应用程序包,在主菜单中,选择 Build > Make Project。

    默认情况下,Android Studio 使用调试构建配置。当您构建 Kanzi 项目时,您可以在 <ProjectName>/Application/configs/platforms/android_gradle/app/build/outputs/apk/debug 找到 Android 包。

    要使用发布版本配置进行构建,请打开 Build Variants 窗口并设置 Build Variant 以 release。

    ../../_images/make-project.png

    小技巧

    如果不指定目标架构,Gradle 会构建适用于所有受支持平台的软件包。您可以在 build.gradle 中设置要为其构建软件包的架构。

    android {
        defaultConfig {
            ndk {
                abiFilters 'arm64-v8a', 'x86'
            }
        }
    }
    
  5. 将您的 Kanzi 应用程序部署到 Android 设备或 Android 虚拟设备:

    1. 将您的 Android 设备连接到计算机。要部署到 Android 虚拟设备,您必须创建一个。请参阅 https://developer.android.com/studio/run/emulator。

    2. 在 Android Studio 主菜单中,选择 Run > Run ‘app’,并选择您要将应用程序部署到的设备。

      ../../_images/run-app.png

从命令行构建和部署 Kanzi 应用程序

To build and deploy your Kanzi application to an Android device using the command line:

  1. 在 Windows 开始菜单的 Rightware 目录中,选择 Kanzi Command Prompt。

    当您安装了多个版本的 Kanzi 时,确保将您要在该命令提示符下使用的 Kanzi 版本的 Kanzi Command Prompt 启动。请参阅 使用 Kanzi Command Prompt。

    小技巧

    要在 Kanzi Studio 中打开 Kanzi Command Prompt,请选择 File > Open Kanzi Command Prompt。

  2. 在项目的 <ProjectName>/Application/configs/platforms/android_gradle 目录中:

    • 要构建 Android 软件包,视您要使用的是发布、剖析,还是调试版本类型,运行以下相应命令:

      gradlew assembleRelease
      
      gradlew assembleProfiling
      
      gradlew assembleDebug
      
    • 默认情况下,Gradle 使用所有受支持的 ABI 构建软件包。

      要限制构建的 ABI 集合,可以采用以下任一方式:

      • 在 Gradle 配置中设置 abiFilters 参数。

      • 在构建时使用 arch 参数传递 ABI。

      请参阅 https://developer.android.com/ndk/guides/abis#gc。

      例如,

      • 要构建适用于 64 位 ARM 架构的软件包,请运行以下命令:

        gradlew assembleRelease -Parch=arm64-v8a
        
      • 要为多个特定 ABI 构建,请提供以逗号分隔的列表:

        gradlew assembleRelease -Parch=arm64-v8a,x86_64
        

      要了解 Android 支持的 ABI,请参阅 https://developer.android.com/ndk/guides/abis#sa。

    • 要在设备上安装 Android 软件包,请运行以下命令:

      gradlew assembleRelease installRelease -Parch=arm64-v8a
      
    • 要在设备上启动 Android 包,请运行:

      gradlew startPackage
      
    • 要清除旧的 Android 软件包构建,请运行以下命令:

      gradlew clean cleanNative
      

剥离调试符号

当您为生产构建应用程序时,为了减少二进制文件的大小,您可以从应用程序的本机库中去除调试符号。要做到这一点,请传递 stripNativeLibs 属性:

gradlew assembleRelease -PstripNativeLibs

备注

Android Gradle 插件中的一个错误不允许您为特定的构建变体默认启用此选项。请参阅 https://issuetracker.google.com/issues/155215248。

另请参阅

使用脚本为 Android 构建 Kanzi 应用程序