ionic devapp падает на Android с плагином «Advanced HTTP» - PullRequest
2 голосов
/ 04 ноября 2019

Я разрабатываю приложение ionic 4, и у меня возникла проблема с CORS, поэтому я следовал этой статье https://ionicframework.com/docs/native/http/, чтобы установить плагин "advanced http". Я использую devapp для тестирования своего приложения.

Я пытаюсь http.post по URL-адресу токена Azure B2C с заголовками как { 'Content-Type': 'application/x-www-form-urlencoded'}

  • на iOS DevApp работает совершенно нормально
  • на Android Studio эмулятор работает нормально ionic cordova run android --emulator
  • на Android Устройство работает нормально ionic cordova run android --device
  • на Android, DevApp вылетает с ошибкой ниже (мне удалось получитьжурналы, используя adb logcat и обнаружили ошибку)

Нет виртуального метода getHttpUrlChecked (Ljava / lang / String;) Lokhttp3 / HttpUrl;в классе Лохттп3 / внутренний / внутренний;или его суперклассы (объявление 'okhttp3.internal.Internal' появляется в base.apk)

Некоторые посты в Интернете предполагают конфликт между различными плагинами cordova, но я начал с пустого шаблона и толькоиспользуется «cordova-plugin-advanced-http», DevApp мгновенно вылетает.

Есть предложения?

Заранее спасибо

1 Ответ

1 голос
/ 04 ноября 2019

Проблема, как правило, заключается в конфликте между библиотеками okHTTP:

https://github.com/silkimen/cordova-plugin-advanced-http/issues/130

Выполните "find" ("grep") без учета регистра во всех файлах сборки вашего проекта (package.json, build.gradle, config.xml, project.properties и т. д. и т. д.) для «okHTTP». Вы должны быть в состоянии найти - и вручную исправить - несоответствие в сборке Android.

В частности, похоже, вам придется взломать project.properties:

https://github.com/transistorsoft/cordova-background-geolocation-lt/issues/905

Пожалуйста, напишите обратно, что вы найдете.

PS:

Последняя версия okHTTP в 3.x - 3.14.4;последняя версия 4.x - 4.2.2:

https://square.github.io/okhttp/changelog

Вы НЕ ДОЛЖНЫ использовать версию более раннюю, чем 3.4, для "set / getHttpUrlChecked ()" дляработа.

...