stMind

about Tech, Computer vision and Machine learning

adb pushでPermission Deniedになってsdcardにコピー出来ないとき

GDDフォンを1.6にアップデートしたときに少しだけ詰まったのでメモ。

adb pushしたらPermission Deniedになってしまう

HTC - Support - GDDJ-09

説明に沿ってアップデートを進めていたところ、手順5を実行してみたら

stMacBook:tools satojkovic$ ./adb push signed-jdd-ota-14721.zip /sdcard/update.zip
failed to copy 'signed-jdd-ota-14721.zip' to '/sdcard/update.zip': Permission denied

となってコピーできない><
あれ?と思って、ディレクトリのパーミッションを調べてみる。

stMacBook:tools satojkovic$ ./adb shell
$ ls -l
drwxrwxrwt root root 2009-11-23 02:01 sqlite_stmt_journals
drwxrwx--- system cache 2009-11-23 02:04 cache
d--------- system system 2009-09-30 07:50 sdcard
lrwxrwxrwx root root 2009-09-30 07:50 etc -> /system/etc
drwxr-xr-x root root 2009-11-23 01:55 system
drwxr-xr-x root root 1970-01-01 09:00 sys
drwxr-x--- root root 1970-01-01 09:00 sbin
dr-xr-xr-x root root 1970-01-01 09:00 proc

  • rw-r--r-- root root 11336 1970-01-01 09:00 logo.rle
  • rwxr-x--- root root 1874 1970-01-01 09:00 init.sapphire.rc
  • rwxr-x--- root root 10700 1970-01-01 09:00 init.rc
  • rwxr-x--- root root 1677 1970-01-01 09:00 init.goldfish.rc
  • rwxr-x--- root root 106696 1970-01-01 09:00 init
  • rw-r--r-- root root 118 1970-01-01 09:00 default.prop

drwxrwx--x system system 2009-05-28 05:59 data
drwx------ root root 2009-09-18 07:37 root
drwxr-xr-x root root 2009-09-30 07:50 dev

どうやら、sdcardが読み書きできないようになってるみたいだ。
検索して調べてみたりもしてみたけどなんか違う感じ。

そういえば、端末を接続する時に「マウントする」を選んでた事を思い出した。
f:id:satojkovic:20091123023019p:image

もしかしたらこれが原因かもしれないと思い、OFFにしてみたら書き込みが出来るようになった!
f:id:satojkovic:20091123023608p:image

d---rwxr-x system sdcard_rw 1970-01-01 09:00 sdcard

stMacBook:tools satojkovic$ ./adb push signed-jdd-ota-14721.zip /sdcard/update.zip
1177 KB/s (54163101 bytes in 44.908s)

まとめ

adb pushするときに、Permission Deniedでsdcardに書き込み出来ないときは、マウントをOFFにしてみてください。