Adobe AIR 3本机扩展 - .ane文件中未包含Android res文件夹

时间:2011-11-09 03:36:05

标签: android actionscript-3 flex air

大家好

我正在尝试为air开发一个android扩展,但我的资源有问题。

根据这个:Official adobe doc - FREContext

Extending AIR by Oliver Goldman

我们只需要在Native部分的res文件中添加我们需要的资源,然后将它们添加到.ane文件中并传递给最终的apk。为了访问它们,我们必须使用getResourceId(" drawable.background_image")而不是R.drawable.background_image

但是当我生成扩展时,res文件实际上甚至不包含在.ane文件中的任何位置,也不包含在最终的apk中。而且我发现在网上没有使用资源进行单一扩展(甚至在adobe样本中也没有)

对于此测试,我只使用基本的Hello world Vibrate测试,但我在drawable文件夹中添加了一个新的png。

正如您在解压缩.ane文件时所看到的那样,然后转到META-INF / ANE / Android-ARM

res文件不存在。

因此,当我尝试访问我的资源FREContext.getResourceId时,程序崩溃了(" drawable.ppy_accessory_manage.png")

有没有人设法让资源在Android中使用ANE?在编译之前我的命令行中是否应该更改某些内容?

谢谢: - )

PS,这是我编译ANE的批处理:

设置adt_directory = C:\ Program Files \ Adob​​e \ Adob​​e Flash Builder 4.6 \ sdks \ 4.6.0 \ bin

设置root_directory = C:\ Users \ hugo \ Adob​​e Flash Builder 4.6

设置library_directory =%root_directory%\ HelloANELibrary

设置native_directory =%root_directory%\ HelloANENative

设置signing_options = -storetype pkcs12 -keystore" C:\ Users \ hugo \ Adob​​e Flash Builder 4.6 \ certificat.p12"

设置dest_ANE = HelloANE.ane

设置extension_XML =%library_directory%\ src \ extension.xml

set library_SWC =%library_directory%\ bin \ HelloANELibrary.swc

"%adt_directory%" / adt -package%signing_options%-target ane"%dest_ANE%" "%extension_XML%" -swc"%library_SWC%" -platform Android-ARM -C"%native_directory%" library.swf HelloANENative.jar

1 个答案:

答案 0 :(得分:6)

您只需在“-platform Android-ARM”之后添加以下内容:-C“%native_directory%”res

将您的res文件夹保存在%native_directory%!

但最好的方法是创建一个%target_native_directory%,将所需内容放入其中,并使用: -C“%target_native_directory%”。