Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从AdobeAIR android应用程序读取/proc/meminfo_Android_Actionscript 3_Air_Adb - Fatal编程技术网

从AdobeAIR android应用程序读取/proc/meminfo

从AdobeAIR android应用程序读取/proc/meminfo,android,actionscript-3,air,adb,Android,Actionscript 3,Air,Adb,因此,如果我打开一个命令提示符,浏览一下我的设备的/proc/meminfo,如下所示: adb shell cat /proc/meminfo 我得到了你所期望的——一个关于设备RAM使用率+容量的很长的数据列表。但当我尝试从AdobeAIR android应用程序读取相同位置时,使用以下基本代码: var meminfo:File = new File().resolvePath('/proc/meminfo'); meminfo.addEventListener(Event.COMPLE

因此,如果我打开一个命令提示符,浏览一下我的设备的/proc/meminfo,如下所示:

adb shell cat /proc/meminfo
我得到了你所期望的——一个关于设备RAM使用率+容量的很长的数据列表。但当我尝试从AdobeAIR android应用程序读取相同位置时,使用以下基本代码:

var meminfo:File = new File().resolvePath('/proc/meminfo');
meminfo.addEventListener(Event.COMPLETE, function(e:Event):void {
    trace(File(e.target).data);
});
meminfo.load();
。。。我什么也得不到,只有一个空的茶馆


那么,为什么我可以从adb shell中看到/proc/meminfo的内容,而不能从应用程序中看到?例如,/proc/目录-cpuinfo中的其他内容也是如此。不过,我可以从/etc/目录加载xml文件。

结果表明,如果您将memtest(或cputest等)复制到另一个位置,即对AIR更友好的位置,比如file.documents目录,那么一切都会顺利进行

您的代码可能看起来有点像这样:

var meminfo_original:File = new File().resolvePath('/proc/meminfo');
var meminfo_copy:File = File.documentsDirectory.resolvePath('meminfo.txt');
meminfo_original.copyTo(meminfo_copy, true);
meminfo_copy.addEventListener(Event.COMPLETE, function(e:Event):void    {
    trace(File(e.target).data.toString());
});
meminfo_copy.load();

/proc
文件夹是IIRC paravirtual,也就是说,它作为内存位置或接口存在于Linux内核中,因此它不是一个普通的
文件
,无法通过将其作为文件加载来读取。此外,还有一些安全措施不允许应用程序读取系统配置,以防止病毒或其他恶意代码欺骗关键信息。Adobe Flash Player有一个已知的限制,即不允许AS3代码在Windows上访问系统配置,这里可能也适用相同的安全限制。因此,这肯定是对我问题的正确答案,但我也提出了一个“解决方案,“简单地将文件复制到某个地方就可以了,而且副本似乎没有相同的访问限制。您想添加您的答案并让我将其标记为正确,还是我应该用我的解决方案进行自我回答?我认为您最好使用自我回答,因为这包括您自己的研究和行动。