首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ADOBE AIR :错误#16824 :尝试自动更新时版本不匹配

ADOBE AIR :错误#16824 :尝试自动更新时版本不匹配
EN

Stack Overflow用户
提问于 2011-01-20 22:57:28
回答 3查看 6K关注 0票数 2

目标:

所以这就是我的问题,我正试图将旧版本的软件X v1.0.7 AIR Runtime SDK 2.0自动更新到新的版本X v1.0.8 AIR Runtime SDK 2.5。

配置=

旧的软件X是使用运行时SDK 2.0的1.0.7版。App.xml如下:

1.0.7

这个软件X是这样的,假设更新到1.0.8版本,该版本假设使用AIR运行时2.5。

我正在使用一个带有标签的update.xml文件:

1.0.8

计算机为MacOS X v10.6.6。运行最新的AIR RUNTIME 2.5

旧软件X的新版本,版本1.0.8,使用app.xml,如下所示:

1.0.8 #我的隐藏publisherID#

软件X v1.0.8使用标记publisherID,因此该软件将被识别为相同的软件。

发生了什么?

当我启动旧软件X v1.0.7时,它试图更新并引发错误16824。这个错误被认为意味着我的新软件版本与update.xml文件中定义的版本不匹配,但对我来说,这不是真的……那么到底出了什么问题呢?有人能帮上忙吗?

EN

回答 3

Stack Overflow用户

发布于 2011-01-21 17:53:03

解决方案在这里:

http://kb2.adobe.com/cps/873/cpsid_87300.html

票数 1
EN

Stack Overflow用户

发布于 2011-07-27 20:49:27

如果您正在尝试遵循知识库文章中的说明,您会发现它告诉您要做什么,而不是如何做。你被告知要包含来自Air2.5/Flex4.5的更新的applicationupdater.swcapplicationupdater_ui.swc,但这是最难的部分。

在Flash Builder中执行以下操作:

  1. 转到“项目属性”,“构建路径”,在列表中展开
  2. ,移除applicationupdater.swcapplcationupdater_ui.swc.
  3. Click "Add SWC“,然后从你的Flex4.5框架位置(Mac上的/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/air/applicationupdater.swc)添加这两个文件。

如果您在Ant构建文件中使用mxmlc任务,这对我很有效:

代码语言:javascript
复制
<target name="compile" depends="css, copy_assets">
  <mxmlc file="${MAIN_SOURCE_FILE}" output="${OUTPUT}/${FLEX_APP_NAME}.swf">

    <load-config filename="${FLEX_HOME}/frameworks/air-config.xml"/>

    <compiler.source-path  path-element="${APP_ROOT}/src"/>
    <compiler.source-path  path-element="${APP_ROOT}/locale/{locale}"/>

    <!-- append=false clears your library-path -->
    <compiler.library-path dir="${FLEX_HOME}" append="false">
      <!-- Now we need to re-add the flex libs -->
      <include name="libs"/>
      <include name="locale/{locale}"/>
    </compiler.library-path>
    <compiler.library-path dir="/" append="true">
      <!-- Add the updater framework from Flex 4.5 / Air 2.6 -->
      <include name="Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/air/applicationupdater_ui.swc"/>
      <include name="Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/air/applicationupdater.swc"/>
      <!-- You may need to adjust these paths -->
    </compiler.library-path>
    <compiler.library-path dir="${FLEX_HOME}" append="true">
      <!-- Re-add the rest of the air libs -->
      <include name="libs/air"/>
    </compiler.library-path>
    <compiler.library-path dir="${APP_ROOT}/libs/" append="true">
      <!-- Your custom libraries here -->
    </compiler.library-path>
  </mxmlc>
</target>

一组等效的命令行选项应该适用于mxmlc命令行编译器,但我还没有对此进行测试:

代码语言:javascript
复制
mxmlc -library-path=$(FLEX_HOME)/libs $(FLEX_HOME)/locale/{locale} \
$(FLEX45_HOME)/frameworks/libs/air/applicationupdater.swc \
$(FLEX45_HOME)/frameworks/libs/air/applicationupdater_ui.swc \
$(FLEX_HOME)/frameworks/libs/air \
... your custom libs \
... other compiler options

我已经在我的博客上描述了entire process with a bit more background information

票数 0
EN

Stack Overflow用户

发布于 2016-03-02 16:41:52

出现这个错误是因为我编译的应用程序中的版本号与服务器上UpdateDescriptor.xml中的版本号不同。

在AIR应用程序中,版本号在应用程序描述符文件中的标记versionNumber下定义:

代码语言:javascript
复制
<versionNumber>2.3.0</versionNumber>

在服务器上的UpdateDescriptor.xml文件中,我有一个不同的数字:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?> 
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5"> 
    <versionNumber>2.2.1</versionNumber>
    <url>http://www.example.com/project_2.2.1.air</url> 
    <description><![CDATA[List the changes in this version here]]> 
    </description> 
</update>

它导致了这个错误:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4748610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档