簡體   English   中英

Android設備監視器文件資源管理器無法使用運行API 24+的模擬器

[英]Android Device Monitor File Explorer not working with emulator running API 24+

所以,正如問題所述。 Android設備監視器未在“文件資源管理器”視圖中顯示任何內容 這僅適用於運行Android API Level 24+的虛擬設備。

有解決方案嗎

在此輸入圖像描述

直到Android Lollypop模擬器,我們可以訪問文件資源管理器文件夾。 如果使用marshmallow或更高版本創建模擬器,則無法訪問文件資源管理器。 這可能是API級別24+的錯誤。

一個臨時解決方案,至少可以滿足我的需求,是安裝文件管理器.apk(我使用Astro文件管理器.apk) - 只需將.apk拖放到模擬器窗口即可。 另一個非常有用的實用工具--ImDisk - 讓我們安裝sdcard .img的虛擬設備。 如果將其作為只讀彈出設備掛載,則可以實時訪問虛擬設備文件系統

這是Android設備監視器中的錯誤,並已報告給谷歌。

根據Post,這個帖子將在補丁發布時更新。

使用adb命令行工具的變通方法:

root@mypc ~ $ adb kill-server
root@mypc ~ $ adb start-server
root@mypc ~ $ adb root

現在,您可以使用linux ls命令瀏覽文件系統:

root@mypc ~ $ adb shell ls -all /
total 3688
drwxr-xr-x  15 root   root         0 2017-04-21 11:11 .
drwxr-xr-x  15 root   root         0 2017-04-21 11:11 ..
drwxr-xr-x  29 root   root         0 2017-04-21 11:11 acct
drwxrwx---   6 system cache     4096 2017-01-06 12:11 cache
lrwxrwxrwx   1 root   root        13 1970-01-01 01:00 charger -> /sbin/healthd
...
-rw-r--r--   1 root   root      4853 1970-01-01 01:00 ueventd.rc
lrwxrwxrwx   1 root   root        14 1970-01-01 01:00 vendor -> /system/vendor

另一個臨時解決方案是使用adb shell

首先,將數據庫復制到SD卡

./adb shell run-as com.yourapplication cp /data/data/com.yourapplication/databases/yourFileName.db /sdcard

然后,將數據庫文件提取到您的計算機

./adb pull /sdcard/yourFileName.db /Users/yourUserName/Desktop

它可能與新的Android文件夾權限有關。 如在另一個答案中發布,您可以使用:

root@mypc ~ $ adb root

獲得對模擬器的root訪問權限(無需重新啟動adb)。 然后,您可以使用DDMS文件資源管理器或通過shell查看設備上的所有文件夾。 另一種選擇是等待Android Studio 2.4版本中承諾的新文件瀏覽器。

如果您之后需要刷新畫廊,我可以使用:

root@mypc ~ $ adb shell "am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard"

這將模擬SD卡的安裝,這將觸發媒體重新掃描。

它是一種替代方式。

創建一個bat文件配置APP_NAME,示例(com.example.com)

DESTINATION_FOLDER(myProjectFiles)

cd "C:\Users\USERNAME\AppData\Local\Android\sdk\platform-tools\"
adb shell run-as APP_NAME rm -R /sdcard/DESTINATION_FOLDER
adb shell run-as APP_NAME cp -R cache/ /sdcard/DESTINATION_FOLDER
rmdir C:\Users\USERNAME\Documents\DESTINATION_FOLDER /s /q
adb pull /sdcard/DESTINATION_FOLDER C:\Users\USERNAME\Documents\
timeout 5

配置您的bat文件后,雙擊運行它。 它將完成剩下的工作

我在Android設備監視器中也遇到了同樣的問題。

我們使用的模擬器非常高,如Nougat 24+,所以為了超越這個,我們必須在級別級別運行模擬器,即Lollipop 22

作為另一種解決方法,我使用fileList()來獲取我的應用程序的Files夾中的所有文件並將其記錄到logcat:

String[] files = fileList();
// log files, or add a watch in the debugger...

也可以在cache文件夾中獲取文件和目錄:

String[] filesInCache = getCacheDir().list();

要么

File[] filesInCache = getCacheDir().listFiles();

我在Api 27(奧利奧)遇到了這個問題。 我嘗試使用Lollipop創建模擬器,但與Oreo相同。 設備監視器為空。

重啟電腦后一切正常。 這是Android Studio附帶的許多問題的解決方案。 首先檢查一下,而不是其他一切。

嘗試一些方法:

  1. 單擊設備窗口中的三角形圖標,然后選擇“重置adb”。
  2. 關閉模擬器,然后重新打開。
  3. 您現在可以使用Genymotion,這是最好的模擬器。

暫無
暫無

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

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