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





0/5 (0投票)
本文档描述了为 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 背后的想法是让开发人员为给定任务选择最佳平台。
设置和先决条件
开始之前,您需要下载并安装以下内容
- 下载 Android SDK
- 下载 NDK。
- 下载并安装 Cygwin*:当要求选择软件包时,搜索以下软件包并安装它们
- Autoconf、Automake、binutils、gcc-core、gcc-g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel
- gawk、make、python
注意:同时选择 make 的 GUI 版本;否则,您将无法使用 NDK 构建项目。
- 下载 Java 开发工具包 (JDK)。
- 下载 Apache Ant*。
接下来,编辑环境变量。
- 设置 JAVA_HOME = 您安装 Java JDK 的路径。例如
C:\Program Files\Java\jdk1.7.0_45
- 设置 ANDROID_SDK_ROOT = SDK 文件夹的完整路径。例如:下载 ADT 捆绑包并解压到
D:\android\,所以我的路径是:D:\android\adt-bundle-windows-x86-20131030\sdk
- 设置 NDK_ROOT = NDK 文件夹的完整路径。例如
D:\android\android-ndk-r9b
- 设置 NDK_ROOT = NDK 文件夹的完整路径。例如
D:\android\android-ndk-r9b
- 更新 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 和相应库的步骤
- 从 http://haxe.org/download 下载预构建源代码中的 HAXE。选择 Windows 安装程序。
- 下载后双击安装程序,然后按照安装步骤操作。
- 安装程序会设置环境变量 HAXEPATH 并将其追加到系统 PATH 环境变量中。如果不是,请执行必要的操作。例如:创建一个 env HAXEPATH 到已安装的路径,例如 E:\HaxeToolkit\haxe\,然后将该路径添加到系统 PATH env 中。
- 自动安装程序将安装 NekoVM,它用于一些 Haxe 工具,例如 haxelib 和 haxedoc。如果您是从源代码构建,请从 http://nekovm.org/download 下载并安装 neko。
注意:将 NEKO_INSTPATH 设置为 Neko。例如,E:\neko-2.0.0-win\ 并将 NEKO 路径添加到系统 PATH env。
- 使用以下命令安装属于 OpenFL 的所需库
注意:haxelib 是 haxe 的一部分,位于 HAXEPATH 中。
- haxelib install openfl
- haxelib install hxcpp
- haxelib install hxlibc
- haxelib install openfl setup android
注意:您可以通过 haxelib 安装,也可以通过为 Android SDK、NDK 和 Ant 提供本地安装目录来跳过此步骤,如以下屏幕截图所示。
- 现在库已安装,您可以构建过程。您可以通过键入以下命令检查已安装的库
- >haxe
- >haxelib
- >openfl
- >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 之一。
资源
https://github.com/HaxeFoundation/haxe
关于作者
Praveen Kundurthy 在英特尔® 软件和服务事业部工作。他拥有计算机工程硕士学位。他的主要兴趣是移动技术、Microsoft Windows* 和游戏开发。