解決方案後加「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