65.9K
CodeProject 正在变化。 阅读更多。
Home

Haxe 工具包:为 Android 平台编译 Intel® x86

2016 年 2 月 1 日

CPOL

5分钟阅读

viewsIcon

10483

本文档描述了为 Android* 平台上的 Intel® x86 构建 Haxe* 项目 (OpenFL*) 的分步说明。

英特尔® 开发人员专区提供用于跨平台应用开发、平台和技术信息、代码示例以及同行专业知识的工具和操作方法,以帮助开发人员创新并取得成功。加入我们的 Android物联网英特尔® 实感™ 技术Windows 社区,下载工具、访问开发工具包、与志同道合的开发人员分享想法,并参与黑客马拉松、竞赛、路演和本地活动。

本文档描述了为 Android* 平台上的 Intel® x86 构建 Haxe* 项目 (OpenFL*) 的分步说明。

Haxe 是一种开源编程语言。虽然大多数其他语言都绑定到自己的平台(Java* 绑定到 JVM,C# 绑定到 .NET,ActionScript 绑定到 Flash* Player),但 Haxe 是一种多平台语言

您可以使用 Haxe 定位以下平台

  • JavaScript*。您可以将 Haxe 程序编译为单个 .js 文件。您可以使用自动完成支持访问类型化的浏览器 DOM API,并且所有依赖项都在编译时解析。
  • Flash。您可以将 Haxe 程序编译为 .swf 文件。Haxe 兼容 Flash Player 6 到 11。Haxe 提供良好的性能语言特性来开发 Flash 内容。
  • NekoVM*。您可以将 Haxe 程序编译为 NekoVM 字节码。这可用于服务器端编程,例如动态网页(使用 Apache 的 mod_neko),也可用于命令行桌面应用程序,因为 NekoVM 可以嵌入并使用其他 DLL 扩展。
  • PHP。您可以将 Haxe 程序编译为 .php 文件。这使您可以使用像 Haxe 这样的高级严格类型语言,同时保持与现有服务器平台和库的完全兼容性。
  • C++。您可以从 Haxe 源代码生成 C++ 代码,以及所需的 Makefiles,这对于创建本机应用程序来说是一个有用的功能。NME 库使用此功能在 iOS*、Android* 平台等上运行 Haxe 代码。截至 2.10 版,它还包括调试功能。
  • C#Java。从 Haxe 3.0 开始,您可以为这些目标生成源代码。

Haxe 背后的想法是让开发人员为给定任务选择最佳平台。

设置和先决条件

开始之前,您需要下载并安装以下内容

  1. 下载 Android SDK
  2. 下载 NDK
  3. 下载并安装 Cygwin*:当要求选择软件包时,搜索以下软件包并安装它们
    1. Autoconf、Automake、binutils、gcc-core、gcc-g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel
    2. gawk、make、python

    注意:同时选择 make 的 GUI 版本;否则,您将无法使用 NDK 构建项目。

  4. 下载 Java 开发工具包 (JDK)。
  5. 下载 Apache Ant*。

接下来,编辑环境变量。

  1. 设置 JAVA_HOME = 您安装 Java JDK 的路径。例如

    C:\Program Files\Java\jdk1.7.0_45

  2. 设置 ANDROID_SDK_ROOT = SDK 文件夹的完整路径。例如:下载 ADT 捆绑包并解压到

    D:\android\,所以我的路径是:D:\android\adt-bundle-windows-x86-20131030\sdk

  3. 设置 NDK_ROOT = NDK 文件夹的完整路径。例如

    D:\android\android-ndk-r9b

  4. 设置 NDK_ROOT = NDK 文件夹的完整路径。例如

    D:\android\android-ndk-r9b

  5. 更新 Path 变量以包含以下内容 = JDK 文件夹路径、JDK bin 文件夹、NDK、Cygwin bin 文件夹、ANT bin 文件夹、SDK tools 文件夹和 SDK platform-tools 文件夹,每个路径之间用分号 (;) 分隔。例如

    D:\cygwin64\bin;C:\Program Files\Java\jdk1.7.0_40\bin;D:\android\adt-bundle-windows-x86_64-20131030\sdk\tools;D:\android\adt-bundle-windows-x86_64-20131030\sdk\platform-tools;%JAVA_HOME%\bin;%ANT_HOME%\bin

注意:不要以“\”、“`”或任何此类特殊字符结束任何变量。

获取 HAXE 和相应的库

您可以按照 https://github.com/HaxeFoundation/haxe 上的说明从源代码获取 Haxe,或者从 http://haxe.org/download 下载预构建的源代码。

以下是下载 HAXE 和相应库的步骤

  1. http://haxe.org/download 下载预构建源代码中的 HAXE。选择 Windows 安装程序。
  2. 下载后双击安装程序,然后按照安装步骤操作。
  3. 安装程序会设置环境变量 HAXEPATH 并将其追加到系统 PATH 环境变量中。如果不是,请执行必要的操作。例如:创建一个 env HAXEPATH 到已安装的路径,例如 E:\HaxeToolkit\haxe\,然后将该路径添加到系统 PATH env 中。
  4. 自动安装程序将安装 NekoVM,它用于一些 Haxe 工具,例如 haxelibhaxedoc。如果您是从源代码构建,请从 http://nekovm.org/download 下载并安装 neko。

    注意:将 NEKO_INSTPATH 设置为 Neko。例如,E:\neko-2.0.0-win\ 并将 NEKO 路径添加到系统 PATH env。

  5. 使用以下命令安装属于 OpenFL 的所需库

    注意:haxelib 是 haxe 的一部分,位于 HAXEPATH 中。

    1. haxelib install openfl
    2. haxelib install hxcpp
    3. haxelib install hxlibc
    4. haxelib install openfl setup android

    注意:您可以通过 haxelib 安装,也可以通过为 Android SDK、NDK 和 Ant 提供本地安装目录来跳过此步骤,如以下屏幕截图所示。

  6. 现在库已安装,您可以构建过程。您可以通过键入以下命令检查已安装的库
    1. >haxe
    2. >haxelib
    3. >openfl
    4. >neko

    例如,当您键入 haxe 时,您的屏幕将如下所示

构建过程

创建示例应用程序 (OpenFL)

可以使用以下命令创建示例 OpenFL 应用程序

>haxelib run openfl create DisplayingABitmap

上述命令创建一个示例项目。

为 Android x86 构建应用程序

应使用以下命令为 Android x86 构建/清除 haxe OpenFL 应用程序

>haxelib run openfl build android –DHXCPP_X86 –verbose
>haxelib run openfl clean android –DHXCPP_X86 –verbose

为 Android x86 配置 Haxe OpenFL

以下文件可以引入或添加 Android 的 x86 配置设置

  • haxe/lib/hxlibc/1,0,0/build-tool/gcc-toolchain.xml
  • haxe/lib/hxlibc/1,0,0/build-tool/android-toolchain.xml
  • haxe/lib/hxtools/1,1,3/src/platforms/AndroidPlatform.hx
  • haxe/lib/hxtools/1,1,3/project/HXProject.hx
  • openfl-native/1,1,1/project/Build.xml 以获取 -x86 后缀

输出或二进制文件

最终二进制文件生成到

<projectDir>/Export/android/obj/libApplicationMain.so

库生成到

<projectDir>\Export\android\bin\libs\x86

已知问题或附加信息

  • 软件包安装失败。例如:haxelib install openfl 失败,提示
    • "错误连接/阻塞"
    • 解决方案:如果您使用代理访问互联网,请确保设置代理设置;例如:haxelib proxy
  • openfl build android 失败,提示
    • ANT/...build.xml,目标 16/XX 未找到
    • 解决方案:在 OpenFL 项目的 project.xml 中添加以下内容:<android target-sdk-version="19" /> // 其中 19 是可用的 SDK 之一。

资源

http://haxe.org/

https://github.com/HaxeFoundation/haxe

关于作者

Praveen Kundurthy 在英特尔® 软件和服务事业部工作。他拥有计算机工程硕士学位。他的主要兴趣是移动技术、Microsoft Windows* 和游戏开发。

© . All rights reserved.