Android设备监视器文件资源管理器无法使用运行API 24+的模拟器

时间:2016-07-30 01:54:28

标签: android android-studio

所以,正如问题所述。 Android设备监视器未在“文件资源管理器”视图中显示任何内容这仅适用于运行Android API Level 24+的虚拟设备。

任何解决方案?

enter image description here

11 个答案:

答案 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)

尝试一些方法:

  1. 点击设备窗口中的三角形图标,然后选择"重置adb。"
  2. 关闭模拟器,然后重新打开。
  3. 您现在可以使用Genymotion,这是最好的模拟器。