Android 7.0引入了网络安全配置以支持使用自定义CA,但是Cordova如何支持它?我从Cordova的文档中找不到任何提示。
答案 0 :(得分:7)
您可以通过在edit-config
的Android平台上添加config.xml
标签来实现此目的,Cordova Android Plugin v7.0支持。
您将需要使用Google中的示例创建为本地Android应用程序创建的Network Security Config文件。
下一步,在Cordova config.xml
中,您可以使用edit-config
标签将networkSecurityConfig
属性添加到Application标签。然后,您只需要将Network Security Config文件作为应用程序的资源复制到res/xml
目录。
这是一个在您的应用程序config.xml中外观的示例
...
<platform name="android">
<edit-config xmlns:android="http://schemas.android.com/apk/res/android" file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
<resource-file src="network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
</platform>
...
答案 1 :(得分:0)
詹姆斯answered的工作原理是什么,但是如果您有一个无法指定域的应用程序,或者想要允许所有域的明文流量,我们需要在{{1}中设置{% if request.user == user_own %}
<a href="{% url 'update-page' user.channel_name %}">
<button class="btn btn-light btn-flw">profile setting </button>
</a>
{% else %}
<a href="{% url 'follow-unfollow' user_own.id follow_state%}">
<button class="btn btn-light btn-flw">{{follow_state}}</button>
</a>
{% endif %}
}在android:usesCleartextTraffic="true"
标签中。
因为,在Android P(版本9,API级别28)中,默认禁用明文支持。为此,只需在platforms/android/app/src/main/AndroidManifest.xml
内的<application>
中添加以下内容:
config.xml