AIR 2.5到3.2升级失败,错误16824和16815

时间:2012-09-24 23:22:09

标签: flex air

我们刚刚在生产中推广了我们的应用程序更新。 初始版本使用Air SDK 2.5,而我们推送了SDK 3.2。在检测到新版本并下载应用程序后,我们发现错误#16824。

如果用户卸载2.5应用程序,并手动安装3.2应用程序,则应用程序正常工作。

有什么想法吗?

------编辑

我们的update.xml包含2.5(错误的)命名空间

<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">...

但是当用3.2 ns替换它时:

<update xmlns="http://ns.adobe.com/air/framework/update/description/3.2">...

该应用未下载,我收到错误16815。

有一个答案there但我们已经仔细检查过更新程序swc是正确的,即来自SDK3.2。

错误16815是“无效的更新描述符(未知描述符版本)。” 请参阅参考here

1 个答案:

答案 0 :(得分:1)

RAGE !!!!!!!!!!!!!!

对于错误16815,请检查sdk文件夹中的以下文件: <sdk>\frameworks\projects\air\ApplicationUpdater\src\ApplicationUpdater\air\update\descriptors\UpdateDescriptor.as函数isKnownVersion

授权的唯一名称空间为1.0和2.5。

我已经检查过SDK 3.2和3.4,它们都有相同的限制。 步骤修复:

  1. 在src文件夹中创建一个包air.update.descriptors
  2. 将UpdateDescriptor.as复制到此包
  3. 将以下块添加到UpdateDescriptor.as
  4. public static const NAMESPACE_UPDATE_3_2:Namespace = new Namespace("http://ns.adobe.com/air/framework/update/description/3.2");


    case NAMESPACE_UPDATE_3_2.uri:

    你现在已经允许了你最喜欢的sdk!