1

所以我有一个植根的 android 4.0.3 设备。每当我将某些东西安装到实际上是内部的“sd 卡”时,它也会创建这个 /mnt/secure/asec 分区。以下是 df 的部分输出。

    /mnt/sdcard              1G    65M     1G   4096
    /mnt/secure/asec         1G    65M     1G   4096

现在,如果我尝试执行以下代码。

    File f = new File("/mnt/sdcard");
    long div = (1024*1024);
    long d = f.getTotalSpace()/div;
            Log.i("Capacity",String.valueOf(d));

它显示给我的值是 2Gb。这里发生了什么?为什么 android 4.0.3 会为这些安装在“sd 卡”上的 apk 创建一个安全挂载点?这不是 JellyBean 独有的功能吗?

4

1 回答 1

1

这里发生了什么?

尝试使用StatFs代替,getTotalSpace()看看你是否能得到更好的结果。

为什么 android 4.0.3 会为这些安装在“sd 卡”上的 apk 创建一个安全挂载点?

因为自从 API 级别 8 中引入该功能以来,这一直是 Android 中安装到 SD 的一部分。

于 2012-10-06T11:36:35.983 回答