我正在创建一个包含原生扩展程序(.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和其他与项目相关的临时文件夹。
答案 0 :(得分:0)
<extensionID>
是否与ANE / extension.xml <extension>
/ <id>
匹配?<nativeLibrary>
引用的文件是否真的包含在ANE中(用归档器打开)?<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:”引用搞糊涂了,但仍然可以理解“临时”本地文件夹