#android #capacitor
#Android #конденсатор
Вопрос:
У меня есть Rest API, который в настоящее время работает в режиме HTTPS, 10 дней назад мои API-интерфейсы были запущены в режиме HTTP, для доступа к HTTP-API я использую приведенный ниже процесс:
AndroidMainfest.xml:
<application
android:networkSecurityConfig="@xml/network_security_config">
в папке res / xml, которую я создал network_security_config.xml
network_security_config.xml код:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">api.***.****.in</domain>
</domain-config>
</network-security-config>
Затем я могу получить доступ к API из приложения Android, но после преобразования моих API в режим HTTPS я не могу получить к нему доступ.
кто-нибудь может мне помочь с этим.
Комментарии:
1. Вам нужны эти строки, если вы используете HTTP API. Но если вы используете HTTPS API, удалите эти строки, и все будет хорошо.
2. похоже, ваш сертификат не подходит или ему не доверяет Android
3. @jcesarmobile Как я могу добавить сертификат на стороне клиента на Android
4. Вам не нужен сертификат на стороне клиента, вы должны использовать доверенный сертификат на сервере
5. @jcesarmobile Я могу получить доступ к Rest API из браузера, но из приложения для Android я не могу.
Ответ №1:
Вы можете добавить однострочный код в файл манифеста внутри тега приложения.
android:usesCleartextTraffic="true"
Пример:
<application
android:name=".MyApplication"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
Комментарии:
1. Я попытался добавить android:usesCleartextTraffic=»true», но я получаю эту ошибку: E / chromium: [ERROR:ssl_client_socket_impl.cc (946)] сбой рукопожатия; возвращено -1, код ошибки SSL 1, net_error -202