最近用charles嘗試抓取模擬器的包,但是無奈的是,還沒開始就卡在了安裝證書的這一步.
苦苦搜尋了各種教程,其中嘗試過"關閉防火牆",設置SSL Proxying Settings都無濟於事,模擬器中打開chls.pro/ssl
一動不動.
最后無意中搜到了Android7.0無法安裝證書關鍵字,一番折騰后,終於解決.所以記錄一下,方便以后查閱.
准備
本文的操作系統是win10
需要用到的軟件:
1.雷神模擬器,官網下載即可.
2.charles
3.adb的工具包,直接解壓即可使用.
下載地址
charles的設置
1.設置http代理.
Proxy-->Proxy settings
2.設置ssl
proxy-->ssl proxying settings
3.charles安裝證書
彈出證書安裝界面,點擊"安裝證書"
選擇當前用戶,
選擇: 將所有的證書都放入下列存儲:
直接下一步,最后確定提示"導入成功"
4.接着設置charles安裝移動端證書:
此時charles會彈出需要給模擬器設置http代理的ip以及端口(記住它,待會要用到):
adb的使用
直接在解壓的adb.exe所在目錄打開cmd,win10是直接在文件管理器地址欄輸入cmd回車即可.
這里提示一下,雷電模擬器用到的端口號是5555.
輸入: adb devices
,如果顯示的是"127.0.0.1:5555 offline "
可以通過adb kill-server
和adb start-server
開關閉和重啟adb,
還可以重啟雷電模擬器直到 輸入adb devices
顯示:
List of devices attached
emulator-5554 device
表明已經成功通過adb連接到模擬器了.
接下來就是關鍵的一步了,需要通過adb命令進行設置模擬器的http代理,需要用到上面記錄下來的http代理地址和端口:192.168.3.8:8888
1.為了確認,可以先清除一下模擬器的http代理:
adb shell settings delete global http_proxy
2.設置模擬器的代理:
adb shell settings put global http_proxy 192.168.3.8:8888
設置成功無提示.
模擬器下載證書.
設置完畢之后,就可以進入模擬器中,通過系統自帶的瀏覽器輸入chls.pro/sll
進行下載:
至此,全文完結.
關於adb命令的補充
1.adb devices顯示attached后,通過以下命令來進入到模擬器的shell命令模式:
adb -s emulator-5554 shell
輸入: exit 可以退出.
2.adb重新掛載到模擬器.
adb -s emulator-5554 remount
3.adb連接到模擬器
adb connect 127.0.0.1:5555
4.查看手機arch版本
adb shell getprop ro.product.cpu.abi
5.查看當前app運行的包名
adb shell dumpsys window | findstr mCurrentFocus
6.復制/data/misc/user/0/cacerts-added
中以.0為結尾的文件到目錄:/system/etc/security/cacerts
下,就可以抓取https的包了:
adb push a0b1c2d3.0 /system/etc/security/cacerts/