2014-01-03 4 views
0

Я tring, чтобы скопировать один файл по одному каталогу в другой. Я использую функцию «cp». это кодкомандная оболочка программно, которая не работает

Process process = Runtime.getRuntime().exec("cp "+path+" "+destinationFolder); 

этот код работает хорошо на многом устройстве, но и в другом я получаю эту ошибку

error running exec(cp, /data/app/myApp.apk, mnt/sdcard/destinationFolder. 

рабочего каталог пустой, envinroment нуля. вызванное разрешением ioException, отрицает, почему я получаю эту ошибку и как я могу ее решить? любая справка -

+0

Ну ... вот обходное решение: скопируйте файл [программно] (http://stackoverflow.com/questions/12496732/copy-file-from-the-directory-to-another-having-the-paths -of-file-and-director) –

ответ

0

Эта ошибка может быть зависимой от поставщика, очевидно, что ошибка связана с отсутствием разрешений при попытке копирования файлов в/data/app /, большинство устройств не позволят вам это сделать, если устройство не внедрено и вы используете команды sudo, если вы пытаетесь атаковать глобальный рынок своим приложением, я уверен, что у вас будет много проблем с этим, и вы должны найти лучший подход.

Надеюсь, что это поможет

С уважением!

+0

поэтому команда «cp» требует доступа root? –

+0

Если вы пытаетесь скопировать файл, который требует прав root, да, в противном случае нет, поэтому он может работать на некоторых телефонах, потому что у некоторых поставщиков могут быть разные разрешения. –

+0

Я tring, чтобы скопировать файл apk по его папке в другую папку на SD-карте. для этого требуется root-доступ? –

1

ошибка выполняющийся (ср, /data/app/myApp.apk, мнт/SDCard/destinationFolder

выглядит ваш путь назначения не имеет корневой слэш, как это должно быть /mnt/sdcard/destinationFolder не mnt/sdcard/destinationFolder в цитируемом сообщении об ошибке указывает

+0

да, я забыл,/"before of mnt –

+0

Если это решает вашу проблему, примите ответ: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

+0

И не уверен как вы правильно создаете destinationFolder, но вы должны использовать 'getExternalStorageDirectory()': https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory() –

Смежные вопросы