android - React Native MQTT.js 不适用于 Android 9+

标签 android react-native android-gradle-plugin mqtt

我正在使用 React Native 0.61 (CLI) 构建一个 Android 应用 并在此处使用常见的 MQTT.js 包:https://www.npmjs.com/package/mqtt (v.3.0.0)

这是我的build.gradle

buildToolsVersion = "28.0.3"
minSdkVersion = 25
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"

我使用 WebSocket 协议(protocol)连接到我自己的 mqtt 代理。

在 Debug模式下,一切都可以在任何手机上完美运行。但奇怪的是,当我通过命令发布 APK 时 (gradlew assembleRelease(已签名)),它无法连接到 Android 9+ 上的代理(两个模拟器)(Android 8 运行良好)

编译为本地代码时似乎出现了问题。

最佳答案

可能是因为Andoird 9以后HTTP默认是不允许的。你可以在AndroidMainfest.xml中添加以下内容。

<application
    android:usesCleartextTraffic="true"

您还可以使用配置 XML。为此你可以看到这个 blog

关于android - React Native MQTT.js 不适用于 Android 9+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59112767/

相关文章:

android - 屏幕中央的TextView

android - 应用程序关闭时广播接收器和服务不起作用(android)

android - 截断的 Logcat 异常消息

android - 在 React Native 应用程序中实现指纹登录

javascript - 如何在React Native中下载文件?

android - 工具栏中 SearchView 和 collapseIcon 之间的边距

android - 在 native react 中使用 map 时出错

Android 用 dex 转换类进行调试

android - Flutter:在根项目 'assembleStageDebug' 中找不到任务 'android'

android - 尝试构建一个应用程序,每次与 Gradle 同步时,我都会遇到相同的 3 个错误