Ошибка # 3219 NativeProcess в AIR

У меня есть программа в AIR 2.6 для платформы Windows и Mac Os. Используйте класс NativeProcess для выполнения собственных приложений, которые я включил в проект.

В Windows все работает нормально, но в Mac не работает.

Код такой:

var executable:File = File.applicationDirectory.resolvePath('bin/mac/convert') 
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = executable;
nativeProcessStartupInfo.arguments = params;
nativeProcessStartupInfo.workingDirectory = workingDirectory;

if(NativeProcess.isSupported)
    start(nativeProcessStartupInfo);

Ошибка находится в строке start (...):

Error #3219: The NativeProcess could not be started. 'launch path not accesible'.

Исполняемая переменная - это файл с путем в debug = / Users / awakening / Documents / workspace / flashbuilder / SDTDV / bin-debug / bin / mac / convert

Он говорит, что существует = True. Та же проблема со сборкой релиза.

Заранее спасибо.


person aWaKeNiNG    schedule 26.05.2011    source источник


Ответы (2)


Вы получите эту ошибку, если для файла, который вы пытаетесь выполнить, не установлен бит выполнения.

Вы можете использовать chmod в командной строке

Или, если вы используете Flex / Flash Builder, вы можете щелкнуть файл правой кнопкой мыши и выбрать свойства. Затем установите бит выполнения

Выполнить бит

person Derek Slife    schedule 10.06.2011
comment
Вы устанавливаете бит выполнения для всех строк? - person 1.21 gigawatts; 05.11.2015
comment
Остальные строки используются только для работы с многопользовательскими системами (например, с серверами Unix / Linux). Предполагая, что вы единственный пользователь в системе, разрабатывающий приложение, установка этого параметра на Owner - это все, что действительно требуется. - person Derek Slife; 06.11.2015

Вы имеете в виду файл jar? Чтобы запустить файл JAR, я думаю, вам нужно сделать JAVA исполняемым файлом и передать ему аргумент файла jar.

person Jonathan Rowny    schedule 03.06.2011
comment
Кстати, я думаю, вы также можете вызвать / usr / bin / open и передать файл JAR в качестве аргумента. Здесь используется тот же процесс, что и в приложении Mac Finder. - person Jonathan Rowny; 03.06.2011
comment
Это не jar-файл. Это программа командной строки. В AIR вы указываете исполняемый файл (/ Users / awakening / Documents / workspace / flashbuilder / SDTDV / bin-debug / bin / mac / convert) и его аргументы. - person aWaKeNiNG; 04.06.2011
comment
Хорошо, вы пробовали запустить / usr / bin / open с / Users / awakening / Documents / workspace / flashbuilder / SDTDV / bin-debug / bin / mac / convert в качестве аргумента, а затем его аргументы? - person Jonathan Rowny; 06.06.2011