Android 模拟器不会阻止外部磁盘写入?

Android Emulator doesn't prevent external disk writing?

我对 Android 模拟器感到困惑。 Android KitKat 或 Lollipop 的模拟器无法正确模拟外部磁盘写入。

两个Android版本都应该防止应用程序在外部磁盘上进行修改(写入或修改),即使应用程序已经定义

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我在 Android 官方模拟器和 Genymotion 中都试过了。

当您创建新的 AVD 并设置 SD 卡时,您会向模拟器添加一个主要 外部存储。 Android 从版本 4.4 开始阻止修改 secondary 外部存储,如您所见 here:

The WRITE_EXTERNAL_STORAGE permission must only grant write access to the primary external storage on a device. Apps must not be allowed to write to secondary external storage devices, except in their package-specific directories as allowed by synthesized permissions. Restricting writes in this way ensures the system can clean up files when applications are uninstalled.

因此,您的应用可以写入模拟器中的外部存储。

遗憾的是,默认模拟器无法模拟辅助外部存储。