V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
a5237039
V2EX  ›  Android

新的安卓 Q 能解决这两个痛点吗 1.应用不给权限就不给用(说的就是你微信之类)2.随意在储存空间里创建文件和访问文件(非常恶心,整个目录杂乱无章)

  •  
  •   a5237039 · 2019-08-21 16:08:20 +08:00 · 14748 次点击
    这是一个创建于 1924 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本来很想入新的安卓,现在就是这两个问题一直在困扰着,安卓 P 还是不能搞定以上两个问题。手机为什么要让软件做主,软件是为人服务的,我想让你读取你就读取,我想给你权限就给你权限。谁才是大爷?谁该是大爷?
    50 条回复    2020-02-12 14:24:55 +08:00
    qq292382270
        1
    qq292382270  
       2019-08-21 16:15:10 +08:00
    还没上手, 也没看过文档 ,只是听说, Q 貌似是给应用创建独立虚拟目录.应用只能在这里面创建文件吧好像..
    不过我猜测不管怎样,不给权限就不给用的问题应该是解决不了的.给不给你用取决于 app 开发者 . 再者说, 如果没有文件读写权限. 微信要发个图片什么的,就读不到手机相册内容了.
    SF
        2
    SF  
       2019-08-21 16:17:20 +08:00 via iPhone
    要解决不给权限不让用的问题,只能靠故意给应用投喂假数据了,我觉得原生安卓不会做的这么绝…
    dalieba
        3
    dalieba  
       2019-08-21 16:19:29 +08:00 via Android
    @SF 除非有人开发出来这种工具
    menyakun
        4
    menyakun  
       2019-08-21 16:20:43 +08:00
    可以试试这个 http://boxify.pro/
    menyakun
        5
    menyakun  
       2019-08-21 16:21:07 +08:00
    不过 Google Play 里面下架了,我是在这里下的 https://apkpure.com/boxify-mdm/de.backessrt.boxify.mdm
    liukanshan
        6
    liukanshan  
       2019-08-21 16:21:44 +08:00
    不能解决 这个问题会一直存在下去 甚至会更严重。 安卓应用没有人监管真的是无法无天。 带头的几个流氓做监管? (xx 市场)还是算了吧。
    menyakun
        7
    menyakun  
       2019-08-21 16:23:26 +08:00
    原理实际上是在 apk 安装时,rewrite 一些和权限有关的代码,代理到一个权限控制的 app 里面
    leoplusclaude
        8
    leoplusclaude  
       2019-08-21 16:24:37 +08:00
    第二个问题推荐下 Rikka 已经搞了好久的 Storage Redirect ( https://play.google.com/store/apps/details?id=moe.shizuku.redirectstorage), 第一个问题 Q 只能说是收紧了权限,但是没有针对性的解决
    leoplusclaude
        9
    leoplusclaude  
       2019-08-21 16:26:05 +08:00
    star29
        10
    star29  
       2019-08-21 16:26:27 +08:00 via iPhone
    @leoplusclaude 你这个 app 需要 root 权限吗
    Lin0936
        11
    Lin0936  
       2019-08-21 16:29:00 +08:00
    从 beta1 开始用到现在的 final beta,俩问题都没解决(未 root ),问题 1 可以用 AppOps 搞,但是没 root 的话每次重启都要 adb 启动服务,很烦。
    leoplusclaude
        12
    leoplusclaude  
       2019-08-21 16:29:28 +08:00
    @star29 需要 Magisk
    honeycomb
        13
    honeycomb  
       2019-08-21 16:30:06 +08:00 via Android
    不能,目前的 workaround 还是要通过系统自带的 appops (对付多数不给权限就不运行)与第三方软件 island(通过 managed profile 新建一个受控用户)/storage redirect (在 scoped storage 之前便出现的类似方案,需要 magisk )解决存储权限的滥用。

    存储权限的滥用需要到 R 强制启用 scoped storage 才能解决。Q 虽然有 scoped storage,但不强制启用也无法通过 appops 强制启用。

    Q 可以解决电话权限的滥用,因为 Q 不再提供设备唯一识别码,拿到了电话权限也没用。

    如果无意外,Android Q 正式版会在明天发布。
    honeycomb
        14
    honeycomb  
       2019-08-21 16:31:25 +08:00 via Android
    @Lin0936 另外这个开发者也写了目前最好的 appops 的 GUI
    morethansean
        15
    morethansean  
       2019-08-21 16:32:28 +08:00
    1. iOS 也是靠应用市场审核约束的啊,这点系统怎么可能约束得了?不过不用担心,国家已经动手约束了,按分类限制应用必须要的权限。详情参考: https://www.v2ex.com/t/590809 2. 本来 Q 重点解决了这个问题,不过不幸的是开发者反应太激烈,貌似 Q 对 android 9 以下的不会默认开启,参考: https://www.v2ex.com/t/558823
    admirez
        16
    admirez  
       2019-08-21 16:47:52 +08:00
    这就是我一直 ios 的原因,至少我通讯录权限是一个 app 都不给的。
    azh7138m
        17
    azh7138m  
       2019-08-21 16:51:26 +08:00
    @star29
    标题

    Storage Redirect - App Storage Isolation (root)


    介绍第一句

    This tool requires root privileges.

    要。
    a5237039
        18
    a5237039  
    OP
       2019-08-21 16:58:29 +08:00
    谢谢各位 V 友,看来还是任重道远。希望安卓能越做越好吧,也能看见类似统一推送联盟,绿色公约之类的在行动,往好的方向发展始终是好的。
    SimonOne
        19
    SimonOne  
       2019-08-21 17:07:35 +08:00
    Storage Redirect 解决 sd 拉屎,
    SimonOne
        20
    SimonOne  
       2019-08-21 17:08:01 +08:00
    App Ops 解决不给权限不给用
    leapV3
        21
    leapV3  
       2019-08-21 17:09:56 +08:00
    谷歌自己就是最大的广告商,你觉得会把自己堵死吗
    R0n1n
        22
    R0n1n  
       2019-08-21 17:10:09 +08:00 via Android
    哈哈,会不会有一天发展成厂商只提供 API,用户自己实现调用
    shyrock
        23
    shyrock  
       2019-08-21 17:16:58 +08:00
    2 我觉得谷歌能搞定,严格的沙箱机制。
    1 么,我觉得这是应用和用户之间的契约和认同问题,比方微信安装完弹个框要你支付 10000 元才能使用,你不愿意给就退出卸载呗,为啥要 OS 来帮你解决?
    expy
        24
    expy  
       2019-08-21 17:27:01 +08:00
    谷歌卖广告的,不会完全站在用户这边。它对应用的管辖能力也没苹果那么强。
    它要在用户跟厂商之间妥协,你的痛点 2 本来 Q 已经解决,由于应用开发者反对,已经推迟到下个版本。
    smarthing
        25
    smarthing  
       2019-08-21 17:37:46 +08:00
    等明年十月份的 Android R 吧,目前的 Q 还是解决不了这个问题。

    由于 Android 要向下兼容,理论上只要应用的 target sdk 版本不改,这个问题就会一直无解。

    毒瘤应用(微信)之类的会将拿到的结果进行验证,所以无解。除非它们升级 target sdk 版本了,然后就没有接口了,也就拿不到了。

    但是由于 Android 的开放性,sdcard 目录总会有方法来拿到,一个可能的方案是只有将应用设置成默认应用时 API 才生效,这样能阻止这个问题,我相信没人原因把毒瘤(微信)设置成默认的文件管理器。

    所以,微信就只用来聊天吧,金融类的事情还是交给支付宝吧,支付宝一直走在前列的,支付宝在几个版本之前就已经不需要电话权限了。

    目前支付宝强制需要的权限只有 存储 了,并且还可以用 appops 来阻止存储权限,只是不给存储权限就没法用支付宝小程序了。
    smarthing
        26
    smarthing  
       2019-08-21 17:40:10 +08:00
    @honeycomb 存储权限这个 R 也解决不了,因为有 API 可以访问 sdcard。除非 R 里加个限制,只有默认文件管理器才能访问 sdcard。
    theoran
        27
    theoran  
       2019-08-21 18:06:21 +08:00
    Q 新增的文件权限的限制是应用在 target API 到 Q 的时候才生效,如果 target API 在 Q 以下是没有限制的。
    即使 target 了 Q,Google 也提供了在 Manifest 里绕过限制的配置项。(据说后面的版本会移除这个过渡用配置项,据谷歌自己说的。。。)
    所以对于国内应用来说,这种限制可以理解为不存在。

    当然,如果 target 了 Q,同时不启用过渡配置项,然后运行在 Q 上面,诸如 getExternalStorageDirectoy 这种 API 就无效了,无法获取到真实文件。谷歌推荐这么做,如果非要获取要用 Storage Access Framework,但是开发者们估计不会领情~
    moneyduo
        28
    moneyduo  
       2019-08-21 19:48:30 +08:00
    我比较关系 能不能把强制控制亮度的权限交给用户,现在很多支付类 app,打开二维码亮度瞬间最亮,夜里真实亮瞎了眼。。
    LZSZ
        29
    LZSZ  
       2019-08-21 19:57:53 +08:00
    @moneyduo 正确的做法应该是慢慢变亮,打开就是最亮真是傻到爆.
    Kahnn
        30
    Kahnn  
       2019-08-21 23:06:54 +08:00
    我现在用一款叫 Island 的应用,可以在工作资料中运行 App,就读取不到存储和通讯录了
    baobao1270
        31
    baobao1270  
       2019-08-21 23:12:58 +08:00
    不能
    第一个:AppOps + Xprivacy
    第二个:Storage Redirect
    luckylo
        32
    luckylo  
       2019-08-22 07:51:41 +08:00 via Android
    @smarthing 其实我是想说,不是因为权限问题,经融类才选择支付婊,而且 TX 的出了问题要么找不到客服,要么找相关部门,相反支付婊的处理,这是甩了 TX 几个数量级了
    fox0001
        33
    fox0001  
       2019-08-22 08:37:38 +08:00 via Android
    目前用 shelter 解决这两个问题。把那些应用装在 shelter 里(利用了 Android 的工作目录模式,类似那些应用分身的 app ),即使拿到权限,也只能访问工作目录里的数据和文件。还可以把那些不常用的 app 冻结,避免后台运行
    fox0001
        34
    fox0001  
       2019-08-22 08:39:00 +08:00 via Android
    shelter 无需 root 权限,另外还有个类似的,叫 island。都是开源的
    fox0001
        35
    fox0001  
       2019-08-22 08:42:24 +08:00 via Android
    shelter 的相关讨论
    /t/532300
    flowfire
        36
    flowfire  
       2019-08-22 08:54:38 +08:00 via iPhone
    @Lin0936 #11 Appops 只要设置好了就可以关掉了啊……
    iwtbauh
        37
    iwtbauh  
       2019-08-22 09:26:03 +08:00 via Android
    第一个问题可以通过 appops 部分解决
    第二个问题我不管了,眼不见心不烦。/sdcard/myhome 是我的工作目录
    yukiww233
        38
    yukiww233  
       2019-08-22 09:37:56 +08:00
    1.这个问题 ios 也没法解决啊,只是通过 appstore 的审核可以淘汰掉大部分,同样 google play 也可以淘汰掉大部分
    2.需要 target Q,要到 R 才会强制执行
    augustheart
        39
    augustheart  
       2019-08-22 09:47:45 +08:00
    只要不强制 target 版本,什么都解决不了
    deorth
        40
    deorth  
       2019-08-22 09:52:41 +08:00
    讲真,2 的话,windows 也没限制应用磁盘访问啊,乱拉屎的应用不能说没有,至少比安卓少太多。为什么呢?
    leeeric
        41
    leeeric  
       2019-08-22 09:57:57 +08:00
    如果不是安卓粉,可以考虑换成 iOS,完全满足你的这两个要求。顺带提供更靠谱的隐私保和安全保护。
    自己做过 iOS 开发就明白,审核 app 那叫一个痛苦,基本上任何小聪明都玩不过苹果,新上架 app 都能触发对老 app 的抽检,作为开发者真是恨死苹果了,但作为终端用户,真是爱死他了。

    至于安卓是不可能了,这辈子都不可能。如果要坚守安卓阵地,请学会容忍和放弃。
    qq565999484
        42
    qq565999484  
       2019-08-22 10:17:15 +08:00
    换个 iOS 系统的。。。手动狗头.png
    honeycomb
        43
    honeycomb  
       2019-08-22 10:33:25 +08:00 via Android
    @smarthing 会有受限,能访问 sdcard 的 API 要么是在应用的私有目录随意写,要么是只能在 scoped storage 规定的地方写规定的内容,还有一种情况似乎是写了文件后其它应用看不到( filtered view )?
    Honker
        44
    Honker  
       2019-08-22 10:53:15 +08:00
    IOS 不会出现不给权限不能用的情况是因为,IOS 一般情况下应用仅来自 app store,如果不给权限不能用,你干脆别上架了。Android 在国外还有 Google Play,国内各自为营,除非厂商达成协议统一管理或者形成一套 App 管理共识,否则很难做到。
    sky96111
        45
    sky96111  
       2019-08-22 10:56:28 +08:00
    @menyakun 你们的 apkpure 还打得开?我 Clash 开全局都 404,还以为关站了
    Anarchy
        46
    Anarchy  
       2019-08-22 11:24:59 +08:00
    第一点其实网安在推,现在主流 app 应该都会改掉这个问题
    chenxin8
        47
    chenxin8  
       2019-08-27 13:32:43 +08:00
    @SimonOne 单 appops 已经不好使了,试过有很多 app 还能检测到,需要 appops + Xprivacylua 组合,才能拦住流氓
    carryme
        48
    carryme  
       2019-08-31 20:07:06 +08:00
    有没有解决 DCIM 文件下 .thumbdata 文件越来越大,删不掉的问题阿。
    RichardY
        49
    RichardY  
       2020-02-11 18:09:32 +08:00
    @menyakun 但是不是要登录吗???怎么使用呢
    menyakun
        50
    menyakun  
       2020-02-12 14:24:55 +08:00
    @RichardY 不用登录吧,APK 安装时,直接用 Boxify 这个 launcher 就行,它会重写权限相关的字节码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5612 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 01:29 · PVG 09:29 · LAX 17:29 · JFK 20:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.