ionic devapp在Android中使用“高级HTTP”插件

我正在开发ionic 4应用程序,但遇到了CORS问题,因此我按照本文https://ionicframework.com/docs/native/http/的要求安装了“高级http”插件。我正在使用devapp来测试我的应用程序。

我正在尝试http.post到标头为{ 'Content-Type': 'application/x-www-form-urlencoded'}的Azure B2C令牌URL

  • 在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;在Lokhttp3 / internal / Internal类中;或其上级类(“ okhttp3.internal.Internal”的声明出现在base.apk中)

一些在线帖子表明不同的cordova插件之间存在冲突,但是我从空白模板开始,仅使用“ cordova-plugin-advanced-http”,DevApp立即崩溃。

有什么建议吗?

预先感谢

yangjing314 回答:ionic devapp在Android中使用“高级HTTP”插件

通常的问题是okHTTP库之间存在冲突:

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

通过项目的所有构建文件(package.json,build.gradle,config.xml,project.properties等)对大小写不敏感的“ find”(“ grep”)进行“ 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()”正常工作。

本文链接:https://www.f2er.com/3170080.html

大家都在问