Можно ли обернуть библиотеку C ++ в собственное расширение Adobe Air IOS / Android?
У меня есть библиотека C ++, написанная третьей стороной. Я хочу использовать эту библиотеку для собственного расширения Adobe Air для мобильных устройств?
Смогу ли я сделать это. Если так, где я могу найти некоторые рекомендации?
Я попытаюсь ответить на часть вопроса об Android.
Я не видел, как это четко указано в документации Adobe Air, что это возможно, но в разделе справки Adobe для Adobe Air, раздел Упаковка нативного расширения: сборка нативной библиотеки, это говорит:
Собственные библиотеки Android: при использовании Android NDK укажите общую библиотеку с именем файла следующим образом (и т. Д.)
NDK как вы, возможно, знаете, позволяет вам реализовывать части вашего Android-приложения, используя языки собственного кода, включая C ++.
Я так понимаю, эта ссылка в документации означает, что это возможно. В качестве отправной точки я бы ознакомился с деталями NDK.
Хотя это не подробное руководство о том, как действовать, я надеюсь, что оно дает указатель в правильном направлении.
Альтернативой созданию ANE для переноса библиотеки C ++ является ее компиляция в байт-код Flash с использованием нового компилятора Adobe «C ++ to Flash» (ранее известного как Alchemy). Он может создать SWF-файл, который позже можно вызвать из ActionScript. Вот руководство это объясняет, как это сделать. А также Вот это его официальный сайт.
для iOS вы можете использовать библиотеку c, если вы можете статистически ссылаться на нее. ANE на iOS не поддерживает динамическое связывание (по состоянию на 3.2 не уверен, что что-то изменилось в более новых выпусках). Статическое связывание довольно простой процесс в XCode, просто Google.
для Android:
Если у вас есть файл .so, вы можете написать свой ANE в JAVA и использовать jni (System.loadLibrary) для общения с вашей библиотекой cpp. это лучше, чем писать ANE в CPP полностью. Увидеть любая документация «Включая дополнительные общие Android-библиотеки .so в пакет ANE», чтобы узнать больше.