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

哔哩哔哩 Android 会在每次启动时往 Documents 目录下写入文件

  •  
  •   dingwen07 · 2021-05-20 07:07:09 +08:00 · 3061 次点击
    这是一个创建于 1290 天前的主题,其中的信息可能已经有所发展或是发生改变。

    旧版哔哩哔哩 App 会在有存储权限的情况下在模拟 SD 卡下包名文件夹内写入environment.pubenvironment.priv两个文件,均为二进制文件,无法用文本流打开。这种行为可以用拒绝存储权限来阻止。

    然而自从哔哩哔哩的 Target SDK 版本升级到 30 后,哔哩哔哩 App 会在模拟 SD 卡下Documents目录内写入environment.pub,并在Documents目录下创建一个数字命名的目录并在其中写入environment.pubenvironment.priv两个文件。这些行为无法被阻止。

    找了一堆安卓开发者文档也没有找到Documents目录的具体说明,也不知道应用是否有权访问其他用户在Documents下创建的文件,有没有懂安卓开发的 V 友说一下。

    12 条回复    2021-09-28 16:06:05 +08:00
    vmebeh
        1
    vmebeh  
       2021-05-20 08:53:57 +08:00 via iPhone
    删了文件建个同名文件夹看行不行
    ho121
        2
    ho121  
       2021-05-20 08:55:17 +08:00
    谷歌政策在这里 https://developer.android.com/about/versions/11/privacy/storage 当然只限制上架 Google Play 的应用。如果是国内,还是比较随意的。
    brMu
        3
    brMu  
       2021-05-20 09:17:20 +08:00
    把存储权限关了就可以了
    yunfeng17
        4
    yunfeng17  
       2021-05-20 11:15:26 +08:00 via iPhone
    了解
    janus77
        5
    janus77  
       2021-05-20 11:21:28 +08:00 via iPhone
    这个目录就是共享用的,估计是做统计和追踪用,把储存权限禁用就行
    dingwen07
        6
    dingwen07  
    OP
       2021-05-20 11:27:43 +08:00 via iPhone
    @janus77 #5 存储权限禁用了也能写
    yujiang
        7
    yujiang  
       2021-05-20 13:11:29 +08:00 via Android
    看起来像极光 pushSDK 的流氓行为
    iminto
        8
    iminto  
       2021-05-20 13:34:10 +08:00
    okakuyang
        9
    okakuyang  
       2021-05-20 13:35:27 +08:00
    Documents 目录就是放文档类型文件的,就像 Download 一样,高版本安卓不需要申请权限也能写入文件。
    “请勿为搭载 Android 10 或更高版本的设备不必要地请求存储相关权限。您的应用可以提供明确定义的媒体集合,包括 MediaStore.Downloads 集合,而无需请求任何存储相关权限。例如,如果您正在开发一款相机应用,您无需请求存储相关权限,因为您的应用拥有您将写入媒体库的图片。”
    delpo
        10
    delpo  
       2021-05-20 17:54:47 +08:00
    AOSP Android 11 + play 版 bilibili 复现成功,没有给 app 存储权限,不过我的情况是它会在 Documents 目录下创建四个以数字为名字的文件夹,文件夹里没有文件,数字似乎是随机的,看着像是追踪 id

    因为 bilibili 的 target api 是 30,已经强制开启分区存储了,其他 app 没有读取外部存储权限的话应该是没有办法直接读取这几个文件夹的,但是根据官方文档,可以通过 fileprovider 临时授权其他 app 使用

    目前还没有发现其他 app 有类似的行为,如果有新发现的可以贴一下
    dingwen07
        11
    dingwen07  
    OP
       2021-05-20 18:47:53 +08:00 via iPhone
    @delpo #10 对,是还会有几个文件夹,但是只有一个里面有内容。理论上确实不会被其他应用访问,而且卸载重装哔哩哔哩后应该也不会再有权限访问。Documents UI 是很明显的,问题应该不大。所以完全不知道哔哩哔哩在干啥
    whenov
        12
    whenov  
       2021-09-28 16:06:05 +08:00
    看来即便所有 app 都迁移到 Target API 30,也还是需要装 Storage Isolation
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1317 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:44 · PVG 01:44 · LAX 09:44 · JFK 12:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.