问题标签 [nme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
482 浏览

ios - AIR 版本更新后 Haxe/NME 游戏在 iOS 设备上失败

所以,我继承了一个具有以下设置的游戏项目:

  • 游戏本身的核心 SWF,使用 Haxe (3.0)/NME (4.0.2) 编写,利用 Starling 框架,使用 FlashDevelop 编译为 Flash 目标
  • 处理各种设备通信需求的 AS3 包装器(例如检测设备功能、管理手机锁定状态和暂停游戏/静音音乐等)。这被编译成自己的 SWF (AIR 3.6),这是实际启动的,随后加载“核心”SWF 并将其添加到舞台。
  • 该 AS3 SWF 随后使用 ADT(也是 AIR 3.6)与其资产(包括核心 SWF)一起打包成目标格式 (APK/IPA)。

尽管有一些奇怪的复杂性,但整个事情运行得很好。我们创建了功能性、可用的应用程序,这些应用程序 a) 可在 Android 和 iOS 设备上运行,并且 b) 通过提交标准。

快进几个月;该游戏现已通过测试版,并准备好首次发布。安卓,一切顺利。另一方面,iOS……就在我们尝试将 1.0 上传到 iTunes Connect 的前几天,Apple 改变了他们的要求。突然,我们收到错误消息“提交到 App Store 的应用程序和应用程序更新必须使用 Xcode 5.1.1 或更高版本以及 iOS 7 SDK 或更高版本的公共 (GM) 版本构建。不要提交使用 beta 构建的应用程序软件。” 好吧,这个错误在 9 月份让许多开发人员感到困惑。最终 Adob​​e 发布了 AIR 15,打包的 IPA 再次满足了苹果的提交要求。

不幸的是,更新到 AIR 15 扰乱了小程序。我们现在可以上传 IPA,但具有讽刺意味的是,它无法在 iOS 设备上运行。加载屏幕(由纯 AS3“包装”SWF 生成)出现,但是当标题屏幕(由“核心”SWF 生成)应该出现时,什么都没有。黑屏,没有活动,或者(在以后的一些尝试中),即时,无消息的应用程序消失)。在 iOS 控制台上没有产生错误,在 FDB 中单步执行应用程序时没有发生任何不愉快的事情(直到应用程序消失并且 FDB 失去与远程主机的连接)。

其他重要信息:

我已经尝试更新过程中涉及的每个组件,包括 AIR 15 和 16 beta 的各种更新。所有列出的 haxelib。我们甚至尝试将“核心”项目(以最粗略的方式)移植到 OpenFL。所有这些都导致了适用于 Windows(桌面,而不是手机)的版本,适用于 Android,但不适用于 iOS。

Haxelib 库: 原始:

额外美味的崩溃:

tl;dr:旧版本的 AIR 应用程序可在 iOS 上运行,但无法提交到 iTunes。可以提交新版本,但在 iOS 上不起作用(导致死机黑屏或崩溃)

任何帮助——关于问题可能是什么的建议,我们可能能够找出问题的其他方法,甚至是通过提交阻塞(例如重新签名)获得工作应用程序的方法——将不胜感激。目前,不得不在其他框架等中重新设计整个游戏是一个非常站不住脚的解决方案。对于一家非常有前途的独立游戏开发公司来说,这基本上是生死攸关的局面。

0 投票
1 回答
384 浏览

android - OpenFL Android 在 Google Play 上构建和过滤 armv5/armv6 设备

我正在使用 OpenFL 构建一个 Android 应用程序以在 Google Play 上分发。我只想针对armv7设备,并且我相信 OpenFL 会armv7- 默认情况下只构建。

但是,在构建 OpenFL 构建系统时,会创建并填充libs/armeabi文件夹而不是libs/armeabi-v7a文件夹。这样做的问题是,这使 Google Play 相信生成的 apk 支持armv5/armv6/armv7,而实际上它只支持armv7. 这意味着我的应用程序从使用旧/不兼容设备的人那里获得了一些 1 星评价。

在这个Github 问题上,Joshua Granick (jgranick) 解释了为什么构建工具会这样做:

哦,顺便说一句,最初我们只尝试了 armeabi-v7,但它无法在某些设备上运行。这就是为什么存在当前行为或使用 armeabi,并且只有在有 armv5/6 版本的情况下才添加 armeabi-v7

我想知道他提到的问题是什么,以及它会影响哪些设备/Android 版本。根据具体情况,可能仍然只进行armv7构建并手动将有问题的设备列入黑名单。

最后一个选择是通过“胖”构建来简单地支持armv5/armv6设备,或者只构建armv5我认为在任何地方都兼容的构建。<architecture>使用文件中的标签非常容易project.xml。如果无法解决 Joshua 提到的问题,我可能会做出权衡。

此外,使用 Google Play 开发人员仪表板,我还可以手动将 armv5/armv6 设备列入黑名单,但对每个应用程序/apk 执行此操作非常耗时。

所以我的问题是:我如何才能armv7使用 OpenFL 构建仅 Android 版本,并让 Google Play 只允许兼容设备,而不会遇到我上面引用的问题?如果那不可能,那么我最好的选择是什么?

以下是我在构建时获得的相关 Google Play apk 详细信息供参考armv7

谷歌玩 armeabi

谢谢!

0 投票
2 回答
999 浏览

haxe - OpenFL C++ 错误:无法猜测 MINGW_ROOT

我是 OpenFL 的新手,第一次尝试让它工作。我已经通过命令提示符安装了 haxe、lime 和 openfl,并使用石灰设置窗口安装了 Visual Studio Express 2010。但是,当我尝试在针对 c++ 的 Flash Develop 中编译一个全新的 OpenFL 项目时,我收到错误“错误:无法猜测 MINGW_ROOT(尝试过 [c:/MinGW])- 请明确设置”。

以前有人遇到过这个问题吗?或者我有什么需要配置的吗?谢谢。

0 投票
1 回答
262 浏览

haxe - Haxe:重建 hxcpp 失败并出现错误:找不到构建目标“std”

尝试重建 hxcpp 失败并显示神秘的错误消息:

0 投票
1 回答
106 浏览

android - NME android路径位置?

nme测试build.nmml安卓

Error: Could not find /Library/Android//extras/android/support/v4/android-support-v4.jar

这是我的错误。

我看到有一个“//”,但应该有一个目录,通常我的路径是

/Library/Android/android_sdk/...

有人能告诉我在哪里可以改变这条路吗?

0 投票
1 回答
174 浏览

haxe - 在 El Capitan 上编译 HaxeUI 应用程序时出错

我正在尝试使用最新版本的 El Capitan 在 Mac OS 上编译 HaxeUI 应用程序。

已安装的 Haxe 库列表,包括版本:

在尝试使用 openfl build mac 进行编译时,我收到以下错误和警告:

有谁能够帮我?我该如何摆脱这些问题?

0 投票
1 回答
201 浏览

haxe - 如何发布一个 openfl 桌面(windows)应用程序

我使用 openfl 创建了一个 haxe 项目。我可以使用lime test windows.

现在我如何将这个项目实际发送给其他用户?

我尝试简单地压缩通过运行上面的命令创建的二进制输出。然后,当我在另一台计算机上解压缩此 zip 并启动​​可执行文件时,它会抱怨我缺少某些 .dll 文件(更具体地说是 libstdc++-6.dll 文件)。