V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
JohnChu
V2EX  ›  问与答

Android 应用冻结机制的问题

  •  
  •   JohnChu · 2016-11-16 11:16:50 +08:00 via Android · 6082 次点击
    这是一个创建于 2958 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的手机是三星 S7 edge ,之前装了一个 island ,这款应用跟绿色守护是同一个作者,作用就是利用 Android for work 在手机中创建一个空间(类似沙盘),其中的联系人,应用都是隔离的。
    Island 还有个功能是冻结沙盒中的应用,但是我发现一个问题,如果我在 appops 中修改了某个应用的权限(由于 Android for work 其实是创建了一个新用户,所以在 appops 需要指定 user 参数,这点我是知道的),用 island 冻结再解冻后,权限管理就失效了,必须重新配置。而之前使用 ez package disabler 就没有这样的问题,解冻后 appops 的配置依然有效。似乎二者的冻结机制是不同的, ez package disabler 基于 knox 而 island 不知是基于什么机制,总之我希望能在 island 中冻结应用,并且在解冻之后 appops 仍然有效,有没有什么办法?
    14 条回复    2016-11-17 08:18:30 +08:00
    helloccav
        1
    helloccav  
       2016-11-16 11:29:50 +08:00
    我一直不明白,是应该把流氓软件(例如阿里系、百度系 APP )放 island/knox 里,还是应该把重要软件(例如银行 APP )放 island/knox 里?
    island/knox 里的 APP 能否获取到手机号码、 IMEI 码、 GPS 等隐私信息?
    JohnChu
        2
    JohnChu  
    OP
       2016-11-16 11:55:33 +08:00 via Android
    @helloccav knox 初衷是为了保护金融等软件的安全, island 是为了遏制流氓软件或者双开应用,但是实际上 Knox 可以阻止软件自启动, island 不行,除非冻结。
    如果没有进行控制,里面的 app 都能获取你说的那些信息,但是无法获取到本地的文件系统。
    honeycomb
        3
    honeycomb  
       2016-11-16 12:40:04 +08:00 via Android
    @JohnChu
    总算见到一个如此深究的人了!

    我想问这个语境下的“ appops 失效”
    是指这样吗?

    “ island 解冻后,这个应用在 managed profile 对应的账户的 appops 配置被还原到了默认值”

    另 island 基于 Android for work 所以来的 managed profile 机制。而 Android for work 最早据说是打算直接用 knox 的实现,但后来是自己写了代码

    再另 knox 原来是指美国存了几千吨金条的 knox 堡垒
    honeycomb
        4
    honeycomb  
       2016-11-16 12:44:44 +08:00 via Android
    @helloccav
    目前的一个用法是把流氓软件丢到这类沙盘里,有如下的具体好处:

    1 ,它无法扫描你实际安装了哪些软件,当然也没法做到唤醒沙盘外的应用

    2 ,它能访问的磁盘空间也仅限于沙盘内部,那么它乱创建的目录,进行的非必要扫描都只能限于沙盘内。这招可以对付那些不给 sdcard 权限就停止运行的应用。

    相对的,不获取号码 /IMEI 就退出(比如微信)是可以用 appops 搞定的(把 OP_READ_PHONE_STATE 设置为 ignore 就可以了),但是微信访问 sdcard 分区的权限只能靠上述的沙盘。
    JohnChu
        5
    JohnChu  
    OP
       2016-11-16 14:50:35 +08:00 via Android
    @honeycomb 对,就是 profile 变成了默认的了
    titanium98118
        6
    titanium98118  
       2016-11-16 14:55:47 +08:00
    knox 是否只有三星手机才能用? island 有半年没更新了?而且是 beta 版?
    JohnChu
        7
    JohnChu  
    OP
       2016-11-16 14:57:13 +08:00 via Android
    @titanium98118 是的, Knox 是三星的。 island 还在内测中
    EricCartman
        8
    EricCartman  
       2016-11-16 15:28:08 +08:00 via Android
    我也用 ez package disabler ,我的理解是三星开放了一些 Knox 的一些接口,可以获取类似 system 级别的权限,所以可以执行 pm disable 这一类命令,所以效果和 root 权限下的冰箱一类的软件效果,一样,解冻后不会丢失相关权限设置,
    island 现在还是 alpha 版,可以建议作者做一些应用相关配置的自动保存和恢复
    243205964
        9
    243205964  
       2016-11-16 15:39:49 +08:00
    三星手机不是都用空调狗吗。。
    JohnChu
        10
    JohnChu  
    OP
       2016-11-16 16:18:34 +08:00 via Android
    @243205964 空调狗现在不能用了
    scola
        11
    scola  
       2016-11-16 17:48:08 +08:00 via Android
    三星如果解决了免 root 安装 google 服务就完美了
    honeycomb
        12
    honeycomb  
       2016-11-16 18:23:05 +08:00 via Android
    @JohnChu 现在能做的事情可能是这些:

    1 ,打开 supersu 的完整日志记录
    2 ,看看 island 解冻时候做了什么
    3 ,尝试能不能自己手动复现同样的操作,观察 appops 的状态是不是和 island 导致的情况一致
    4 ,报告这个事件到 island 的开发者 oasisfeng 。但是 island 好几个月没有公开发行新版本了。
    5 ,查 appops 和 managed profile 相关的 aosp 源代码,看它可不可能是 Android 的 bug ,或者故意设计使然
    honeycomb
        13
    honeycomb  
       2016-11-16 18:24:42 +08:00 via Android
    @243205964 空调狗的开发者在死命地向三星申请权限未果中
    JohnChu
        14
    JohnChu  
    OP
       2016-11-17 08:18:30 +08:00 via Android
    @honeycomb SuperSu 可能没用吧, island 不需要 root
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1126 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:38 · PVG 07:38 · LAX 15:38 · JFK 18:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.