导航:首页 > 操作系统 > androidapi24

androidapi24

发布时间:2025-05-28 21:08:20

android 7.0 以上 Charles 和 Fiddler 无法抓取 HTTPS 包的解决方式

最近升级了 targetSdkVersion 到 28 后发现在 Android 7.0 以上机型 Charles 抓取 https 包时显示找不到证书,但是 Android 6.0 机型还是可以正常抓包。原因是因为从 Android 7.0 开始,默认的网络安全性配置修改了,具体请阅读官方文档 网络安全性配置 。

Android 6.0(API 23)及更低版本应用的默认网络安全性配置如下:

而在 Android 7.0(API 24)到 Android 8.1(API 27)的默认网络安全性配置如下:

而在 Android 9.0(API 28)及更高版本的默认网络安全性配置如下:

对比很容易发现,在 Android 7.0(API 24)到 Android 8.1(API 27),默认不再信任用户添加的 CA 证书,所以也就不再信任 Charles 和 Fiddler 抓包工具的证书,所以抓取 HTTPS 包时才会失败。而且在 Android 9.0(API 28)及更高版本上,不仅默认只系统预装的 CA 证书,还默认禁止所有明文通信(不允许 http 请求)。

所以解决该问题就需要应用信任 Charles 和 Fiddler 抓包工具的证书抓包工具即可。

最简单的解决方式是使用 Android 6.0 以下的网络安全性配置:

添加 res/xml/network_security_config.xml :

然后在清单文件中指向该文件:

这种解决方式有一个安全风险:正式版的应用会有被他人抓包的风险。

如何只在调试模式下允许抓包呢?

使用 <debug-overrides> 即可实现只在 android:debuggable 为 true 时才生效的配置:

网上有些解决方式是将 Charles 和 Fiddler 的证书添加到 raw 文件夹下的方式也可以,但是繁琐了点。

在 Android 9.0(API 28)以上允许部分 http 请求

最佳的解决方式肯定是全部使用 https 请求,安全性更高,如果有些请求或测试环境下还是需要使用 http 请求,需要在网络安全性配置添加白名单:

⑵ 【Android初级】如何正确获取WiFi列表

获取Android设备上的WiFi列表是一项常见的需求,但实现过程中需注意正确的步骤和方法。以下为简化版步骤,确保能获取到最新且准确的WiFi列表信息。

本地环境设定如下:

Android Studio版本:3.0.1;DEMO APK的Min SDK Version为API 23,Target SDK Version为API 24,Compile SDK Version为API 26;真机运行于Android 7.0系统。

获取WiFi列表的完整流程:

1. 开启WiFi并激活定位服务,确保设备能被正确识别和使用。

2. 在`onCreate`方法中动态申请`ACCESS_FINE_LOCATION`权限,以获取定位信息。

3. 同样在`onCreate`内注册广播接收器,以便在定位服务改变时接收通知。

4. 定义`mReceiver`类,并在布局文件中加入一个`Button`,以便触发WiFi扫描。

5. 在`AndroidManifest.xml`文件中声明`ACCESS_FINE_LOCATION`权限。

值得注意的是,申请权限的操作可能在`onCreate`中重复进行,这是因为Android系统可能在运行时才对应用权限进行检查,确保应用仅在实际需要时请求权限,而非仅在编译时声明。

实现过程中的常见误区:

一些开发者可能会在调用`startScan`方法后立刻调用`getScanResults`获取结果,但这会得到上一次扫描的WiFi列表,而非最新的信息。正确的做法是在接收器的`onReceive`方法中处理并获取扫描结果。

在实现过程中遇到任何问题或有不同见解,欢迎与我一起探讨,共享解决方案。

⑶ 如何查看android api

查看android api有两种方式:在线查看离线查看


1. 在线查看

在线查看一般是指在安卓开发者官网上直接查看,但这需要你的网络环境可以访问谷歌。

官方地址如下:

https://developer.android.com/reference/packages.html

目前最新的API是android 24,如下图,左边可以切换API的版本,右边可以切换显示包索引还是类索引。

依次打开Develop-->Reference,然后就可以看到API文档了。这个docs几乎包含了开发者官网的全部内容,所以除了查看API,还可以查看官方教程等资源。


另外,虽说这是离线文档,但里面包含了谷歌字体服务和几个连接谷歌的脚本,所以打开时可能会很慢。解决方案是用一个编辑器比如Notepad++,搜索各文件中包含的访问谷歌服务的网址字串,并将其替换为空串就可以了。

⑷ 如何查看Android SDK API文档

查看android api有两种方式:在线查看与离线查看。

1. 在线查看

在线查看一般是指在安卓开发者官网上直接查看,但这需要你的网络环境可以访问谷歌。

官方地址如下:

https://developer.android.com/reference/packages.html

目前最新的API是android 24,如下图,左边可以切换API的版本,右边可以切换显示包索引还是类索引。

依次打开Develop-->Reference,然后就可以看到API文档了。这个docs几乎包含了开发者官网的全部内容,所以除了查看API,还可以查看官方教程等资源。

另外,虽说这是离线文档,但里面包含了谷歌字体服务和几个连接谷歌的脚本,所以打开时可能会很慢。解决方案是用一个编辑器比如Notepad++,搜索各文件中包含的访问谷歌服务的网址字串,并将其替换为空串就可以了。

阅读全文

与androidapi24相关的资料

热点内容
mt反编译apk加密 浏览:514
标志重捕法标差算法 浏览:205
linux如何卸载jdk 浏览:618
单片机51开发板 浏览:971
绵阳在哪个app查社保 浏览:418
网剧程序员那么可爱女主身世 浏览:809
程序员的一天周报 浏览:97
安卓如何把涂鸦的图片还原 浏览:648
闹钟该怎么加密 浏览:230
编译原理答案第三版第二章 浏览:666
怎么快速把app放在文件夹 浏览:325
怎么截屏截长图安卓 浏览:291
javabean转json 浏览:40
python默认参数排列 浏览:621
官方体彩app下载哪个好 浏览:97
哪个app助农 浏览:202
南宁50m云服务器 浏览:601
查市值用哪个app 浏览:250
小圈app封了这些人去哪里了 浏览:866
开源可商用小程序源码 浏览:875