首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在Android上用沙箱保护java进程的一部分?

有没有办法在Android上用沙箱保护java进程的一部分?
EN

Stack Overflow用户
提问于 2012-04-04 02:16:56
回答 2查看 181关注 0票数 1

我想在android中使用SDK,但我不希望该SDK有任何访问权限的权限,这是我没有显式授予它的。最重要的是,如果SDK抛出一个未捕获的异常,我不希望它导致我的整个应用程序崩溃。

在C#中有AppDomain的概念,您可以将在其中运行的代码视为沙箱,授予(或限制)权限,并且只提供对您显式想要共享的数据的访问。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-04 02:36:01

这里有两个问题。第一个处理不受信任的代码中的异常;只要不受信任的代码是纯Java的,精心编写的try/catch块就应该负责这一点。如果本机代码是允许的,那么除了进程级隔离之外,没有什么是有帮助的。要在单独的进程中运行代码,请阅读Android服务;您可以指定一个服务在指定的进程中运行。那么异常(非托管类型)将不会关闭主应用程序。你只会得到一个“服务已死”的异常。

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

票数 2
EN

Stack Overflow用户

发布于 2012-04-04 02:20:59

你给你的应用程序的所有权限都是允许的权限,否则它几乎不会有任何权限。您可以在Manifest.xml中设置权限,但不能设置其他类型的权限。

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

https://stackoverflow.com/questions/9999011

复制
相关文章

相似问题

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