VerifyError:错误#1079:加载的代码中不允许使用本机方法
我有一个在AS3编译的Android / iOS应用程序。 我遇到了问题,build议升级到Flash Builder 4.7(从4.6开始)。 我这样做了,当我尝试运行新的Air 3.4时,出现以下错误:
VerifyError: Error #1079: Native methods are not allowed in loaded code.
所以我试着卸载Flash Builder 4.7 64位并安装32位版本。 这没有帮助(同样的问题)。
但是,我尝试了不同的东西。 所以我的工作空间最初是我的Adobe Flash Builder 4.6(因为我在该工作空间中有很多AS3项目,只想在4.7中加载)。 显然这导致了我的问题(或者至less在我做了以下事情之后就消失了)。
我决定使用Flash Builder 4.7的默认工作区(Users \\ Adobe Flash Builder 4.7)而不是切换到4.6。 然后我导入了我的4.6目录中的现有项目。 编译,它运行良好!
从Flash Builder 4.6升级到4.7并使用4.6中的旧工作区时,我想这是一个问题…不知道为什么会导致这个奇怪的错误,但我很高兴能够继续前进。
同样的问题对我来说。 我解决了这个问题:
项目 – >属性 – >库path – >
从fb 4.6清除旧图书馆,然后点击“添加空气sdk”。
我有这个问题。 原来是因为在
项目 – >属性 – >库path
playerGlobal.swc的早期版本被引用,而不是作为Air SDK的一部分提供的默认版本。 从Air SDK中删除并手动添加playerGlobal SWC解决了这个问题 。
(显然,Playerglobal.swc只包括接口定义,包括播放器中类的本地方法)。
这是帮助我(也可能帮助别人)。
我在FB 4.6上,我记得我更新了SDK到Apatche 13.0。 之后,我的项目中的图书馆搞砸了。 我删除了项目(也被删除的文件),并再次导入同一项目的副本。 像魅力一样工作。
在我的情况下,问题是在构build脚本。 我升级到了AIR SDK 22,但构build任务包含:
<target-player>11.1</target-player>
要么删除这个参数,要么将值改成23.0解决了这个问题。