我一直在使用Adobe for Air 3.0在Android上的原生扩展的振动示例。
我编译了ANE并打包了.apk。
我遇到的问题是actionscript库获得了一个null ExtensionContext。
我尝试使用adt -package -target apk-debug创建.apk,以便我可以在logcat中看到actionscript跟踪,这就是我发现null错误的地方。
extContext = ExtensionContext.createExtensionContext("com.adobe.Vibration", null);
extContext为null,并在以下.call()方法中崩溃。
所有来源都是来自示例的库存,我没有改变任何东西。
有没有人有任何使用Adobe的ANE示例在Windows机器上工作的经验?大多数示例都适用于Mac。
答案 0 :(得分:1)
好主。多浪一个星期。
我正在使用gotoandlearn.com的一个教程告诉我,通过构建脚本,使用jar命令将我的原生扩展名放入jar中。
我只是使用了自动构建在NativeAndroid / bin /文件夹中的.jar,一切都很顺利。
事实证明,该教程已经过时,对构建不再有用了。
答案 1 :(得分:0)
另外一条评论。您需要设置目标平台和复选框Is Library from Properties - > Android在bin文件夹中获取编译的jar。
P.S。 gotoandlearn中的.sh可以在Windows的Powershell中执行,只需对运行的bat文件进行微小更改:(cmd“/ c adt.bat”)
答案 2 :(得分:0)
我正在编写的Native Extension上遇到完全相同的问题,并且已经开源了。我使用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()