首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android 11+模拟器中测试时,从计算机访问您自己的应用程序的沙箱文件夹

在Android 11+模拟器中测试时,从计算机访问您自己的应用程序的沙箱文件夹
EN

Stack Overflow用户
提问于 2021-01-06 14:13:14
回答 1查看 861关注 0票数 2

在开发应用程序时,我经常会遇到一个问题,就是管理我自己的应用程序私有目录中的文件,在Android/data/com.Package.name/.下复制、创建、编辑、删除那里的测试文件。在Android 11 (将来可能更新的版本)上,只有在物理设备上才有可能与USB电缆连接。在模拟器中,完全不可能访问该目录-- adb shell或Android中平庸的“设备文件资源管理器”(),目前,在试图输入或列出Android/data文件夹时,只会给我“拒绝权限”错误。即使在较早版本的Android上,使用亚行外壳或“设备文件资源管理器”也不方便,设备文件资源管理器甚至不列出“隐藏”文件和文件夹(名称以点开始),我也需要管理这些文件和文件夹。

解决这个问题的最好办法是什么?在较早版本的安卓系统上,我使用的是Google的WebDAV服务器应用程序,它允许我将模拟器(或设备)的整个存储空间作为虚拟目录或驱动器安装在我的开发者计算机上,但在安卓11上,它不能访问我的应用程序的沙箱目录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-06 14:20:22

在使用第三方WebDAV服务器之后,我得出的结论是,安卓11+的唯一解决方案是将文件服务器(WebDAV或类似的)嵌入到我自己的应用程序中,至少在调试构建中是这样。

我克隆了一个非常古老的GitHub WebDAV Server用于安卓项目:https://github.com/erspicu/Baxermux.server.http,但是有太多的改变、修复、增强,最终我创建了一个新的安卓应用程序项目,从Baxermux复制代码片段,然后从那里继续。您可能会在GitHub上看到这个结果,这是一个非常轻巧的WebDAV服务器库,它可以包含在gradle的debugImplementation语句中,以便管理应用程序沙箱中的文件(如果需要的话,也可以使用整个debugImplementation存储空间,减去安卓11+下的其他应用程序的沙箱文件夹):

https://github.com/gregko/Mini-WebDAV-server-for-Android

现在,我可以使用任何WebDAV客户机访问文件夹。在我的Windows开发主机上,我使用优秀的WebDrive产品--它将Mini WebDAV服务器导出的目录挂载为Windows驱动器,我可以使用本机或命令提示符来查看和编辑文件,就好像它们是我的计算机的本地文件一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65597371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档