решение: тестовый целевой проект должен также добавить 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 (Permission denied)
Ниже приведен код манифеста
<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