Android设备监视器文件资源管理器不与运行API 24的仿真器一起工作;

Android设备监视器文件资源管理器不与运行API 24的仿真器一起工作;,android,android-studio,Android,Android Studio,所以,正如问题所述。Android设备监视器在文件资源管理器视图中未显示任何内容。这只发生在运行Android API级别24+的虚拟设备上 有解决办法吗 尝试一些方法: 单击设备窗口的三角形图标,然后选择“重置adb” 关闭模拟器,然后将其重新打开 你可以使用Genymotion,现在最好的模拟器 在Android Lollypop模拟器之前,我们可以访问文件浏览器文件夹。如果仿真器是用棉花糖或更高版本创建的,我们将无法访问文件资源管理器。这可能是API级别24+的错误。这是Android设备

所以,正如问题所述。Android设备监视器在文件资源管理器视图中未显示任何内容。这只发生在运行Android API级别24+的虚拟设备上

有解决办法吗

尝试一些方法:

  • 单击设备窗口的三角形图标,然后选择“重置adb”
  • 关闭模拟器,然后将其重新打开
  • 你可以使用Genymotion,现在最好的模拟器

  • 在Android Lollypop模拟器之前,我们可以访问文件浏览器文件夹。如果仿真器是用棉花糖或更高版本创建的,我们将无法访问文件资源管理器。这可能是API级别24+的错误。

    这是Android设备监视器中的错误,已向谷歌报告


    根据这一点,当补丁发布时,线程将被更新。

    一个临时解决方案,至少满足了我的需要,就是安装file manager.apk(我使用的是Astro file manager.apk)-只需将.apk拖放到emulator窗口。
    另一个非常有用的工具-ImDisk-让我们挂载虚拟设备的sdcard.img。如果将其装载为只读可弹出设备,则可以实时访问虚拟设备文件系统

    另一个临时解决方案是使用adb外壳

    首先,将数据库复制到SD卡

    ./adb shell run-as com.yourapplication cp /data/data/com.yourapplication/databases/yourFileName.db /sdcard
    
    然后,将数据库文件拉到计算机上

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

    使用
    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
    

    我在安卓设备显示器上也遇到了同样的问题


    我们使用的仿真器是非常高级的,比如牛轧糖24+,所以为了解决这个问题,我们必须在级别上运行仿真器,即棒棒糖22,它可能与新的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文件配置应用程序名称,例如(com.Example.com)

    目标文件夹(myProjectFiles)


    配置bat文件后,双击运行它。它将完成其余的

    作为另一种解决方法,我使用
    fileList()
    获取我的应用程序的
    files
    文件夹中的所有文件,并将其记录到logcat:

    String[] files = fileList();
    // log files, or add a watch in the debugger...
    
    还可以获取
    缓存
    文件夹中的文件和目录:

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


    我对Api 27(Oreo)有这个问题。我试着用棒棒糖创建模拟器,但和奥利奥一样。设备监视器为空


    重新启动计算机后,一切正常。这是Android Studio带来的许多问题的解决方案。首先检查这个,而不是其他任何东西

    解决方案是使用API 23创建一个新的仿真器。你可以通过facebook使用这个库:问题似乎确实在于针对Android 24或25的仿真器。我在这里创建了一个Android bug报告:@JuanOlivares我想你应该发布你的答案,并标记为选中的Android studio 2.X版本。我尝试了所有方法,但除了将emulator从API25更改为23之外,其他方法都无效。谢谢,现在已经有解决方案了吗?解决方案是使用API 23创建一个新的仿真器。我对Genymotion有相同的问题:这一个非常有用,这也意味着您不必退出调试会话来查看文件。我用Lollypop重新创建了我的emulator,并且文件资源管理器确实在应答中显示了emulator foldersadd bug tracker链接或id,以获得最佳应答。回答正确,因为共享官方源代码作为参考。
    String[] filesInCache = getCacheDir().list();
    
    File[] filesInCache = getCacheDir().listFiles();