2

我一直在使用 Adob​​e for Air 3.0 在 Android 上的本机扩展的振动示例。

我已经编译了 ANE 并打包了 .apk。

我遇到的问题是 actionscript 库正在获取 null ExtensionContext。

我尝试使用 adt -package -target apk-debug 创建 .apk,以便我可以在 logcat 中看到 actionscript 跟踪,这就是我发现空错误的地方。

extContext = ExtensionContext.createExtensionContext("com.adobe.Vibration", null);

extContext 为 null 并在以下 .call() 方法上崩溃。

所有来源都是示例中的库存,我没有更改任何内容。

有没有人有让 Adob​​e 的 ANE 示例之一在 Windows 机器上运行的经验?大多数示例适用于 Mac。

4

3 回答 3

1

好主。真是浪费了一个星期。

我正在使用来自 gotoandlearn.com 的教程,该教程告诉我,通过构建脚本,使用 jar 命令将我的本机扩展放入 jar 中。

我只是使用了在 NativeAndroid/bin/ 文件夹中自动构建的 .jar,一切都很好。

事实证明,该教程已经过时,对构建不再有用。

于 2011-11-11T21:23:00.597 回答
0

我在编写的本机扩展上遇到了完全相同的问题,并且已经开源。我从 Adob​​e DevNet 的教程代码开始了这个项目。我已经找到了我尝试完全遵循的特定问题的示例,但还没有运气。我已经确定它是一个沙盒允许域问题。

这是我的代码行:

_aneContext = ExtensionContext.createExtensionContext("com.adobe.sampleasextension", "");

这是我的 GitHub 项目中代码的链接:

https://github.com/interactivenyc/ANESampleProject/blob/master/TEST_AndroidAIR/src/ANESampleTest.as

这是我的编译器错误:

SecurityError: Error #3207: Application-sandbox content cannot access this feature.
    at flash.system::Security$/allowDomain()
    at com.adobe.sampleasextension::SampleASExtension()[/Users/stevewarren/Clients/Speakaboos/git_repositories/ANESampleProject/ANESampleSWC/src/com/adobe/sampleasextension/SampleASExtension.as:14]
    at ANESampleTest/initializeANE()[/Users/stevewarren/Clients/Speakaboos/git_repositories/ANESampleProject/TEST_AndroidAIR/src/ANESampleTest.as:198]
    at ANESampleTest/onAddedToStage()[/Users/stevewarren/Clients/Speakaboos/git_repositories/ANESampleProject/TEST_AndroidAIR/src/ANESampleTest.as:131]
    at runtime::ContentPlayer/loadInitialContent()
    at runtime::ContentPlayer/playRawContent()
    at runtime::ContentPlayer/playContent()
    at runtime::AppRunner/run()
    at AppEntryCommon/run()
    at global/runtime::AndroidMobileDeviceAppEntry()
于 2013-10-07T15:30:31.380 回答
0

补充一条评论。您需要从 Properties -> Android 设置目标平台和复选框 Is Library 以在 bin 文件夹中获取已编译的 jar。

来自 gotoandlearn 的 PS .sh 可以在 Windows 的 Powershell 中执行,只需对运行 bat 文件进行细微更改:( cmd "/c adt.bat" )

于 2013-08-02T11:00:39.100 回答