решение: тестовый целевой проект должен также добавить WRITE_EXTERNAL_STORAGE в AndroidManifest.xml
этот вопрос возник из проекта тестирования Android, который не может записать результаты теста в SDcard. Добавление 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-карта была смонтирована, потому что я могу использовать другое приложение для записи файла на внешнюю SD-карту.
Кто-нибудь может дать мне какое-нибудь предложение?
PS:
система эмулятора 2.3.3