Flash Builder 4.7在Android设备上调试失败

时间:2013-07-24 10:34:07

标签: android flex mobile air air-native-extension

我正在创建一个包含原生扩展程序(.ane)的应用程序

目前它已经在iOS上运行了,但我也希望为Android添加扩展程序。

现在,我已经完成了所有必要的步骤,并希望在设备上进行调试。但每当我尝试启动调试器时,我都会收到以下错误,而且我不知道如何解决这个问题。

但我能够创建一个'发布版本'。不幸的是,启动后,应用程序挂起。

但是,我不知道,如果它是导致崩溃的构建或编码问题,因此我需要调试器。

An internal error occurred during: "Launching MyAppWithExtension".

java.lang.NullPointerException
at com.adobe.flexbuilder.project.ui.utils.ANE.AppXMLFileANEExtensionHandler.retainExtensionIds(AppXMLFileANEExtensionHandler.java:309)
at com.adobe.flexbuilder.project.ui.utils.ANE.ANEController.modifyAppXMLforPackaging(ANEController.java:360)
at com.adobe.flexbuilder.project.ui.utils.ANE.ANEController.modifyAppXMLforPackaging(ANEController.java:326)
at com.adobe.flexbuilder.project.ui.utils.ANE.AbstractANEPackageHandler.modifyAppXMLforPackaging(AbstractANEPackageHandler.java:86)
at com.adobe.flexide.launching.multiplatform.launchhandlers.AbstractMultiPlatformLaunchHandler.handleANEPackagingDetails(AbstractMultiPlatformLaunchHandler.java:195)
at com.adobe.flexide.launching.multiplatform.launchhandlers.AbstractMultiPlatformLaunchHandler.applyPackagingDetails(AbstractMultiPlatformLaunchHandler.java:168)
at com.adobe.flexide.multiplatform.android.launching.ADBLaunchHandler.initialisePackager(ADBLaunchHandler.java:533)
at com.adobe.flexide.multiplatform.android.launching.ADBLaunchHandler.doPackage(ADBLaunchHandler.java:409)
at com.adobe.flexide.multiplatform.android.launching.ADBLaunchHandler.launch(ADBLaunchHandler.java:350)
at com.adobe.flexide.launching.multiplatform.MultiPlatformLaunchDelegate.launch(MultiPlatformLaunchDelegate.java:184)
at com.adobe.flexide.launching.AbstractFlexLaunchDelegate.launch(AbstractFlexLaunchDelegate.java:244)
at com.adobe.flexide.launching.AbstractFlexLaunchDelegate.launch(AbstractFlexLaunchDelegate.java:134)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:928)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1132)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Session Data:

eclipse.buildId=M20110909-1335
java.version=1.6.0_51
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -keyring /Users/myusername/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/myusername/.eclipse_keyring -consoleLog -showlocation

This is a continuation of log file /Users/myusername/PathToMy/Workspaces/MyAppWithExtension/.metadata/.bak_0.log
Created Time: 2013-07-24 11:43:14.053

非常感谢Timm

编辑:这是我到目前为止所做的,但没有运气:(

  • 创建新工作区

  • 在启动时使用-clean参数运行Flash Builder

  • 使用Adobe Clean Tool重新安装Flash Builder

  • 清理了我所知道的所有bin-debug bin-release-temp和其他与项目相关的临时文件夹。

3 个答案:

答案 0 :(得分:0)

  • appName-app.xml是怎么样的?查看文件末尾,<extensionID>是否与ANE / extension.xml <extension> / <id>匹配?
  • 您是否使用与主项目相同的sdk构建ANE?
  • <nativeLibrary>引用的文件是否真的包含在ANE中(用归档器打开)?
  • 您是否完善了extension.xml <initializer>&amp;中引用的函数? <finalizer>

答案 1 :(得分:0)

经过数周的实验,我终于找到了问题的原因。 Flash Builder似乎对我的项目结构有问题,即我有2个可执行的应用程序。

通过删除或取消激活Project-&gt; Settings-&gt; Applications对话框来删除一个,最后修复它。

我希望这可以帮助任何面临同样恼人的Flash Builder问题的人。

答案 2 :(得分:0)

如果您在使用ANE和Coldfusion Server时遇到此异常,请更改项目属性&gt;中的输出文件夹。 Flex服务器&gt;将文件夹输出为类似“temp”而不是Flex Builder生成的“C:...”。 Android设备被“C:”引用搞糊涂了,但仍然可以理解“临时”本地文件夹