как я могу скопировать файлы в файловую систему Android? - PullRequest
5 голосов
/ 19 апреля 2010

Как я могу скопировать файлы в файловую систему (место) в Android? Как я могу получить к нему доступ?

Ответы [ 5 ]

11 голосов
/ 19 апреля 2010

копирование файлов с Android на локальный

adb pull /data/data/com.example.sample ./sample/

скопировать файл на андроид с локального

adb push ./sample/ /sdcard/sample/
2 голосов
/ 19 апреля 2010

Я не уверен, что это то, что вы спрашиваете, но вот другое толкование вашего вопроса:

Вы можете поместить файлы в папку assets в проекте на своем компьютере разработчика. Они будут объединены в файл apk и затем будут доступны через класс AssetManager. Примерно так из класса Service или Activity:

AssetManager am = getAssets();
InputStream is = am.open("filename");

Это позволит вам прочитать содержимое этих файлов. Я не верю, что вы можете написать им, хотя. Существуют и другие варианты, если вам нужно читать и записывать файлы в изолированной программной среде вашего приложения. Это делается по телефону openFileOutput(). Следует отметить, что пользователь всегда может получить доступ к файлам на устройстве через ddms, но другие приложения не смогут получить доступ к файлам, хранящимся в изолированной программной среде хранения вашего приложения.

Редактировать Исходя из вашего комментария, вы, вероятно, хотите использовать

OutputStream out = openFileOutput("outfile");

для записи в файл из вашего кода. Этот код должен вызываться из Activity или Service (что-то, что расширяет Context). Этот файл будет храниться в файловой системе телефона, а не на SD-карте. Эти файлы не будут доступны для обычного пользователя. Если пользователи знают, как включить отладку по USB, они смогут получить к ним доступ, и на самом деле нет никакого способа обойти это.

1 голос
/ 15 декабря 2011

Раньше я занимался поиском системных файлов Android, но почти всегда с android x86, я обнаружил, что папка / system внутри android доступна только для чтения,

это изображение с форматом SFS, это формат изображения Linux, предназначенный только для чтения, поэтому я не думаю, что вы можете скопировать что-то в эту папку. Я не уверен насчет рутированного андроида. Надеюсь, это поможет вам.

1 голос
/ 19 апреля 2010

Вы можете использовать:

Environment.getExternalStorageDirectory()

Это даст вам /sdcard, если ваше устройство имеет SD-карту или что-то другое в других случаях. Например, Archos.

0 голосов
/ 19 апреля 2010

Вероятно, вы можете спрятать свой файл в SDCard, поставив перед ним точку (например: .myfile)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...