Android 11 adb push 权限被拒绝

时间:2021-01-23 05:38:07

标签: android adb

我已将操作系统从 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">

3 个答案:

答案 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 -> ? 中有 /mntsdcard -> /storage/self/primary 中有 /,表示软链接 {{ 1}} 不适用于 Android 11。

/mnt/sdcard