8

我正在使用 Flash Builder 4.5(也使用库 Away3D 4.0 和 Flex 4.5.1 SDK)开发 AS3 项目。

另外,我添加了我自己的 SWC 库,我之前将其编译到我的项目中。如果我在我的 SWC 库中导入类,它可以找到,但是我希望我的 swf 在独立的 Flash 播放器 11 中运行。

我遵循本教程: http ://help.adobe.com/en_US/flashbuilder/using/WSe4e4b720da9dedb5-4dd43be212e8f90c222-7ffb.html

现在,我可以在 flash player 11 中运行我的应用程序,但运行时出现错误:

VerifyError:错误 #1014:找不到 XXX 类

XXX 是我在 SWC 库中的课程。我应该如何解决这个问题?

4

5 回答 5

10

合并到代码中意味着这个,在project properties -> Flex Build Path -> Library Path -> Framework Linkage中。框架语言有两个选项Merged into codeRSL。选择合并到代码中。这应该可以解决您的问题。

于 2012-09-10T10:39:45.060 回答
5

我们在尝试使用原生扩展构建项目时遇到了这个问题。

在运行时找不到 NE 中的类,但可以在 Flash Builder 中访问。

事实证明,默认情况下,.ANE 文件并未复制到设备中。

要解决此问题,请更改以下项目属性:

ActionScript 构建打包 -> Apple iOS -> 本机扩展 ->检查 ANE 的“包”

不知道为什么默认情况下不包含它。当您取消选中“包”时,您会收到一条警告,告诉您它可能会导致运行时问题!

于 2013-10-29T18:04:10.577 回答
3

在我的例子中,我们有一个对同一个库的嵌套引用,它需要在另一个库也使用它之前加载。可以通过取消选中“根据依赖项自动确定库排序”并将库在构建路径库链中向上移动来完成此修复。Flash Builder 无法根据依赖关系确定正确的顺序,因为我们有同一个库的 2 个不同版本。该错误只会在运行时发生。

于 2013-04-10T18:28:59.320 回答
1

在安装 AIR 3.9 并尝试升级项目后,我遇到了这个问题。

在引发一系列 #1014 错误之前,它还表示存在 RSL 错误。

在我将高级 ActionScript 设置中的 textLayout.swc 链接类型设置为“合并到代码中”而不是默认值 (RSL) 后,它起作用了

希望这可以帮助!

于 2013-10-18T10:19:59.557 回答
1

由于我登陆此页面以搜索此错误消息,并且上述解决方案均不适合我,因此我最终设法解决了以下问题:

当您包含使用旧编译器编译但使用新编译器编译您的应用程序的旧库时,似乎尤其会发生此错误。不幸的是,错误有时会触发,而当您再次编译时它不会;在其他时候,它在调试版本中运行良好,但在发布中失败。

对我有用的是在您的主应用程序中包含虚拟对象,这些虚拟对象是验证错误抱怨的类的实例:

import some.classpath.to.TheClassThatFailsOnVerify;
function YourMainApp(){ 
    var dummy:TheClassThatFailsOnVerify = new TheClassThatFailsOnVerify (); 
}

至少在我的情况下,错误仅针对未在应用程序中直接使用但仅在 swc 库代码内部使用的类触发,因此通过在主应用程序中使用虚拟对象,我强制 Flash Builder 将这些类包含在编译中。

在某些情况下,您可能必须首先找到包含相关类的 swc,因为它不是您使用的库 swc 的一部分,但它又是 swc 使用自己的库。

于 2014-10-29T16:18:41.537 回答