gpt4 book ai didi

flash - 多次启动 Adob​​e AIR 应用程序

转载 作者:行者123 更新时间:2023-12-02 10:51:12 25 4
gpt4 key购买 nike

Adobe Air Runtime 可防止同一时间启动多个 Air 应用程序实例。通过任意更改发布者 ID 来规避此限制是否安全?有谁知道 Adob​​e 是否计划在 Air 2.0 中允许多个并发实例?

最佳答案

我们成功地实现了一种破解方法,以纯 AIR 方式规避了此限制,而无需更改发布者 ID(我认为这需要多个证书)。

如您所知,AIR 通过使用唯一的应用程序标识符来实现其互斥体。此标识符是使用应用程序 ID 和发布者标识符(从签署应用程序的证书中提取)计算得出的。

在 AIR 应用程序的安装目录中,有一个 META-INF 文件夹(如果是 Linux,则在/share/中)。此 META-INF 文件夹包含一个 AIR 文件夹,其中包含一个“application.xml”文件。该文件包含<id />定义应用程序标识符的标记,该标识符用于计算互斥体标识符。如果您的应用程序可以在安装文件夹中写入,则可以使用 File API 在运行时对其进行编辑,随机更改 <id />标签,允许同一应用程序的多个进程同时运行。

这会产生一些烦人的副作用,例如在File.applicationStorageDirectory中创建一个新文件夹。每次都文件夹。但使用LocalConnection ,您可以通过记录哪些标识符可以自由重用来多次重复使用相同的标识符,从而最大限度地减少这种情况。另外,SharedObject存储在此文件夹中,因此无法使用(或者必须在每次创建新实例时进行复制,并通过 LocalConnection 进行同步)。

据我所知,Adobe 不打算消除此原生限制。它是为了多平台目的而实现的,特别是在 MacOS 上,其中扩展坞使事情变得更加复杂(使用扩展坞启动同一个应用程序两次并不容易)。

执行此操作的官方方法是捕获 InvokeEvent.INVOKE事件,并执行诸如打开新窗口之类的操作。 AIR 2.0 没有计划对此行为进行任何更改。

关于flash - 多次启动 Adob​​e AIR 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2217307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com