![](/img/trans.png)
[英]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.