导航:首页 > 操作系统 > 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相关的资料

热点内容
汉语不能编译 浏览:820
程序员云笔记软件 浏览:938
oppo手机在桌面移除的app如何恢复 浏览:138
静心解压助眠音乐 浏览:994
说瓷PDF 浏览:45
压缩机占冰箱成本的多少 浏览:744
广联达加密锁怎么样是正版 浏览:802
outlook加密怎么查服务器和端口 浏览:219
如何让app自动更新 浏览:463
得力考勤机数据被加密了 浏览:216
删除思科某一条命令 浏览:518
c程序编译器手机 浏览:929
加密咸鱼等级 浏览:644
编程加机器人具体学的是什么 浏览:791
腾讯手机管家加密相册是哪个文件 浏览:850
对讲机频道怎么加密 浏览:568
华为北京服务器代理云空间 浏览:324
好多拉app怎么样 浏览:748
excel表格打开显示编译错误 浏览:420
java链接阿里云服务器 浏览:23