在某些情况下,必须更改用于对 AIR 应用程序的更新进行签名的证书。此类情况包括:
要使 AIR 将 AIR 文件识别为更新,必须使用同一证书对原始 AIR 文件和更新 AIR 文件进行签名,或者对更新应用证书迁移签名。迁移签名是使用原始证书对更新 AIR 包应用的第二次签名。迁移签名使用原始证书来证明签名者是应用程序的原始发行商。
安装了具有迁移签名的 AIR 文件后,新的证书将成为主要证书。后续更新不需要迁移签名。但是,您应尽可能地使用迁移签名,以便适应跳过更新的用户。
重要说明:
您必须更改证书,并在原始证书过期前使用原始证书为更新应用迁移签名。否则,用户必须卸载应用程序的现有版本,才能安装新的版本。对于 AIR 1.5.3 或更高版本,您可以在证书到期后的 365 天宽限期内使用过期证书来应用迁移签名。不过,您无法使用过期证书来应用主应用程序签名。
更改证书:
-
创建应用程序更新
-
将 AIR 更新文件打包并使用
新
证书对它进行签名
-
使用
原始
证书再次对此 AIR 文件进行签名(使用 ADT
-migrate
命令)
具有迁移签名的 AIR 文件在其他方面与普通 AIR 文件无异。如果应用程序安装在没有原始版本的系统中,则 AIR 会按照平常的安装方式安装新版本。
注:
在 AIR 1.5.3 之前,使用续签证书对 AIR 应用程序进行签名时并不总是需要迁移签名。从 AIR 1.5.3 开始,续签证书将始终需要迁移签名。
如
对 AIR 应用程序的更新版本进行签名
中所述,要应用迁移签名,可使用
ADT migrate 命令
。
注:
ADT migrate 命令无法与包含本机扩展的 AIR 桌面应用程序配合使用,因为这些应用程序是作为本机安装程序打包,而不是作为 .air 文件打包。对于包含本机扩展的 AIR 桌面应用程序,要更改其证书,可使用
ADT package 命令
(带有 -migrate 标志)来打包应用程序。
应用程序标识更改
在 AIR 1.5.3 之前,安装使用迁移签名进行签名的更新时,AIR 应用程序的标识也会更改。更改应用程序的标识具有很多影响,包括:
-
新应用程序版本无法访问现有的加密本地存储区中的数据。
-
应用程序存储目录的位置会发生变化。旧位置中的数据不会复制到新目录。(但新应用程序可以根据旧发行商 ID 找到原始目录)。
-
应用程序无法再使用旧发行商 ID 打开本地连接。
-
用于从网页访问应用程序的标识字符串发生更改。
-
应用程序的 OSID 发生更改。(编写自定义安装/卸载程序时会使用 OSID)。
使用 AIR 1.5.3 或更高版本发布更新时,无法更改应用程序标识。在更新 AIR 文件的应用程序描述符中必须指定原始应用程序和发行商 ID。否则,不会将新包识别为更新。
注:
使用 AIR 1.5.3 或更高版本发布新的 AIR 应用程序时,不应指定发行商 ID。