2012-12-21 23 views

Odpowiedz

2

Postaram się odpowiedzieć na część pytania związaną z Androidem.

Nie widziałem to wyraźnie napisane w dokumentacji Adobe AIR, że jest to możliwe, ale w pomocy Dokumentów firmy Adobe, Adobe Air, sekcji Packaging a native extension: Building the native library, to mówi:

Android biblioteki rodzime: Kiedy użyć Android NDK, zapewnić wspólną bibliotekę z pliku w następujący sposób (etc)

NDK jak wiadomo pozwala na wdrożenie części Android aplikacji przy użyciu języków native kod obejmujący C++.

biorę go to odniesienie w docs oznacza, że ​​jest to możliwe. Jako punkt wyjścia, poznam szczegóły NDK.

Choć nie jest to szczegółowe wytyczne dotyczące sposobu proceeed, mam nadzieję, że to daje wskaźnik w odpowiednim kierunku.

+0

Oprócz części Adobe Air pytania, natywna biblioteka nie będzie realistycznie być użyteczny, chyba to było albo już skompilowany z toolchain NDK do żądanego asortymentu Android ABI lub dostępny w postaci źródłowej. –

+0

@Chris Stratton Dziękujemy za wyjaśnienia. –

2

Alternatywą dla budowania ANE zawinąć biblioteki C++ jest go skompilować do kodu bajtowego Flash, korzystając z nowego Adobe „C++ migać” kompilatora (poprzednio znany jako Alchemii). Może wytworzyć plik SWF, który możesz później wywołać z ActionScript. Oto tutorial, który wyjaśnia, jak to zrobić. A jego oficjalną stroną jest here.

0

dla iOS można użyć biblioteki C, jeśli można statystycznie link do niego. ANE na iOS nie obsługuje dynamicznego linkowania (od wersji 3.2 nie jest pewne, czy coś zmieniło się w nowszych wersjach). Łączenie statyczne jest dość łatwym procesem w Xcode, wystarczy google.

dla Androida:

Jeśli masz plik .so można napisać ANE w JAVA i używać JNI (System.loadLibrary) rozmawiać z biblioteki CPP. jest to lepsze niż pisanie ANE w CPP całkowicie. Aby dowiedzieć się więcej, zobacz artykuł ane documentation "W tym dodatkowe udostępniane biblioteki .so w Androidzie w pakiecie ANE".