我已将操作系统从 Android 10 升级到 Android 11,当我尝试运行 adb push test.txt /mnt/sdcard/
时,出现错误 adb: error: stat failed when try to push to /mnt/ sdcard/test.txt:权限被拒绝。
在 AndroidManisfest.xml 中,我已授予以下所有权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:requestLegacyExternalStorage="true">
答案 0 :(得分:1)
根据安卓文档。
<块引用>在 Android 11 上运行但面向 Android 10(API 级别 29)的应用仍然可以请求 requestLegacyExternalStorage 属性。
因此尝试更改您的目标 API 级别。推荐的方法是使用 ContentResolver 或可以说 Scoped storage 而不是 Legacy deprecated storage APIs。
查看此了解更多详情。 Scoped storage enforcement
答案 1 :(得分:1)
试试;
adb 根
这将以 root 身份切换 adb 服务器。
答案 2 :(得分:0)
试试adb push test.txt /sdcard/
,这会奏效。
在 Android 11 上,我们无法通过 ADB 访问 /mnt。但是使用符号链接是可以的,详情参见 this link。
我在 Android 11 模拟器上运行 ls
命令,可以看到 sdcard -> ?
中有 /mnt
,sdcard -> /storage/self/primary
中有 /
,表示软链接 {{ 1}} 不适用于 Android 11。
/mnt/sdcard