[英]Android Device Monitor's File Explorer not working with Android 7 (API 24+)
[英]Android Device Monitor File Explorer not working with emulator running API 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附帶的許多問題的解決方案。 首先檢查一下,而不是其他一切。
嘗試一些方法:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.