如何使用adb将文件复制到可从PC访问的android目录

kem*_*sky 18 android adb android-external-storage

如果您将Android设备连接到PC,您可以浏览文件和目录.可以使用此目录Environment.getExternalStorage().您可以在应用程序中使用它并创建可访问的文件和目录.它工作正常.

在我的设备上这条路径看起来像/storage/emulated/0,如果我尝试adb push这个目录,我将获得访问被拒绝错误.是否可以将文件复制adb到与Windows资源管理器相同的文件夹中?

D:\...\tools>adb push ACCOUNTS.DB /storage/emulated/0
failed to copy 'ACCOUNTS.DB' to '/storage/emulated/0': Permission denied
58969 KB/s (606505 bytes in 0.010s)
Run Code Online (Sandbox Code Playgroud)

我正在实现自动导入/导出,我希望可以访问文件adb shell,万一不会出现任何问题.

目前使用变量$EXTERNAL_STORAGE作为变通方法,它适用于两者adb和应用程序.

设备:华硕Fonepad 7,Android 5.0,尝试了Genymotion Custom Tablet 6.0 - 工作.

bwt*_*bwt 6

尝试使用/sdcard/.虽然强烈建议不要在代码中执行此操作.这似乎是adb的唯一方法:

$ adb push somefile /storage/emulated/0/somefile
[100%] /storage/emulated/0/somefile
adb: error: failed to copy 'somefile' to '/storage/emulated/0/somefile': Read-only file system

$ adb push somefile /sdcard/somefile
[100%] /sdcard/somefile
Run Code Online (Sandbox Code Playgroud)

顺便说一下,在我的设备上,它们没有相同的值:Environment.getExternalStorage()指向/storage/emulated/0//sdcard指向/storage/emulated/legacy.