Android4.4对于sdcard权限的改动

来源:互联网 发布:php秒杀系统设计 编辑:程序博客网 时间:2024/05/30 05:27

我们在升级4.4的过程中,发现了部分第三方应用不能使用。查看发现以下几点要求:


1》 API 19以上现在强制要求android.permission.READ_EXTERNAL_STORAGE 和android.permission.WRITE_EXTERNAL_STORAGE 权限了。


2》如果发现仍然可以在真机上面没有加权限也可以读到sdcard的内容。请查看手机是否是root过的。


    原因如下:

这个问题在Nexus5上用root能看到/storage/emulated/0,而是我

们的手机上看不到。这是因为在Nexus5上我们得到root权限是能过super su得到的,

而在我们的手机上是直接能adb root(因为我们是在userdebug版本上)。我们看

到的额外的/storage/emulated/0节点是被supersu的daemonsu程序mount出来的。


如果把我们的手机的user版本也越一下狱,在su底下看,结果是跟N5一模一样的。


为了验证,我们把N5上的supersu daemon杀死(killall daemonsu),然后重新用

strace跟踪一下:


    strace -s 200 -f /system/xbin/daemonsu --auto-daemon


当在另一个终端里执行adb shell->su->mount察看时,还是能看到

/storage/emulated/0,然后察看strace的输出,它执行了/storage/emulated/0的

mount操作。strace的输出见附件。


另外很有意思的一点,用su得到的shell,用ps $$察看这个进程的话,会发现它的

父进程是daemonsu。


3》注意: 当你manifest中定义的android:minSdkVersion 和 android:targetSdkVersion是3或者以下的话,这个权限在API 19(android 4.4.2)的机器上是会强制给你附上这个读写sdcard的权限的,如果你确定你的应用不需要读写sdcard的权限的话,需要声明targetSdkVersion 大于等于4.。。。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信冻结账号绑定了银行卡怎么办 扣扣红包密码是支付密码忘了怎么办 红包退回通知不小心删除了怎么办 QQ炫舞金币充错账号怎么办 晋江的小说用晋江币买不了是怎么办 中国银行储蓄不能充值支付宝怎么办 微信怎么改银行卡密码忘记了怎么办 微信号手机号码换了密码忘了怎么办 微信被盗密码被改绑定手机号怎么办 微信qq号登陆改密码忘记了怎么办 本人微信红包赌博输了50万怎么办 4g飞享套餐话费用完了怎么办 手机丢了查话费欠了几百块怎么办 注销电信手机卡里面的余额怎么办 联通手机卡注销后里面的余额怎么办 手机卡网上销户以后剩余话费怎么办 联通新号注册微信发不了短信怎么办 韩博士装机卡在驱动恢复怎么办 xp打印后程序服务没有运行怎么办 刚注册的微信显示异常怎么办 不小心删了照片怎么办不要钱 qq邀请好友辅助验证成功后怎么办 微信申诉怎么让好友发验证码怎么办 微信申诉好友都删除了怎么办 恋与制作人原来的帐号不见了怎么办 手机号被别人注册了手机银行怎么办 想上老婆的陌陌号但要验证码怎么办 中国家医居民端注册信息有误怎么办 别人给我充的q币怎么办 qq忘记密码手机号码也换了怎么办 手机号码不用了微信忘记密码怎么办 手机号码注销了微信忘记密码怎么办 微信忘记密码手机号码也换了怎么办 微信钱包里的钱莫名少了怎么办 被骗给人冲q币了怎么办 支付宝账户异常无法领取红包怎么办 微信q币支付错了怎么办 王者荣耀不小心把点卷用了怎么办 微信绑定的qq号密码忘记了怎么办 微信红包实名认证没银行卡怎么办 手机烂了换新手机微信支付宝怎么办