大家好
我正在尝试为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 \ Adobe \ Adobe Flash Builder 4.6 \ sdks \ 4.6.0 \ bin
设置root_directory = C:\ Users \ hugo \ Adobe Flash Builder 4.6
设置library_directory =%root_directory%\ HelloANELibrary
设置native_directory =%root_directory%\ HelloANENative
设置signing_options = -storetype pkcs12 -keystore" C:\ Users \ hugo \ Adobe 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
答案 0 :(得分:6)
您只需在“-platform Android-ARM”之后添加以下内容:-C“%native_directory%”res
将您的res文件夹保存在%native_directory%!
中但最好的方法是创建一个%target_native_directory%,将所需内容放入其中,并使用: -C“%target_native_directory%”。