如果你幸运在2025使用RN开发集成QQ登录,react-native-qq-lib报错指南希望能有帮助

341 阅读1分钟

如果你也非常幸运的在2025用RN接入QQ登录,并且是一位几乎没有客户端开发经验的前端工程师,那你大概率会首先找到react-native-qq

乍一看8 years ago,倒吸一口凉气,再看最新close issue on Oct 13, 2021,算了在找找吧。

又找到了react-native-qq-lib 4 years ago,最新close issue on Sep 14, 2024,接受。

认认真真一步一步配置,不敢出一点差池。

IOS不支持在模拟器运行,先不管了,插上真机,居然直接能用!感人。

Andriod则没有顺利可言,红色加粗的Build Fail,全部的警告和错误混在一起变红,让人hrv直降。

但其实主要就是java版本带来的问题

报错解决方案
找不到android.support.v4.app.Fragment在android/gradle.properties文件(不是node_modules/react-native-qq-lib/android)中添加: android.useAndroidX=true android.enableJetifier=true (一开始被AI误导往里面引入很多AndroidX,实际不需要,只要保证有这两个属性就可以了)
Could not find method compile在node_modules/react-native-qq-lib/android/build.gradle中将compile更改为implementation
Java版本不兼容更新node_modules/react-native-qq-lib/android/build.gradle中的: - compileSdkVersion提升至35 - minSdkVersion提升至24 - targetSdkVersion提升至35

然后终于看到绿绿的BUILD SUCCESS了!结果打开APP还是报错😇

报错解决方案
TypeError: Cannot read property 'isQQInstalled' of null, js engine: hermes确保android/gradle.properties中设置newArchEnabled=false
手机安装了QQ但一直提示未下载在node_modules/react-native-qq-lib/android/src/AndroidManifest.xml中为 Android 11+ 兼容性添加查询声明: <queries><intent><action android:name="android.intent.action.VIEW" /><data android:scheme="mqqopensdkapi" /> </intent></queries>

整完了都觉得真简单啊,来时路的痛全部忘光。

必须感谢cloud-claude-3.7-sonnet-thinking,提供了太多精准情报,让人感到一路始终有希望。