Каждое устройство может быть различным.На некоторых телефонах, таких как Samsung Galaxy S Vibrant, / sdcard / mount доступен для записи любым хостом, подключенным через adb.На других, таких как MyTouch 4G, «adb push» вообще не может отправлять файлы в любое место назначения.
Если вы тестируете только с одним или двумя устройствами, откройте adb shell
и выполните такие команды, какdf
и ls -l
, чтобы увидеть, какие есть точки монтирования и права доступа к файлу соответственно.
Если ваш пользователь может выполнить find
на устройстве Android, это настоящее благо, и вы, вероятно, можете использоватьчтобы найти файлы, доступные для записи по текущему действующему uid (или для записи всеми).
Некоторые каталоги, которые нужно попробовать:
/sdcard
/data
/tmp
/opt
Вы, вероятно, уже видели страницу adb но я связываю это на всякий случай.
Пример 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)