首先让我澄清一下,我知道这是一个非常糟糕的做法,并且我不会将此更改推送到我的生产代码中。但是有时我们需要调试应用程序的不可调试形式的某些更改,但是所有https url均失败,并显示以下错误
Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)
我已使用以下网络配置文件并将其添加到清单文件中。这可以在应用程序的可调试样式中运行,但仍然不能在不可调试的样式中运行。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
我有什么办法可以使用查尔斯(Charles)来监视我的Android应用程序中不可监听的网络通话吗?
答案 0 :(得分:0)
在创建需要使用Charls进行调试的发行版本时,请在应用程序上下文中的清单中。请在此之后添加android:debuggable="true"
,以尝试构建您的发行版并尝试使用Charls进行调试。
我没有尝试过,但这可能行得通。根据以下链接。
https://developer.android.com/training/articles/security-config.html
答案 1 :(得分:0)
这个对我有用:
{"ICM_ACTION_COMPATIBLE": true,
"context": null,
"name": "Custom Add Case Action",
"description": "An action to add cases from other solution",
"properties": [
{
"id": "label",
"title": "Add a custom Case",
"defaultValue": "Custom Add Case",
"type": "string",
"isLocalized":false
},
{
"id": "solution",
"title": "Solution",
"type": "string",
"isLocalized":false
},
{
"id": "caseType",
"title": "Case Type",
"defaultValue": "",
"type": "string",
"isLocalized":false
}
],
"events":[
{
"id":"icm.OpenAddCasePage",
"title":"Open Add custom Case Page",
"direction":"published",
"type":"broadcast",
"description":"Open Add Custom Case Page"
}
]
};