您的位置:首页 > 移动开发

android新bug,解析app配置文件时出错

2014-11-24 19:04 225 查看
1. 下面这段manifest代码,你可以扔到你的某个activity中去,然后跑一下这个app,看看效果
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<data android:mimeType="*/*"/>
<data android:host="*"/>
<data android:scheme=""/>
</intent-filter>


2.分析:

(1)你看到的现象应该是,android framework 停止运行,google+停止运行之类的。

(2)为什么呢?下面是无根据的推敲,尚未有心思看源码,但是经过试验,大概差不多吧。

首先mimeType,host这两个全局匹配,在加上一个scheme=“”,系统解析的时候肯定是没处理好,只要这三个条件并存,必定会解析出错。

出错的入口:通过上面三个data中任一个startActivity都会crash,使用packageManager使用以上任一data作为filter来queryIntent也会崩,实际上就是只要packageManager去读取存在这个filter的包的信息的时候,就会抛出Parcel解析异常,类型是空指针。

有兴趣的猿们可以去看看源码的实现,利用这个bug配合root权限可能会对手机上所有app的正常功能造成影响,所以赶紧给google提bug啊。

BTW,谁扒出了真正原因,麻烦给我分享一下哈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: