導航:首頁 > 操作系統 > 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相關的資料

熱點內容
python運行系統指令 瀏覽:242
androidstring轉char 瀏覽:624
linux命令編寫 瀏覽:104
wordpress伺服器怎麼選 瀏覽:684
摩托車app下載哪個好 瀏覽:740
linuxvps掛載 瀏覽:124
c語言怎麼做文件夾 瀏覽:844
程序員愛低頭嗎 瀏覽:628
mongophpupdate 瀏覽:698
單片機最小系統電路摘要 瀏覽:64
湯不熱伺服器地址是什麼 瀏覽:730
什麼是linux命令 瀏覽:102
androidlog怎麼看 瀏覽:574
反壟斷法修訂數據演算法約束 瀏覽:587
linux格式化u盤命令 瀏覽:75
windows防反編譯 瀏覽:448
安卓40編譯器 瀏覽:217
邁克的命令 瀏覽:170
pdf循環播放 瀏覽:177
如何把安卓手機里的微信聊天記錄導入電腦 瀏覽:812