隔离你的“老大哥”应用。
这是基于优秀项目 Island 的一个分支。特别感谢 Shelter,它启发我制作了 Island 的完全自由开源分支。
关于如何通过 adb 启用 Insular、跨资料文件访问、上帝模式(将应用控制扩展到工作资料之外的应用)、与 Island 的区别等,请参阅 文档。
使用 Insular,你可以:
如果你的设备不兼容或未加密,可以手动跳过此限制。详情请参考 XDA 帖子。 要彻底卸载并移除 Insular,请先执行“设置 - 设置 - 点击 Insular 旁边的回收站图标 - 销毁 Insular”。如果你已经卸载了 Insular 应用,请在“设置 - 账户”中“移除工作资料”。
我们仅请求必要的权限以实现你想要的功能。以下敏感权限及其申请原因如下:
Island 依赖于 "deagle" 库,该库必须与 Island 克隆在同一路径下。
\--
\- island
\- deagle
该项目分为多个模块,其中 assembly 模块作为构建入口,以支持为核心模块提供独立的“精简”构建(以 Gradle 构建配置中的“产品风味”形式)。
“engine” 模块与 “complete” 构建共享相同的包名,以继承资料/设备所有者权限。“mobile” 和其他模块可以与 “engine” 模块一起独立安装和更新,便于开发。
由于独占性,用户一次只能使用一个 Android DPC 应用,并且切换 DPC 的代价过高。为了鼓励积极探索和更广泛地开发 DPC 的能力,从而更好地服务用户,Island 致力于为社区开发者建立一个开放的合作空间——无论是参与本项目的开发,还是通过开放 API 向第三方应用开放 DPC 能力。Island 本身不会专注于丰富的功能集,而是主要专注于构建一个强大的 引擎,作为社区更多应用的开放平台。
从 Island 的第一个公开版本开始,所有 API 均已向第三方应用开放,并通过 Android 的标准运行时权限进行用户授权。开发者现在即可开始构建应用,利用 Island 的开放 API。
所有 API 的协议均在 类 "Api" 中明确定义并持续维护。
如果你发现了错误、做出了小幅改进或翻译了字符串,请随时向我们发送拉取请求。
如果你对改进 Island 的功能感兴趣,请先创建一个 Issue 与我们讨论你的想法,我们欢迎未来开发中的合作。
如果你需要新的 API 让你的应用利用 DPC 能力,请随时创建一个 Issue 来描述你的应用及其对这些 API 的使用场景。我们仍处于构建丰富开放 API 的早期阶段。