如何解决 Android7.0之后部分手机无法抓包
最近,测试提出来这么一个问题,说公司android7.0以上的手机没办法抓包,他们拿不到数据。很是尴尬。 难道是因为android7.0近两年兴起?还是因为以前的测试就根本没抓包,,,
好了进入正题,通过一波的查阅资料过后发现:android7.0+的版本新增了证书验证,https的安全证书手机端和电脑端都必须安装,这个是前提;又由于android手机多厂商系统定制的问题,可能有部分手机确实无法抓包,这里,对于抓包的问题上,我们在给测试打包的时候要对我们的项目进行添加设置: 默认新任所有证书。
这个操作其实是比较敏感的,线上不能带上这个配置;下面来说一下相关配置项:
1、在res-xml目录中创建一个名为 “network_security_config.xml”的文件夹:并且附上如下内容:
<network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" overridePins="true" /> <certificates src="user" overridePins="true" /> </trust-anchors> </base-config> </network-security-config>
2、在AndroidManifest里的<application>标签中,添加代码:
android:networkSecurityConfig="@xml/network_security_config"
3、重新运行项目,然后使用Charles抓包,成功。(要是你抓包不成功,请百度一下,如何使用Charles抓包,并且进行相关配置)
关于android普通抓包的问题是解决了,发现一个新问题:android7.0以上的手机,开着网络代理访问不了详情页(webview)
我们需要在webview的WebViewClient中,将下面这行代码给注释掉
super.onReceivedSslError(view, handler, error);
这一段代码是为了忽略掉SSL证书错误,因为开启代理后网络会变得不安全,证书会错误,webview检测到证书错误之后就直接让webview白板,不请求任何数据。 这一节是为了忽略掉父类的处理,然后默认走下去。
这个问题其实还是挺棘手的。写个博客记录一下。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android屏幕适配之百分比布局
为什么使用百分比布局 由于Android系统的碎片化发展导致了市面上多种分辨率、多种屏幕密度共存,这对我们的屏幕适配增加了不少的难度,在布局方面我们都知道可以通过LinearLayout的layout_weight属性来进行适配,但是在某些情况下我们要向用这种方法进行适配就必须进行多层布局嵌套,而这则会导致布局文件复杂,增加渲染层次,致使性能下降。针对这种情况google为我们提供了一个百分比布局兼容库:Android Percent Support Library,解决了上述的问题,目前它支持RelativeLayout和FrameLayout的百分比布局,不过已经有大牛在GitHub上面开源了LinearLayout的百分比布局支持库。 如何使用百分比布局 1.添加依赖 dependencies { ... implementation 'com.android.support:percent:27.0.2' } 2.属性讲解 在函数库里面我们主要用到两个类: PercentRelativeLayout PercentFrameLayout 它们主要有以下属性 app:layout...
- 下一篇
Support Annotation Library注解使用详解
一.Support Annotation Library能做什么 Support Annotation Library包含一系列的元注解,能够帮助开发者在编译期间发现可能存在的Bug,另外Android Studio本身就支持Annotation Library所以开发者无需再次添加依赖。 二.常用注解详解 1.@NonNull与@Nullable注解 @NonNull:表示参数或者返回值不能为空。 @Nullable:表示参数或者返回值可以为空。 新建一个测试方法给参数加上@NonNull并且传参为null,这时方法会报警告,并且用Android Lint进行检查也会显示警告。 image 当切换成@Nullable注解时警告则会消失 image 2.资源类型的注解 AnimatorRes:标记资源类型为android.R.animator类型 AnimRes:标记资源类型为android.R.anim类型 AnyRes:标记为任何一种资源类型 ArrayRes:标记资源类型为android.R.array类型 AttrRes:标记资源类型为android.R.attr类型 Bool...
相关文章
文章评论
共有0条评论来说两句吧...