我正在使用 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/