решение: тестовый целевой проект также должен добавить WRITE_EXTERNAL_STORAGE в AndroidManifest.xml
этот вопрос возник из тестового проекта Android, который не может записать результат теста на SD-карту. Добавление WRITE_EXTERNAL_STORAGE в тестовый целевой проект может решить эту проблему.
Всегда отказываться от разрешения, когда я использую приведенный ниже код для записи XML-файла в SD-карту эмулятора. Я добавил WRITE_EXTERNAL_STORAGE" в AndroidManifest.xml.
@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 card was mounted, because I can use another application to write file into external sd card.
Может ли кто-нибудь дать мне какое-нибудь предложение?
PS: система эмулятора 2.3.3