答案 0 :(得分:12)
直到Android Lollypop模拟器,我们可以访问文件资源管理器文件夹。如果使用marshmallow或更高版本创建模拟器,则无法访问文件资源管理器。可能是API级别24 +的错误。
答案 1 :(得分:9)
一个临时解决方案,至少可以满足我的需求,是安装文件管理器.apk(我使用Astro文件管理器.apk) - 只需将.apk拖放到模拟器窗口即可。 另一个非常有用的实用工具--ImDisk - 它允许安装sdcard .img的虚拟设备。如果将其作为只读弹出设备挂载,则可以实时访问虚拟设备文件系统
答案 2 :(得分:8)
这是Android设备监视器中的错误,并已报告给谷歌。
根据Post,这个帖子将在补丁发布时更新。
答案 3 :(得分:8)
使用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
答案 4 :(得分:4)
另一个临时解决方案是使用adb shell
首先,将数据库复制到SD卡
from bson import json_util
data = json_util.loads(response.read())
然后,将数据库文件拉到您的计算机
./adb shell run-as com.yourapplication cp /data/data/com.yourapplication/databases/yourFileName.db /sdcard
答案 5 :(得分:2)
它可能与新的Android文件夹权限有关。在another answer中发布,您可以使用:
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卡。
答案 6 :(得分:2)
它是一种替代方式。
创建一个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文件后,双击运行它。它将完成剩下的工作
答案 7 :(得分:1)
我在Android设备监视器中也遇到了同样的问题。
我们使用的模拟器非常高级,如Nougat 24+,所以要完成这个,我们必须在级别级别运行模拟器,即Lollipop 22
答案 8 :(得分:0)
作为另一种解决方法,我使用fileList()
获取我应用的Files
文件夹中的所有文件并将其记录到logcat:
String[] files = fileList();
// log files, or add a watch in the debugger...
也可以在cache
文件夹中获取文件和目录:
String[] filesInCache = getCacheDir().list();
或者
File[] filesInCache = getCacheDir().listFiles();
答案 9 :(得分:0)
我在Api 27(Oreo)上遇到了这个问题。我尝试用Lollipop创建模拟器,但与Oreo一样。设备监视器为空。
重新启动计算机后,一切正常。这是针对Android Studio附带的许多问题的解决方案。首先检查此内容,然后进行其他检查。
答案 10 :(得分:-1)
尝试一些方法: