Adobe AIR 读取 Flash Player 的 .sol 文件

Posted

技术标签:

【中文标题】Adobe AIR 读取 Flash Player 的 .sol 文件【英文标题】:Adobe AIR read .sol file of Flash Player 【发布时间】:2017-12-10 15:25:47 【问题描述】:

当我需要使用 Adob​​e AIR 应用程序读取 Flash Player 的 .sol 时,我遇到了共享对象文件的问题。

Flash Player 共享对象的路径是:

C:/Users/%username%/AppData/Roaming/Macromedia/Flash Player/#SharedObjects/%randomnumber%/localhost/

但是,Adobe AIR 共享对象的路径是:

C:/Users/%username%/AppData/Roaming/%applicationname%/Local Store/#SharedObjects/#localhost/

如何使用 Adob​​e AIR 应用程序读取 Flash Player 共享对象?

我试过了:

使用FileStream类打开.sol文件,方法为readObject,但是不起作用。 将.sol 文件复制到Adobe AIR 共享对象路径并使用SharedObject 读取,但出现Error #2134: Cannot create SharedObject

我能做些什么来解决这个问题?

【问题讨论】:

你根本不应该这样阅读。 唯一使用共享对象的正确方法是使用记录在案的 var SO:SharedObject = SharedObject.getLocal("object id", "local path"); 【参考方案1】:

Flash Player/AIR 没有直接读取.sol 文件的内置方法。当然 SharedObject 类是您应该访问 SO 数据的方式,但它有一些限制,并且正如您注意到从特定已知路径读取的那样,它不能用于直接解析任何 .sol 文件。要读取.sol 文件,您需要使用FileStream,然后直接按照.sol 格式解析ByteArray...当然.sol 使用AMF 来存储数据,因此readObject 应该适用于部分,但文件格式(标题等)是它自己的格式,必须解析出来。不幸的是,很难找到有关该格式的良好文档。那里已经有很多 SO 读者,您也许可以使用其中一个作为参考:

http://blog.sephiroth.it/projects/shared-object-reader/ http://www.perlmonks.org/?node=657620 https://mariani.life/projects/minerva-air/

【讨论】:

以上是关于Adobe AIR 读取 Flash Player 的 .sol 文件的主要内容,如果未能解决你的问题,请参考以下文章

CentOS怎么安装Adobe Flash Player

adobe-flash-player离线下载方法

Adobe Air - Flash - 初始窗口位置

如何在Adobe Flash CS3中更改Adobe Flash Player版本

离线下载adobe flash player

Adobe Flash Player