如何将文件复制到android的文件系统?

时间:2010-04-19 14:37:19

标签: android filesystems

如何将文件复制到android中的文件系统(地方)?我该如何访问它?

5 个答案:

答案 0 :(得分:11)

将文件从android复制到本地

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

从本地

将文件复制到android
adb push ./sample/ /sdcard/sample/

答案 1 :(得分:2)

我不确定这是不是你问的问题,但这是对你问题的另一种解释:

您可以将文件放在开发计算机上项目的assets文件夹中。它们将捆绑到apk文件中,然后通过AssetManager类访问它们。来自Service或Activity类中的类似内容:

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

这将允许您阅读这些文件的内容。我不相信你可以写信给他们。如果需要在应用程序的存储沙箱中读取和写入文件,还有其他选项。这是通过调用openFileOutput()来完成的。我应该注意,用户可以随时通过ddms访问设备上的文件,但其他应用程序将无法访问存储在应用程序存储沙箱中的文件。

修改根据您的评论,您可能希望使用

OutputStream out = openFileOutput("outfile");

从您的代码写入文件。必须在ActivityService内扩展此代码(扩展Context的内容)。此文件将存储在手机的文件系统中,而不是存储在SD卡上。普通用户无法访问这些文件。如果用户知道如何启用USB调试,那么他们将能够访问它们,而且实际上没有办法解决这个问题。

答案 2 :(得分:1)

您可以使用:

Environment.getExternalStorageDirectory()

如果您的设备有SD卡,或者在其他情况下有其他不同之处,则会给您/sdcard。例如Archos。

答案 3 :(得分:1)

我花了一些时间研究一下android的系统文件,但几乎总是用android x86,我发现android里面的/ system文件夹是只读的,

它是一个格式为SFS格式的图像,这是linux的只读图像格式,所以我不认为你可以复制这个文件夹里面的东西。我不确定root的android。希望它会对你有所帮助。

答案 4 :(得分:0)

您可以在sdcard中隐藏文件,方法是在其前面添加一个点(例如:.myfile)