Adobe air 3.0 ANE для Android, null ExtensionContext? - PullRequest
2 голосов
/ 07 ноября 2011

Я работал с примером вибрации от собственных расширений Adobe для Air 3.0 на Android.

У меня скомпилирован ANE и упакован .apk.

Проблема, с которой я столкнулся, заключается в том, что библиотека actionscript получает нулевой ExtensionContext.

Я попытался создать .apk с помощью adt -package -target apk-debug, чтобы я мог видеть трассировки сценариев в logcat, и именно здесь я обнаружил нулевую ошибку.

extContext = ExtensionContext.createExtensionContext("com.adobe.Vibration", null);

extContext имеет значение null и приводит к сбою в следующем методе .call ().

Все исходные материалы взяты из примеров, я ничего не изменил.

Кто-нибудь имеет опыт работы с одним из примеров Adobe ANE, работающим на компьютере с Windows? Большинство примеров для Mac.

Ответы [ 3 ]

1 голос
/ 12 ноября 2011

Господи.Какая пустая трата недели.

Я использовал учебник с gotoandlearn.com, который велел мне, используя скрипт сборки, использовать команду jar для добавления моего собственного расширения в jar.

Я просто использовал .jar, который автоматически встроен в папку NativeAndroid / bin /, и все хорошо.

Оказывается, это руководство устарело и больше не полезно для сборки.*

0 голосов
/ 07 октября 2013

У меня точно такая же проблема с собственным расширением, которое я пишу, и у меня открытый исходный код.Я начал этот проект с учебного кода от Adobe DevNet.Я нашел примеры этой конкретной проблемы, которой я пытался точно следовать, и мне пока не повезло.Я определил, что это проблема разрешающего домена для песочницы.

Вот моя строка кода:

_aneContext = ExtensionContext.createExtensionContext("com.adobe.sampleasextension", "");

Вот ссылка на код в моем проекте GitHub:

https://github.com/interactivenyc/ANESampleProject/blob/master/TEST_AndroidAIR/src/ANESampleTest.as

Вот моя ошибка компилятора:

SecurityError: Error #3207: Application-sandbox content cannot access this feature.
    at flash.system::Security$/allowDomain()
    at com.adobe.sampleasextension::SampleASExtension()[/Users/stevewarren/Clients/Speakaboos/git_repositories/ANESampleProject/ANESampleSWC/src/com/adobe/sampleasextension/SampleASExtension.as:14]
    at ANESampleTest/initializeANE()[/Users/stevewarren/Clients/Speakaboos/git_repositories/ANESampleProject/TEST_AndroidAIR/src/ANESampleTest.as:198]
    at ANESampleTest/onAddedToStage()[/Users/stevewarren/Clients/Speakaboos/git_repositories/ANESampleProject/TEST_AndroidAIR/src/ANESampleTest.as:131]
    at runtime::ContentPlayer/loadInitialContent()
    at runtime::ContentPlayer/playRawContent()
    at runtime::ContentPlayer/playContent()
    at runtime::AppRunner/run()
    at AppEntryCommon/run()
    at global/runtime::AndroidMobileDeviceAppEntry()
0 голосов
/ 02 августа 2013

Один дополнительный комментарий. Вам нужно установить целевую платформу и установить флажок Is Library из Properties -> Android, чтобы получить скомпилированный jar в папке bin.

P.S. .sh из gotoandlearn может быть выполнен в Powershell в Windows с небольшими изменениями для запуска файлов bat: (cmd "/ c adt.bat")

...