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.
因此,您的应用可以写入模拟器中的外部存储。
遗憾的是,默认模拟器无法模拟辅助外部存储。
我对 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.
因此,您的应用可以写入模拟器中的外部存储。
遗憾的是,默认模拟器无法模拟辅助外部存储。