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

Ngu*_*uận 2 android mqtt android-gradle-plugin react-native

我正在使用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"
Run Code Online (Sandbox Code Playgroud)

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

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

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

Len*_*rod 5

这可能是因为从 Andoird 9 开始默认不允许使用 HTTP。您可以在 AndroidMainfest.xml 中添加以下内容。

<application
    android:usesCleartextTraffic="true"

Run Code Online (Sandbox Code Playgroud)

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