如何从AIR本机扩展访问Android apk资源?

如何从AIR本机扩展访问Android apk资源?,android,air-native-extension,Android,Air Native Extension,我的本机扩展无法访问apk内的资源 比如说,我想在本地播放一个声音“my_sound.wav”: 我创建本机扩展名(.ane文件),如下所示: adt -package -target ane playSound.ane extension.xml -swc playSoundAPI.swc -platform Android-ARM -C Android-ARM . …在Android ARM/res/raw/my_sound.wav文件夹中有一个声音文件,因此它被打包到.ane文件中 然后

我的本机扩展无法访问apk内的资源

比如说,我想在本地播放一个声音“my_sound.wav”:

我创建本机扩展名(.ane文件),如下所示:

adt -package -target ane playSound.ane extension.xml -swc playSoundAPI.swc -platform Android-ARM -C Android-ARM .
…在Android ARM/res/raw/my_sound.wav文件夹中有一个声音文件,因此它被打包到.ane文件中

然后它被打包到Android应用程序(.apk文件)中

运行此aapt命令时:

aapt list -v myApp.apk
。。我可以在其他资源中看到我的声音文件,所以我知道它在里面:

6342  Deflate    5414  15%    263300  06-11-15 19:21  b998fae3 res/raw/my_sound.wav
另外,如果我用文件归档器打开myApp.apk,我可以看到里面的res/raw/my_sound.wav

问题是,当我在手机上运行应用程序时,它会产生一个错误:

android.content.res.Resources$NotFoundException: File res/raw/my_sound.wav from drawable resource ID #0x7f040005
我做错了什么

更新:


看起来只有声音文件出现问题。例如,我可以从res/raw/some.txt读取文本并在屏幕上显示该文本。我对一个.wav文件做了同样的尝试,我设法访问它,并使用InputStream和ByteArrayOutputStream将其内容打印为文本(大量乱码)。那么,声音文件在那里,但为什么我不能播放呢?仍然给我资源$NotFoundException。但它肯定在那里。我尝试了mp3,wav和不同的wav采样率,没有变化。我也曾尝试将其作为本机android应用程序使用,它工作得非常完美,但当我尝试在android本机扩展中执行相同操作时,它不起作用

嗨。我也遇到了和你一样的问题。你是怎么做到的?你能分享一下吗?:)
android.content.res.Resources$NotFoundException: File res/raw/my_sound.wav from drawable resource ID #0x7f040005