问题描述
需要在一个具有网络访问权限的物联网控制Android应用程序上操作,并且该应用要求能够访问本地媒体文件。由于对这个应用完全不信任,因此不能授予它访问这些文件的权限。用户想知道是否有某种容器技术能运行此应用,使其在仅能看到“空存储”的环境中执行。
解决方案
方案1:使用Android多用户功能中的工作用户
背景介绍:
Android 10及以上版本引入了新的多用户功能,可以在设备上创建一个虚拟的用户环境。这样,开发者可以为不信任的应用创建一个新的用户账户,限制其访问权限。实施步骤:
- 在设置中进入“辅助功能”(Accessibility)菜单。
- 启用“虚拟用户”或“工作用户”(Work Profile),并为新用户的密码设置一个强大的密码。
安装需要测试的应用,并允许其在新用户账户下运行。
注意事项:
- 工作用户可能不支持所有功能。
- 目前尚不确定此方法是否能完全隔离应用,使其无法访问设备上的SD卡内容。
- 特别是用于Pixel 5机型,在启用这种模式后,任何内置存储的文件将被隔离,并且安装的应用也只能在这个工作环境中运行。
方案2:考虑使用第三方沙盒应用程序
背景介绍:
存在一些第三方应用解决方案,如Izzy软文中提到的Shelter和Insular,这些应用利用Android的工作用户功能来创建一个孤立的“工作环境”,从而帮助防止恶意软件攻击。实施步骤:
- 通过Google Play商店或F-Droid等可信来源下载并安装上述应用。
在提供的设置中将目标应用程序移动到一个新创建的工作空间内,以限制其对设备资源的访问权限。
注意事项:
- 这些应用尚未经过大规模用户测试,因此具体效果和安全性可能需要进一步验证。
- 应确保只有可以在信任源获取的应用被放在此类沙盒环境中。
总结
虽然上述解决方案提供了一定程度的空间隔离来保护设备的安全性,但最终仍然建议只从经过验证的来源(如F-Droid或官方Play商店)下载和安装应用程序,并保持对未知应用的信任级别降低。此外,在启用任何此类功能之前,请务必定期备份重要数据并了解所有可能影响的功能限制。
如果您选择自行测试以上解决方案且发现其有效,请考虑针对您的情况填写“自问自答”以供社区参考。希望这对用户而言是一种可行的方法来处理不信任的应用程序,同时也保护其设备免受不必要的安全风险。
正文完