AIR 2.0 NativeProcess не поддерживается проблема - PullRequest
2 голосов
/ 29 июня 2010

Я создал приложение, которое использует nativeProcess для открытия exe.

Приложение в Flex Builder 3 запускает ошибки без ошибок.

Тогда возникает проблема, когда я экспортирую приложение AIR в .air и устанавливаю приложение на компьютер разработчика или другой компьютер.

Когда я нажимаю кнопку, чтобы открыть .exe, появляется сообщение «Собственный процесс не поддерживается».

Код в main.mxml, который я использую:

if (NativeProcess.isSupported)
            {
                var file:File = new File("app:/config/AbrirAplicacion.exe");
                var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
                nativeProcessStartupInfo.executable = file;

                process = new NativeProcess();
                process.start(nativeProcessStartupInfo);
                process.standardInput.writeUTFBytes(textReceived.text+"\n");
                process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
                process.addEventListener(ProgressEvent.STANDARD_INPUT_PROGRESS, inputProgressListener);
            }
            else
            {
                textReceived.text = "NativeProcess not supported.";
            }

Есть идеи, что я делаю не так?

Ответы [ 4 ]

3 голосов
/ 29 июня 2010

NativeProcess доступен только в том случае, если приложения компилируются в собственные двоичные файлы, а не в установщики .air.

1 голос
/ 08 февраля 2012

Вам необходимо установить для тега supportProfiles значение extendedDesktop ', чтобы работать с собственным процессом.

Поместите / раскомментируйте эту строку ниже в вашем app.xml:

<supportedProfiles>extendedDesktop</supportedProfiles>
0 голосов
/ 23 июня 2013

Решено с помощью

Экспорт с собственной подписью без знака AIR

0 голосов
/ 19 июля 2010

NativeProcess может быть скомпилирован с Air2, это очень сложно. Проблема в том, что вам нужно ПОЛНОСТЬЮ наложить ваш Flex SDK и новый Air2. Удивительно, но, согласно этой ссылке , вы не можете сделать это через искатель и должны делать это через терминал. В Mac:

  1. Загрузите SDK из Air SDK и поместите в папку 1.
  2. Сделайте копию своего Flex SDK и поместите его в папку 2 (в папке Flex Builder sdks)
  3. Напишите ditto -V folder1 folder2 в терминале, чтобы наложить их.

Теперь перейдите в настройки вашего проекта и выберите папку 2 как sdk (теперь она наложена на папку 1).

Также вам, вероятно, потребуется изменить описание на:

http://ns.adobe.com/air/application/2.0

Очень хорошее описание Установка Adobe AIR 2 SDK в Eclipse (см. Часть 3).

Надеюсь, это поможет.

...