如何阻止 App 在 SD 卡根目录创建一堆乱七八糟的文件夹? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Arnie97
V2EX    Android

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

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

    .DataStorage
    .SystemConfig
    .UTSystemConfig
    .com.taobao.dp
    365riliownload
    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  
    PRO
       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     Solana     958 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:59 PVG 05:59 LAX 14:59 JFK 17:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86