Androidがシステムコールstatfs()をサポートしているかどうかを確認したい。だから、私はそれをチェックするために次のコードを作成します(そしてそれはndk経由でコンパイルされます):
#include <sys/vfs.h>
#include <stdio.h>
int main()
{
struct statfs diskInfo;
statfs("/data",&diskInfo);
perror("statfs,/data");
unsigned long long blocksize = diskInfo.f_bsize;
unsigned long long totalsize = blocksize * diskInfo.f_blocks;
printf("new TOTAL_SIZE == %lu MB/n",totalsize>>20);
unsigned long long freeDisk = diskInfo.f_bfree*blocksize;
printf("DISK_FREE == %ld MB/n",freeDisk>>20);
return 0;
}
コンパイル中にエラーは発生しませんが、adb を介して Android エミュレーターで実行すると、次のプロンプトが表示されます。
kaiwii@ubuntu:~$ adb shell /data/pwrite/test2
statfs,/data: No such file or directory
new TOTAL_SIZE == 0 MB/nDISK_FREE == 0 MB/n
何か考えはありますか?thx