【问题标题】:Adobe Flash Professional CS5.5(AS3) with Distriqt Compass always says "The native extension context could not created"带有 Distriqt Compass 的 Adob​​e Flash Professional CS5.5(AS3) 总是说“无法创建本机扩展上下文”
【发布时间】:2017-06-21 21:16:57
【问题描述】:

我正在使用带有 ANE Distriqt Compass 的 Adob​​e Flash Professional CS5.5,我创建了一个简单的 .fla 项目并编写了几行 AS3 脚本。编译成功,但是当我在PC上执行.swf文件时,一开始总是说

"The native extension context could not be created"

我认为问题是由于我的 PC 缺少 磁力计 造成的,但是当我将代码打包成 .apk 文件并将其安装到我的 Android 设备上时,它也说了同样的话。通过代码检查后,我发现Compass.init 永远不会成功执行。

Here 是我的项目,谁能告诉我是什么原因导致的问题?
我试着...

  • 将文件 com.distriqt.Compass.ane 解压缩为 .zip 文件。

  • 然后链接文件distriqt.extension.compass.default.swc
    META-INF/ANE/default 目录下。

我也尝试了this link 的解决方案,但这也不起作用。我已经从里到外搜索了谷歌,但似乎没有任何解决方案。

【问题讨论】:

  • 因为您有一个有效的答案,请使用 图标将给定的解决方案标记为已解决(以便其他人知道它有效)。谢谢。
  • 如你所说,已经做到了。

标签: android actionscript-3 flash ane distriqt


【解决方案1】:

该错误表明您没有正确地将 ANE 与您的应用程序打包在一起。

使用 CS5.5,您需要从命令行打包您的应用程序才能正确打包 ANE。 CS5.5 不包括使用 ANE 打包应用程序的能力。

首先确保您已将扩展 ID 添加到您的应用程序描述符中:

<extensions>
    <extension>com.distriqt.Compass</extension>
</extensions>

添加扩展:

  • 将 ANE 文件的文件扩展名从 .ane 更改为 .swc。此步骤是必需的,以便 Flash Professional 可以找到该文件
  • 在您的 FLA 文件上选择文件 > ActionScript 设置
  • 在“高级 ActionScript 3.0 设置”对话框中选择 Library Path 选项卡
  • 选择“浏览至 SWC 文件”按钮
  • 浏览到 SWC 文件并选择打开。 SWC 文件现在显示在“高级 ActionScript 3.0 设置”对话框的“库路径”选项卡中
  • 选择 SWC 文件后,选择“为库选择链接选项”按钮(这看起来像面板上方圆圈中的小 i)。
  • 在“库路径项选项”对话框中,将“链接类型”更改为“外部”。

接下来,您需要在已构建应用程序的目录中打开命令行。该目录应包含:

  • 应用程序swf:myApp.swf
  • 应用程序描述符:myApp-app.xml
  • 任何必需的文件,例如图标、Default.png
  • ANE(在子目录中,我们将在下面假设 extensionsDir

此命令的详细信息取决于您正在开发的应用程序和您的目标平台。您应该查看以下 url 中的文档,以确定该命令应包含的环境的详细信息。

http://help.adobe.com/en_US/air/build/WS597e5dadb9cc1e0253f7d2fc1311b491071-8000.html

例如,以下命令将为 Android 创建一个 APK:

adt -package
    -target apk
    -storetype pkcs12 -keystore YOUR_SIGNING_KEY.p12
    myApp.apk
    myApp-app.xml
    myApp.swf icons
    -extdir extensionsDir

有关更多信息,请参阅此处的教程:https://airnativeextensions.com/knowledgebase/tutorial/1

【讨论】:

  • 好的,我尝试使用 ADT 打包我的 Android 应用程序,但出现错误“无法在此文件中加载证书”,这是我的 Packaging.bat:adt -package -target apk -storetype pkcs12 -keystore cro.p12 -storepass [P12_FILE_PASSWORD] camera_air_accelerometer_and_compass.apk camera_air-app.xml camera_air.swf -extdir C:\Users\Administrator\Documents\air
  • 我使用了另一台机器并再次运行包装。这一次,.p12 文件通过了它,但还有另一个错误:“找不到目标平台的应用程序所需的本机扩展“com.distriqt.Compass”的实现。”。
  • 您确定 com.distriqt.Compass.ane 文件在您的 extdir 中吗?
  • 等等,.ane 文件但没有重命名 .swc 文件?
  • No.. 您需要重命名 ANE 并在 flash 中使用它来获取您的 swf 构建。但是你需要用ane打包
猜你喜欢
  • 2013-07-07
  • 2014-08-12
  • 1970-01-01
  • 2012-02-17
  • 2019-06-20
  • 1970-01-01
  • 1970-01-01
  • 2013-05-22
  • 1970-01-01
相关资源
最近更新 更多