问题标签 [air-native-extension]
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.
android - 使用新的 Google Cloud Messaging 的 Flash Air ANE 推送通知
我尝试使用此 ANE 注册到新 GCM: https ://github.com/freshplanet/ANE-Push-Notification iOS 推送正常,但 Android 版本冻结并显示此跟踪消息:无法识别的事件注册
这是我的 xml 描述符:
应用程序是使用 Flash Pro CS6 构建的。
谁来帮帮我 ?
ios - 为 iOS 打包时找不到 lib
() 中的数字,见文末链接
我正在开发一个 Air Native Extension (ANE),以便能够在移动设备上使用突发广告。
至于我的设置,我使用的是 FlashDevelop 4.0.4 和 Adobe Air 3.3。我正在使用 Flex 4.6.0 SDK。该项目是在 Windows7 上设置的。
为了在 iOS 设备上工作,Burstly 需要一些框架和库
我设法为 iOS 编写和编译 .a 库。我也有将被编译成 swc 和 librairy.swf 的 Android 和 iOS 共享的界面(actionscript 代码)。所有这些都成功打包到我的项目中包含的 .ane 中。
在 MacOS 上编译 .a 库时,使用的所有框架和库似乎都没有打包在“.a”中。这就是为什么我必须为 -platformsdk 选项 (1) 使用 Air 3.3。
由于我在 Windows 上工作,因此我按照本文中的说明获取了 iOS SDK (2)。
按照所需的框架和(1),我做了一个这样的platformConfig.xml文件,打包在.ane中
这是编译实际 .ane 的行
当我尝试使用 ADT 打包 iOS 应用程序时出现问题:
有时候是这样的:
“ld:未找到 -libsqlite3 的库 执行时编译失败:ld64”
框架似乎添加得很好,但 dylib 不是。我试图添加这一行:
在包含lib之前,但我收到了这个错误:
“ld:警告:找不到选项'-Lusr/lib/'的目录ld:找不到-libsqlite3的库执行时编译失败:ld64”
我尝试使用完整路径,其他相对路径,但无论我在选项中输入什么路径,我总是得到一个“警告:找不到选项的目录”。甚至“-L ../”也会给我这个警告。唯一似乎有效的是“-L /../”,但我的 .dylib 明显不存在。
所以我的问题是:我做错了什么?知道我还能尝试什么吗?即使解释为什么它不起作用也会有所帮助!
链接:
1:http: //blogs.adobe.com/rajorshi/2011/11/16/ios5-support-for-airusing-external-sdks-to-package-apps/
2:http: //blogs.adobe.com/airodynamics/2012/05/18/using-platformsdk-for-ios-on-windows/
apache-flex - NativeProcess.isSupported 和 Updater.isSupported 在 AIR 应用程序中是否都为真?
我正在尝试在 Windows 中检查用户域名,并且需要本机进程支持。
在应用程序配置 xml ( xmlns="http://ns.adobe.com/air/application/2.6"
) 我有
当我使用 adl 运行应用程序时,一切正常,但是当我尝试安装应用程序(* .air 包)时,我收到一个错误,即不支持本机进程。有趣的是,当我安装编译后的 *.exe 文件时,安装后我有本机进程支持。
但是使用 *.exe 安装我有Updater.isSupported == false
,但是,当我使用 *.air 包安装时,我有Updater.isSupported == true
.
看起来当我安装 *.exe 时我有 profile=extendedDesktop,但是当我使用 *.air 安装包时我使用的是 profile=desktop。
但我两者都需要。有没有办法解决这个问题?
汇编:
ios - 如何在 Flex 库中包含 ANE?
目前我处于一种奇怪的情况,我们已经建立了一个移动代码库,我们正试图将一些本机扩展集成到其中。代码库由几个“Flex 库项目”组成,用于通过 Flash Builder 4.6 编译主应用程序。
我们需要在包含的库之一中使用本机扩展功能,但在最终版本构建编译期间我们不断收到丢失类的错误。
缺少的类是包含在扩展的 Actionscript 端的类。
我们尝试了几种引用扩展的方法:
- 在库构建路径中添加类似 swc
- 将 ane 重命名为 swc 并包含在构建路径中
- 尝试链接为外部资源
大多数这些似乎都可以工作,我们甚至可以让调试版本工作,但是一旦我们为 iOS 版本打包,我们就会得到上述错误。
这不是 iOS 框架问题,因为该类是 ANE 中包含的 Actionscript 类。
ios - 在目标平台上找不到应用程序所需的本机扩展“文件”的实现
我正在尝试为 iOS 制作我的第一个 ANE,但在尝试编译 .IPA 文件时发现了一个问题。
我得到的错误是:
找不到目标平台所需的应用程序所需的本机扩展“XXX”的实现。
其中,“XXX”是我的 ANE 的包。
好吧,我使用带有 AIR 3.2 SDK 的 Flash Build 4.6 来编译一个 SWC 文件,其中包含我需要的所有功能。我使用 XCode 编译了一个包含所有需要的 Objective-C 代码的 .A 文件。两个文件都编译得很好。比我使用 ADT 编译 .ANE 文件。它也工作得很好。
我的 extension.xml 文件似乎没问题:
同样,XXX 是我的扩展包。(如:com.example.myANE)
我也在使用 platform.xml 文件:
并使用以下代码编译 ANE:
adt -package -target ane MyANE.ANE extension.xml -swc MyANE.swc -platform iPhone-ARM -platformoptions platform.xml library.swf libExtension.a -platform default library.swf
这一切都很好,我有一个 ANE 文件。
嗯,我正在做的项目已经有 4 个其他 ANE,所以我认为 flash 部分没有问题。但是当我使用 ADT 编译 IPA 时,我得到了错误。
任何人都有可以帮助的见解?
ios - AIR:第 3 方 iOS 本机扩展的链接器错误
我目前正在尝试将 .ane 合并到我的 iOS 应用程序中。.ane 由第 3 方提供,我没有它的来源。
我已将随附的 .swc 链接到我的项目中(Adobe 和第 3 方推荐的外部链接)并成功构建了 .swf。我的问题始于使用 adt 构建 .ipa 进行部署。下面是我正在使用的模拟 adt 命令。您可以假设所有 <> 的内容都已正确填写,因为我已经详尽地检查了所有内容,并且构建运行了很长时间。不过,我可能会错过一些甜蜜的善良……
一切进展顺利,直到我收到以下错误,我们突然停下来:
这告诉我的是,第 3 方 .ane 是通过指定 -platformoptions xml 文件或以其他方式尝试链接 sqlite3 库,并且在要构建底层 Xcode 项目的 adt 过程中,找不到那个库。
我的设置如下:
Mac OSX Lion
Adobe Flash Builder 4.5 w/PHP
Xcode 4.4.1 Flex 4.6.0 (AIR 3.3) SDK
现在,sqlite3 位于 /usr/lib 中,所以我知道它在那里,实际上它可以是任何库。由于这是一个命令行 AIR 实用程序,我无权访问底层 Xcode 项目(据我所知)来告诉它库在哪里,所以我现在有点卡住并且没有想法。
我可能还应该注意到,我在使用任何其他(本地或其他)扩展时都没有遇到这个问题,但这很可能是因为它们几乎没有依赖关系。
谢谢!
ios - 本机键盘栏 AIR iOS
有没有办法使用“上一个 | 下一个”和“完成”键在 AIR iOS 应用程序栏中显示?
ios - Adobe AIR for IOS 中的本机扩展代码是否在单独的 CPU 线程中运行?
我正在使用 Flex 4.6 和 AIR 3.3 构建一个 IOS 应用程序。我确实有一些 Objective-C 库,我们将使用它们来处理音频、图像和视频以创建新的“视频”文件。
由于我们正在通过本机扩展在设备上进行所有这些处理,我想知道用户是否会看到应用程序锁定直到处理完成。换句话说,我是否需要向他们显示一个进度条,并且在完成之前不允许他们在应用程序中执行任何其他操作,或者本机扩展代码是否在单独的线程中运行?
第二个问题是......如果 Native Code 不在单独的线程中运行,是否可以使用新的 Actionscript Workers 将处理卸载到单独的线程?
android - 如何将 Air Native 扩展添加到 Stage
我需要在我的 Flex Mobile 应用程序中使用 Android SDK 显示一个用 Java 编写的活动。我已经看到它使用 Map ANE 完成,但找不到任何示例代码或任何类似的东西。我已经创建了我的 ANE 工作所需的 Java 和 ActionScript 代码(活动已创建,并且存在真正桥接 Java 和 AS3 所需的所有类、事件和方法),我只是不知道如何添加它到舞台上。我知道它不能添加到 DisplayList 中,我可以将它作为舞台对象。
如果它有帮助,我正在尝试使用 MediaPlayer 显示视频(由于使用 AS3/Flex 完成时的 MP4 流问题)。
对于迈克尔(2012 年 8 月 27 日上午 9:44 MST):
我的活动的第一行是
这是我的Java。这是初始化函数:
这是我的 VideoActivity onCreate():
还有我的清单(只是应用程序部分):
更新(2012 年 8 月 27 日 @ 上午 10:52 MST) 经过进一步调查(或反复试验,无论你想怎么称呼它),我决定将 startActivity() 行放入 try{}catch(Throwable e) 以查看它抛出了什么错误(如果有的话)。有趣的是,它抛出了这个。
看来我需要重新检查我的 Android Manifest 文件。
android - 如何在 AIR to Android Native 扩展中接收“长”数组?
我正在尝试为 Android Vibration 制作本机扩展。我发现的每个开源扩展都只使用了vibrate(duration)
而不是vibrate(pattern, repeat)
andvibrate.cancel()
我需要能够传递模式和取消功能。
我可以毫无问题vibration(duration)
地正常工作。有一个简单的args[1].getAsInt();
方法供我使用。但是,没有.getAsArray
or .getAsLong
。
我发现了一个叫做 FREArray 的东西,但我真的不明白如何使用它。
所以,我的问题是,我可以通过一个 AS3 函数传递一个数组(带有模式)和一个 int(用于重复计数)我如何在 Android 端接收数组?我在接收重复的 int 时没有任何问题。
到目前为止,这是我一直在使用的东西,但是由于错误,我看起来好像没有正确使用它。有什么建议么?