Могу ли я обернуть библиотеку c ++ в собственное расширение Adobe Air для мобильных устройств IOS / Android?

Можно ли обернуть библиотеку C ++ в собственное расширение Adobe Air IOS / Android?

У меня есть библиотека C ++, написанная третьей стороной. Я хочу использовать эту библиотеку для собственного расширения Adobe Air для мобильных устройств?
Смогу ли я сделать это. Если так, где я могу найти некоторые рекомендации?

5

Решение

Я попытаюсь ответить на часть вопроса об Android.

Я не видел, как это четко указано в документации Adobe Air, что это возможно, но в разделе справки Adobe для Adobe Air, раздел Упаковка нативного расширения: сборка нативной библиотеки, это говорит:

Собственные библиотеки Android: при использовании Android NDK укажите общую библиотеку с именем файла следующим образом (и т. Д.)

NDK как вы, возможно, знаете, позволяет вам реализовывать части вашего Android-приложения, используя языки собственного кода, включая C ++.

Я так понимаю, эта ссылка в документации означает, что это возможно. В качестве отправной точки я бы ознакомился с деталями NDK.

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

2

Другие решения

Альтернативой созданию ANE для переноса библиотеки C ++ является ее компиляция в байт-код Flash с использованием нового компилятора Adobe «C ++ to Flash» (ранее известного как Alchemy). Он может создать SWF-файл, который позже можно вызвать из ActionScript. Вот руководство это объясняет, как это сделать. А также Вот это его официальный сайт.

2

для iOS вы можете использовать библиотеку c, если вы можете статистически ссылаться на нее. ANE на iOS не поддерживает динамическое связывание (по состоянию на 3.2 не уверен, что что-то изменилось в более новых выпусках). Статическое связывание довольно простой процесс в XCode, просто Google.

для Android:

Если у вас есть файл .so, вы можете написать свой ANE в JAVA и использовать jni (System.loadLibrary) для общения с вашей библиотекой cpp. это лучше, чем писать ANE в CPP полностью. Увидеть любая документация «Включая дополнительные общие Android-библиотеки .so в пакет ANE», чтобы узнать больше.

0