1. 问题背景
在 AIR 1.5 中,无法直接调用系统命令或运行可执行文件(如 Python 解释器)。
2. 解决方案
由于安全限制,AIR 应用程序无法直接调用系统命令或运行可执行文件。因此,以下解决方案仅适用于能够共享详细信息的情况:
- 编写一个本机扩展程序(ANE)以调用 Python:ANE 是本机库,可用于从 AIR 应用程序调用系统命令或运行可执行文件。您可以使用 C/C 、Java 或 Objective-C 编写 ANE。
- 使用 CommandProxy 演示:CommandProxy 演示是一个示例项目,演示如何从 AIR 应用程序调用系统命令。它使用 C 编写的 ANE,但您可以根据需要修改它。
以下是一些可能的替代方案:
- 使用 JavaScript 或 ActionScript 编写脚本,而不是 Python。
- 将 Python 脚本转换为 AIR 应用程序。
- 使用其他语言(如 C/C 或 Java)编写可执行文件,然后从 AIR 应用程序调用该可执行文件。
代码例子:
代码语言:javascript复制// CommandProxyANE.cpp
#include <stdio.h>
#include "CommandProxyANE.h"
FREObject CommandProxyANE_callCommand(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]) {
if (argc < 1) {
return FRE_INVALID_ARGUMENT;
}
FREObject resultObject;
FRENewObjectFromUTF8(0, (const uint8_t*)"result", &resultObject);
FREByteArray byteArray;
FREGetObjectAsByteArray(argv[0], &byteArray);
int length = byteArray.length;
char* command = new char[length 1];
FREAcquireByteArray(byteArray, (uint8_t*)command, &length);
command[length] = '