解决方案后加“WRITE_EXTERNAL_STORAGE”否认:测试目标项目还必须添加WRITE_EXTERNAL_STORAGE在AndroidManifest.xml仍然允许在AndroidManifest.xml
这个问题来自一个Android测试项目,不能写测试导致SDcard。将WRITE_EXTERNAL_STORAGE添加到测试目标项目中可以解决此问题。
当我使用下面的代码将xml文件写入仿真器的sdcard时,总是抛出权限被拒绝。 。 我在AndroidManifest.xml中添加WRITE_EXTERNAL_STORAGE”
@Override
public void onStart(){
try {
File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
myWriter = new FileWriter(new File(root, TEST_RESULT+".xml"));
startResultOutput(myWriter);
} catch (IOException e) {
Log.d("TestInfo", "after new FileWriter: "+e.getMessage());
}
super.onStart();
}
逮住IOExcetion,该消息是: 后新的FileWriter:/mnt/sdcard/InterFace_test_result.xml(拒绝)
下面是清单代码
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" />
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
安装了SD卡,因为我可以使用其他应用程序将文件写入外部SD卡。
有人可以给我一些建议吗?
PS: 仿真器系统是2.3.3
你有没有在模拟器参数中设置一个SD存储卡?在你可以创建它的界面中有一个选项 – 2011-12-24 15:34:47
是的〜我可以使用另一个应用程序将文件写入我的模拟器的SD卡,并从adb外壳,我也可以操作SD卡。 – Millie 2011-12-24 15:38:00
我遇到了同样的问题。你解决了这个问题吗? 看到我的帖子: http://stackoverflow.com/questions/10877740/traceview-cant-write-sd-card – gladman 2012-06-04 10:40:34