ADOBE AIR:错误#16824:尝试自动更新时版本不匹配
目标: 这就是我的问题所在,我正在尝试将旧版本的软件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 Im使用带有标记的update.xml文件: 1.0.8 计算机是MacOS X v10.6.6。运行最新的AIR RUNTIME 2.5 旧软件X的新版本1.0.8使用app.xml,如下所示: 1.0.8 #我隐藏的灵魂# 软件X v1.0.8正在使用标记publisherID,因此该软件将被识别为同一软件 发生了什么事 当我启动旧软件xv1.0.7时,它试图更新并引发错误16824。假设此错误意味着我的新软件版本与update.xml文件中定义的版本不匹配,但对我来说,这不是真的。。。那怎么了?有人可以帮忙吗?解决方案如下:ADOBE AIR:错误#16824:尝试自动更新时版本不匹配,air,auto-update,Air,Auto Update,目标: 这就是我的问题所在,我正在尝试将旧版本的软件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 Im使用带有标记的update.xml文件: 1.0.8 计算机是MacOS X v10.6.6。运行最新的AIR RUNTIME 2.5 旧
如果您试图按照知识库文章中的说明进行操作,您会发现它告诉您要做什么,而不是如何做。我们告诉您要包括Air 2.5/Flex 4.5中更新的
ApplicationUpdate.swc
和ApplicationUpdate\u ui.swc
,但这是最难的部分
在Flash Builder中,执行以下操作:
ApplicationUpdate.swc
和ApplcationUpdate\u ui.swc
/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/air/applicationUpdate.SWC
)mxmlc
任务,这对我很有用:
<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>
我已经在我的博客上描述了。发生错误是因为我编译的应用程序中的版本号与服务器上UpdateDescriptor.xml中的版本号不同 在AIR应用程序中,版本号在应用程序描述符文件中的标签
versionNumber
下定义:
<versionNumber>2.3.0</versionNumber>
2.3.0
在服务器上的UpdateDescriptor.xml文件中,我有一个不同的编号:
<?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>
2.2.1
http://www.example.com/project_2.2.1.air
这导致了以下错误:
<?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>