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

如何阻止 App 在 SD 卡根目录创建一堆乱七八糟的文件夹?

  •  
  •   Arnie97 · 2016-10-26 18:56:18 +08:00 · 20546 次点击
    这是一个创建于 2952 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我不是安卓开发者,所以不是很理解,为什么很多国产流氓应用喜欢在 SD 卡根目录创建一堆文件夹?
    把数据放在这些文件夹里,相比放在 /sdcard/Android/data/com.example.xxx/ 里有什么好处吗?
    怎么阻止这些文件夹的创建?

    .DataStorage
    .SystemConfig
    .UTSystemConfig
    .com.taobao.dp
    365riliDownload
    alipay
    Amap
    BaiduMapSDK
    BaiduPanoSDK
    baidu
    backup
    com.taobao.fleamarket
    com.taobao.taobao
    com.tencent.mobileqq
    com.tencent.qqpimsecure
    mfcache
    msc
    Qmap
    QQBrowser
    QQSecureDownload
    tencent
    tencentmapsdk
    23 条回复    2016-10-27 08:58:07 +08:00
    kamen
        1
    kamen  
       2016-10-26 19:02:41 +08:00   ❤️ 2
    me.dyq.android.SDLink
    Require xposed
    xdeng
        2
    xdeng  
       2016-10-26 19:05:47 +08:00   ❤️ 1
    换 iPhone 真的 机制好
    anyforever
        3
    anyforever  
       2016-10-26 19:59:09 +08:00
    我也很讨厌这种,目录给搞的特别乱,有些也不知道清理了会不会有什么风险。
    目录都规划不好的,基本都不会装。
    TashinV
        4
    TashinV  
       2016-10-26 20:02:17 +08:00 via iPhone
    换 iPhone 笑嘻嘻
    SorcererXW
        5
    SorcererXW  
       2016-10-26 20:26:32 +08:00 via Android
    @anyforever 很有可能只是 iPhone 不让你看
    (我也不懂,瞎猜的)
    sxzyabcd
        6
    sxzyabcd  
       2016-10-26 20:47:57 +08:00   ❤️ 1
    SD 重定向 —— SDLink
    XInternalSD
    (前者麻烦点不过自己配置,后者更简单)
    //你们知道每装一个 APP 就得配 SDLink + My Android Tools + XPrivacy 的痛苦么
    //强迫症害死人
    longear
        7
    longear  
       2016-10-26 20:51:18 +08:00
    没什么好处,就是开发太水,没调用一个 API 获取那个路径,直接放根目录下,图个简单方便,很不规范。
    ljcarsenal
        8
    ljcarsenal  
       2016-10-26 20:51:58 +08:00
    苹果越狱后看的好像也是有的。。。眼不见心不烦就行了
    cxbig
        9
    cxbig  
       2016-10-26 21:02:06 +08:00   ❤️ 1
    换 iPhone 眼不见心不烦+1

    (用了 3 年的 iPad Mini 64G ,删掉所有可以删掉的应用和数据,还显示有 30G+空间被占用,只有初始化才被释放,还不可以从备份恢复)
    vivagonna
        10
    vivagonna  
       2016-10-26 21:16:34 +08:00 via Android
    不装
    hjklb
        11
    hjklb  
       2016-10-26 21:21:33 +08:00 via Android   ❤️ 1
    放 sd 卡里卸载后不会被删除。
    如果你用百度云 网易云音乐之类的下载后再卸载发现之前的下载没有了,或许你又会抱怨。如果不喜欢这样的机制可以用 iPhone 。
    jw8013
        12
    jw8013  
       2016-10-26 21:37:53 +08:00
    能出个 SD 卡权限的 XP 框架的软件就好了!
    inbox
        13
    inbox  
       2016-10-26 21:41:27 +08:00   ❤️ 3
    1. 一些是同一公司为了共用部分数据,例如很多 SDK 就会产生这样的文件夹。
    而且 `/sdcard/Android/data/com.example.xxx/ ` 属于应用私有目录,有读取权限限制且随应用卸载自动删除。不利于大数据嘛 -.-

    2. 历史遗留问题。还有一些地方使用着内置储存容量低于 4GB 的安卓机,要知道这些手机到手就只有几百兆的存储空间。根目录下的文件保存方式能将数据保存在 SD 卡。

    3. 但更多的是国产应用根本不遵照 Android 应用开发规范。
    国内 Android 开发说到底就是良莠不齐。水平一般不可怕,可怕的是一般又对自己没什么要求。

    数据保存在 `/sdcard/Android/data/com.example.xxx/ ` 也就是多写几行代码的事,偏偏就不愿去做。
    倒是读取电话和通讯录这样没必要的事情,做起来根本不嫌多。
    还是利益驱动,什么道德什么规范都不是事儿。

    关闭 `Storage` 权限可部分解决。没什么好的解决办法,类似支付 biao 这样的应用,禁用了直接不能用。
    bao3
        14
    bao3  
       2016-10-26 22:00:02 +08:00 via Android
    @ljcarsenal 你确定苹果越狱后有乱放目录?抓 一个来看看?
    Arnie97
        15
    Arnie97  
    OP
       2016-10-26 22:46:58 +08:00 via Android
    @cxbig WP 也有这种问题,大量空间被“其他”占用了却没办法清理,眼不见心更烦…
    Bown
        16
    Bown  
       2016-10-26 22:56:44 +08:00
    写 SD 卡自定义目录卸载之后不会清掉.. 一般都是 PM 的需求,开发者还是希望拿缓存目录的乱七八糟的兼容性问题少
    Arnie97
        17
    Arnie97  
    OP
       2016-10-26 22:57:29 +08:00 via Android
    @anyforever 删了一般没啥风险,但是如果不给写入权限,很多流氓会闪退。没办法,现在我搞了个定时运行的脚本,把我白名单之外的目录全部 rm -r 删掉。
    Khlieb
        18
    Khlieb  
       2016-10-26 23:37:05 +08:00 via Android
    SD 女佣应该能解决
    honeycomb
        19
    honeycomb  
       2016-10-27 00:48:32 +08:00 via Android   ❤️ 2
    @inbox
    @Arnie97
    所以还是那样,想个办法让那些“禁用了不能用”的软件做不了这样让人厌烦的事情,同时还运行。


    好在这种办法还是有的,至少有两个:

    1 ,用 6 楼 @sxzyabcd (确实没办法呢,既要用这个 app ,又不能让其做到恶,又不考虑换系统的情况下,只能自己给它们擦屁股)提到的 xposed 插件把 API 劫持,强迫它把文件放到正确的地方

    2 ,丢 Android for work ( managed profile )/samsung knox 沙盒里


    再退一步,不用就是,相比于接受它做的恶,弃用的代价很可能是更小的。
    vmebeh
        20
    vmebeh  
       2016-10-27 01:02:19 +08:00
    添个同名文件
    asdwfwqd
        21
    asdwfwqd  
       2016-10-27 08:20:38 +08:00
    Android 开发,新一点的安卓版本没有 SD 卡的写权限
    xxxSDK 是使用各种第三方的 SDK , SDK 缓存文件的路径开发者没法控制
    你用了那么多 BAT 家的 app ,乱是正常的
    wyntergreg
        22
    wyntergreg  
       2016-10-27 08:28:11 +08:00
    换 iphone 跟买个大容量的安卓机一个样

    我反正是不用 iPhone
    liyvhg
        23
    liyvhg  
       2016-10-27 08:58:07 +08:00
    @Arnie97 安卓上的 crontab?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3576 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:14 · PVG 19:14 · LAX 03:14 · JFK 06:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.