如何将文件复制到android中的文件系统(地方)?我该如何访问它?
答案 0 :(得分:11)
将文件从android复制到本地
adb pull /data/data/com.example.sample ./sample/
从本地
将文件复制到androidadb 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");
从您的代码写入文件。必须在Activity
或Service
内扩展此代码(扩展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)