gpt4 book ai didi

java - 有没有办法在 Android 上对 java 进程的部分进行沙箱处理?

转载 作者:行者123 更新时间:2023-11-29 22:09:32 25 4
gpt4 key购买 nike

我想在 android 中使用 SDK,但我不希望该 SDK 能够访问我未明确授予它的权限。最重要的是,如果 SDK 抛出未捕获的异常,我不希望它导致我的整个应用程序崩溃。

在 C# 中有一个 AppDomain 的概念,您可以在其中像沙箱一样对待在其中运行的代码,授予(或限制)权限,并且只提供对您明确想要共享的数据的访问。

在 Android 平台的 Java 中有类似这样的东西吗?

最佳答案

这里有两个问题。第一个涉及处理一段不受信任的代码中的异常;只要不受信任的部分是纯 Java,精心编写的 try/catch block 就可以解决这个问题。如果允许 native 代码,那么进程级隔离将无济于事。要在单独的进程中运行代码,请阅读 Android 服务;您可以指定一个服务在指定的进程中运行。然后异常(非托管类型)不会关闭主应用程序。您只会收到“服务已终止”异常。

另一个问题是降低权限集。据我所知,没有办法降低应用程序中的权限集。即使是代理程序也无济于事。如果您发布一个完整的应用程序(在 Android 的意义上)来包装和运行自定义代码,那可能会有所帮助。但是应用程序安装的后勤工作会变得棘手。 Google Market 不支持应用相互依赖或先决条件的概念。

关于java - 有没有办法在 Android 上对 java 进程的部分进行沙箱处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9999011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com