2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Android11でアプリ内の領域に出力したファイルを自分の手元のPCに持ってこようとしたら Permission denied と言われる件

Posted at

概要

掲題について、調べると手順が出てくるのですが、おおよそ

  • Android端末内の/sdcard/にファイルを一度コピー
  • それをadb pull でPCへコピー

という手順になるのですが /sdcard/(実際には /storage/self/primary へのシンボリックリンク)へのコピーが Permission denied となってしまいました。

端末

Android11

今回の回避方法

おそらく正しいアプローチがあるのだと思いますが、今回そこまで時間をかけられなかったので、以下でとりあえずの回避が出来ました。

アプリのファイルのパスを確認

TANMATSU:/ $ run-as com.xxx.xxxxxxxxzzz
TANMATSU:/data/user/0/com.xxx.xxxxxxxxzzz $ cd files
TANMATSU:/data/user/0/com.xxx.xxxxxxxxzzz/files $ pwd
/data/user/0/com.xxx.xxxxxxxxzzz/files
TANMATSU:/data/user/0/com.xxx.xxxxxxxxzzz/files $ ls -l
total 145996
-rw-rw---- 1 u0_a299 u0_a299 50285969 2021-10-31 12:27 file1.txt
-rw-rw---- 1 u0_a299 u0_a299 50285969 2021-10-31 12:27 file2.txt
-rw-rw---- 1 u0_a299 u0_a299 50285969 2021-10-31 12:27 file3.txt

adb shell の run-as からの cat コマンドで、手元のPCに対して出力させます。

adb -d shell "run-as com.xxx.xxxxxxxxzzz cat /data/user/0/com.xxx.xxxxxxxxzzz/files/file1.txt" > file1.txt
adb -d shell "run-as com.xxx.xxxxxxxxzzz cat /data/user/0/com.xxx.xxxxxxxxzzz/files/file2.txt" > file2.txt
adb -d shell "run-as com.xxx.xxxxxxxxzzz cat /data/user/0/com.xxx.xxxxxxxxzzz/files/file3.txt" > file3.txt

参考

こちら を参考にしました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?