坏耶,是 Rikka

大概主要会放一些和 Android 有关的东西吧

Rikka 的新产品:存储重定向 —— “阻止”辣鸡应用乱写文件(需要 root)

功能特点

  • 辣鸡应用不再会在存储里产生一堆文件夹,且不会影响发送图片(因为基本都会走 Media Storage 读),接收分享等功能
  • 用户需要的文件会存到正确的地方,比如可以直接在 /Pictures/WeChat 访问微信保存的图片(规则需要用户提供,但提供一个新手友好的提交规则的方式)
  • 提供完全禁止写入的功能(借助 appops)来应对部分写死 /sdcard 的情况

需求

使用 MagiskSU 或者 SuperSU 的 root。(其他的如果不能用就先自己去找办法关 SELinux 凑合一下)

下载(购买)

https://play.google.com/store/apps/details?id=moe.shizuku.redirectstorage

售价 5 USD
如果没有 Google play 上可用的支付手段的,可以直接 联系 Rikka 通过其他方式支付(比如 alipay wechat)然后发 Google play 兑换码(而且还不会被 Google 抽成 30%)

简单的技术细节

  • 主要功能通过替换系统服务实现,对指定的应用修改了 StorageManager.getVolumeList 的返回值(加上 /Android/data/[package]/storage
  • 使用硬链接来处理用户需要的文件

局限性和弊端

  • 会影响应用的功能,比如网易云音乐就不能扫描到存在其他地方的音乐
  • 如果应用的核心功能依赖写死 /sdcard 就没办法了
  • 如果应用通过 root 写文件就无能为力
  • 需要可靠的开机启动
  • 本来是应用到原本的服务现在变成了走 Rikka 的服务绕一下,对于原来的服务来说调用者的 uid 会变成 Rikka 的进程的 uid,可能会产生问题