如果设备没有 SD 卡并且我们没有 root 访问权限,Android 设备上是否有任何位置我们可以推送文件(使用 adb)?
(我正在尝试将属性文件推送到设备上,因此我还需要能够从设备上运行的 Activity 中的该位置读取数据)
最佳答案
每个设备都有不同的能力。在某些手机上,例如 Samsung Galaxy S Vibrant,/sdcard/mount 可由通过 adb 连接的任何主机写入。在其他设备上,例如 MyTouch 4G,“adb push”根本无法将任何文件发送到任何目的地。
如果您只使用一两个设备进行测试,请打开 adb shell
并发出诸如 df
和 ls -l
之类的命令以分别查看有哪些挂载点和文件权限。
如果您的用户可以在 Android 设备上执行 find
,那将是一个真正的福音,您可以使用它来定位当前有效 uid 可写(或所有人可写)的文件。
一些要尝试的目录:
/sdcard /data /tmp /opt
您可能已经看过 adb page但我将其链接以防万一。
示例 df
输出:
$ df /dev: 318068K total, 64K used, 318004K available (block size 4096) /system: 558668K total, 468920K used, 89748K available (block size 4096) /data: 1190256K total, 129868K used, 1060388K available (block size 4096) /cache: 294628K total, 16720K used, 277908K available (block size 4096) /devlog: 21100K total, 6056K used, 15044K available (block size 4096) /mnt/asec: 318068K total, 0K used, 318068K available (block size 4096) /mnt/obb: 318068K total, 0K used, 318068K available (block size 4096) /app-cache: 8192K total, 0K used, 8192K available (block size 4096)
关于Android adb推送到没有SD卡且没有root访问权限的设备中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585119/