AIR Android 应用程序。为什么这个 nativePath 是空的?

AIR Android app. Why is this nativePath empty?

includes/audio/bird.mp3 与应用程序捆绑在一起。

var file:File = File.applicationDirectory.resolvePath("includes/audio/bird.mp3");
                    
trace("file",file.exists);
trace("file",file.nativePath);
trace("file",file.url);

outputs
file true
file
file app:/includes/audio/bird.mp3

这是预料之中的。

applicationDirectory 中打包的文件被压缩为 APK 的一部分,并且没有直接的文件系统路径。您需要将它们提取到可访问的位置,(applicationStorageDirectory)。

在 AIR 中,只需将 File 引用复制到 File.applicationStorageDirectory,然后如果您真的需要的话,您应该有一个本机路径引用。

var file:File = File.applicationDirectory.resolvePath("includes/audio/bird.mp3");
var fileAccessible:File = File.applicationStorageDirectory.resolvePath("bird.mp3");

file.copyTo( fileAccessible );

trace( fileAccessible.nativePath );