簡體   English   中英

Android 11 adb push 權限被拒絕

[英]Android 11 adb push Permission denied

我已將操作系統從 Android 10 升級到 Android 11,當我嘗試運行adb push test.txt /mnt/sdcard/時,我收到錯誤adb: error: stat failed when 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">

嘗試adb push test.txt /sdcard/ ,這將起作用。

在 Android 11 上,我們無法通過 ADB 訪問 /mnt。 但是使用符號鏈接是可以的,有關詳細信息,請參閱此鏈接

我在 Android 11 模擬器上運行ls命令,我們可以看到sdcard ->? /mnt內,和sdcard -> /storage/self/primary/內,這意味着軟鏈接/mnt/sdcard在 Android 11 上不起作用。

# symeonchen @ SBook in ~ [22:16:05] 
$ adb shell ls -al / | grep sdcard   
lrw-r--r--   1 root   root         21 2020-12-17 02:01 sdcard -> /storage/self/primary

# symeonchen @ SBook in ~ [22:16:14] 
$ adb shell ls -al /mnt | grep sdcard
l?????????  ? ?      ?           ?                ? sdcard -> ?

根據 android 文檔。

在 Android 11 上運行但以 Android 10(API 級別 29)為目標的應用程序仍然可以請求 requestLegacyExternalStorage 屬性。

所以嘗試改變你的目標 API 級別。 推薦的方法是使用ContentResolver或者可以說Scoped storage而不是 Legacy deprecated storage APIs。

查看此內容以獲取更多詳細信息。 范圍存儲實施

嘗試;

亞行根

這會將 adb 服務器切換為 root。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM